APT10035LLL MOSFET-based high voltage short pulse
https://aip.scitation.org/doi/pdf/10.1063/1.5021211
MOSFET Gate Driver Circuit Design for High Repetitive (200kHz) High Voltage (10kV) Solid-State Pulsed-Power Modulator
艸 艹 丱 卝 ㄍㄨㄞ 卝部 艸 草 ㄘㄠˇ
丱 ㄏㄨㄥˋ 丱 ㄍㄨㄢˋ
苟、敬、護、獲、雚、觀、夢、萬、舊
https://www.ptt.cc/bbs/Wrong_spell/M.1222961505.A.6EC.html
https://www.upwork.com/hire/bootstrap-designers/eg/ismailia/
https://www.templatesthemes.net/tags/dashboard/
https://www.upwork.com/hire/javascript-developers/eg/ismailia/
JavaScript VUE.js EXTJS Angular React
MVC MVP MVVM Design Pattern Architecture JavaScript Framework
JavaScript Framework
Localstorage SessionStorage Cookies WebSQL IndexedDb
EXTJS React Spring Mvc
rich web application frameworks
https://en.wikipedia.org/wiki/List_of_rich_web_application_frameworks
https://en.wikipedia.org/wiki/Mobile_development_framework
javascript CanvasKit Skia WebAssembly
Angular vs Knockout.js vs Vue.js vs Backbone.js: Which JavaScript Framework Suits
https://en.wikipedia.org/wiki/List_of_LM-series_integrated_circuits
https://www.geeksforgeeks.org/analog-to-analog-conversion-modulation/
https://www.neophotonics.com/what-is-phase-modulation/
https://www.monolithicpower.com/en/power-factor-correction
identify max switching frequency of a MOSFET switching frequency Eon Freq wheeling diode Power MOSFET switching behavior
https://www.analog.com/ru/app-notes/an-140.html
High Speed 650V IGBTs for DC-DC Conversion up to 200 kHz
200Khz switching frequency MOSFET wheeling diode 650v
Maximizing the Performance of GaN with Ideal Diode Mode
https://www.ti.com › lit › snoa932
PDF
Dead Time Loss Versus Dead Time Settings With 200kHz Switching Frequency. ... between TI GaN with ideal diode mode, a 650V SiC MOSFET, discrete e-mode.
application. A 1200V, 160mohm SiC MOSFET from Cree Inc ...
https://www.richardsonrfpd.com › docs › rfpd › C...
PDF
limits the switching frequency at or below 200 kHz. ... Body diode recovery time trr. Body diode charge Qrr. 1200V. 650V. 650V.
https://electronics.stackexchange.com/questions/291342/freewheeling-diode-needed
Dual Operational Amplifiers LM358
MOSFET 2N7000 N-Channel 60-V (D-S) MOSFET - Vishay Siliconix N-Channel Enhancement-Mode Vertical DMOS FET, Microchip Technology.
FDS4935A - MOSFET – Dual, P-Channel, PowerTrench 30 V
https://github.com/decfpc/DelphiEncryptionCompendium/blob/master/DECCipher.pas
https://en.wikipedia.org/wiki/Caesar_cipher
TDataSetProvider
TClientdataset TFDMemTable
TBlobField
chm file data Blob HTML Images Binary Fields
MIME types IANA media types
LZX LZ77 compression algorithm
DataSetProvider clientdataset LOCAL DATABASE tables
https://p0w3rsh3ll.wordpress.com/2013/06/07/about-keyboard-layouts/
https://social.technet.microsoft.com/Forums/en-US/2a46ae38-2202-4286-9b46-35bc6e60e861/what-command-can-be-run-from-the-cmd-to-inquire-about-the-language-layout-that-is-used-right-now?forum=w7itproui
For the current input language you can try using
reg query "HKCU\Keyboard Layout\Preload" /v 1
The return value includes an eight digit hex value. The first four digits indicate either default layout for the language (all zeros) or a variation (non-zero). The last four digits are the locale id - see:
http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx
From this table, you can see in the example above my input language is English - Australia.
For the keyboard layout you could try
WMIC Path Win32_Keyboard Get Layout
0409 is an English - US keyboard.
For a few other ideas/methods try reading
http://p0w3rsh3ll.wordpress.com/2013/06/07/about-keyboard-layouts/
About keyboard layouts
Posted on June 7, 2013
A colleague from the helpdesk team recently asked if I could report the keyboad layout set before users log onto the computer.
I started digging into WMI classes by typing
Get-CimClass -ClassName *Keyboard*
Then did:
Get-CimInstance Win32_Keyboard
… and noticed the Layout property.
Both the MSDN page about the WMI Win32_Keyboard class…
…and the following powershell commands…
([wmiclass]'Win32_Keyboard').GetText("MOF")
([wmiclass]'CIM_Keyboard').GetText("MOF")
…confirmed that the layout property is returned as a string value.
The problem with this value is that it’s not human readable and represents actually a hexadecimal value.
The problem with this value is that it’s not human readable and represents actually a hexadecimal value.
Although I can find the mapping of hexadecimal values to a user friendly value in the following registry key HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes, I decided to go another way.
First, do you know that you can use DISM.exe locally:
IEnumTfLanguageProfiles = interface
['{3D61BF11-AC5F-42C8-A4CB-931BCC28C744}']
function Next(ulCount: Cardinal; const pProfile: PF_LANGUAGEPROFILE; out pcFetch: Cardinal): HRESULT; stdcall;
MSDN
HRESULT Next( ULONG ulCount<!---->,
TF_LANGUAGEPROFILE* pProfile<!---->,
ULONG* pcFetch<!----> );
Parameters
ulCount
[in] Specifies the number of elements to obtain.
pProfile
[out] Pointer to an array of TF_LANGUAGEPROFILE structures that receives the requested data. This array must be at least ulCount elements in size.
pcFetch
[out] Pointer to a ULONG value that receives the number of elements obtained. This value can be less than the number of items requested. This parameter can be NULL.
Next(int count, [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)]
TF_LANGUAGEPROFILE[] profiles, out int fetched);
type
PF_LANGUAGEPROFILE = ^TF_LANGUAGEPROFILE;
TF_LANGUAGEPROFILE = packed record
clsid: TGUID;
langid: smallint;
catid: TGUID;
fActive: WordBool;
guidProfile: TGUID;
end;
IEnumGUID = interface
['{0002E000-0000-0000-C000-000000000046}']
function Next(celt: Cardinal; out rgelt: TGUID; out pcFetched: Cardinal): HRESULT; stdcall;
function Skip(celt: Cardinal): HRESULT; stdcall;
function Reset: HRESULT; stdcall;
function Clone(out ppEnum: IEnumGUID): HRESULT; stdcall;
end;
IEnumTfLanguageProfiles = interface
['{3D61BF11-AC5F-42C8-A4CB-931BCC28C744}']
function Clone(out ppEnum: IEnumTfLanguageProfiles): HRESULT; stdcall;
function Next(ulCount: Cardinal; const pProfile: PF_LANGUAGEPROFILE; out pcFetch: Cardinal): HRESULT; stdcall;
function Reset: HRESULT; stdcall;
function Skip(ulCount: Cardinal): HRESULT; stdcall;
end;
ITfInputProcessorProfiles = interface
['{1F02B6C5-7842-4EE6-8A0B-9A24183A95CA}']
function Register(const clsid: TGUID): HRESULT; stdcall;
function Unregister(const clsid: TGUID): HRESULT; stdcall;
function AddLanguageProfile(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; const pchDesc: WideString; cchDesc: Cardinal; const pchIconFile: WideString; cchFile, uIconIndex: Cardinal): HRESULT; stdcall;
function RemoveLanguageProfile(const clsid: TGUID; langid: smallint; out guidProfile: TGUID): HRESULT; stdcall;
function EnumInputProcessorInfo(out ppEnum: IEnumGUID): HRESULT; stdcall;
function GetDefaultLanguageProfile(langid: smallint; const catid: TGUID; out clsid: TGUID; out guidProfile: TGUID): HRESULT; stdcall;
function SetDefaultLanguageProfile(langid: smallint; const clsid: TGUID; const guidProfile: TGUID): HRESULT; stdcall;
function ActivateLanguageProfile(const clsid: TGUID; langid: smallint; const guidProfiles: TGUID): HRESULT; stdcall;
function GetActiveLanguageProfile(const clsid: TGUID; out langid: smallint; out guidProfile: TGUID): HRESULT; stdcall;
function GetLanguageProfileDescription(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; out pbstrProfile: WideString): HRESULT; stdcall;
function GetCurrentLanguage(out langid: smallint): HRESULT; stdcall;
function ChangeCurrentLanguage(langid: smallint): HRESULT; stdcall;
function GetLanguageList(out ppLangId: pointer; out ulCount: Cardinal): HRESULT; stdcall;
function EnumLanguageProfiles(langid: smallint; out ppEnum: IEnumTfLanguageProfiles): HRESULT; stdcall;
function EnableLanguageProfile(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; fEnable: WordBool): HRESULT; stdcall;
function IsEnabledLanguageProfile(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; out fEnabled: WordBool): HRESULT; stdcall;
function EnableLanguageProfileByDefault(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; fEnabled: WordBool): HRESULT; stdcall;
function SubstituteKeyboardLayout(const clsid: TGUID; langid: smallint; const guidProfile: TGUID; hKL: pointer): HRESULT; stdcall;
end;
function TF_CreateInputProcessorProfiles(out profiles: ITfInputProcessorProfiles): HRESULT; stdcall; external 'msctf.dll';
https://github.com/ryancheung/ImeSharp
IterateSubKeys(Registry.CurrentUser, "SOFTWARE\\Microsoft\\CTF\\TIP\\" + subKeyName + "\\LanguageProfile",
https://www.xujun.org/note-48842.html
文/黄忠成
[ ComImport , SecurityCritical , SuppressUnmanagedCodeSecurity ,
GetSystemMetrics WM_IME_CONTROL
https://docs.microsoft.com/zh-TW/windows/win32/intl/nls-terminology
code ImmGetCandidateList
https://docs.microsoft.com/zh-tw/windows/win32/intl/input-method-manager
https://docs.microsoft.com/zh-tw/windows/win32/intl/input-method-manager-messages
https://mugichoko.hatenablog.com/entry/2018/10/27/003856
https://dragon-john.blogspot.com/2013/06/c-win7.html
delphi message queue registing Window procedure AllocateHWnd RegisterWindowMessage DeallocateHWnd
https://zarko-gajic.iz.hr/receive-windows-messages-in-your-custom-delphi-class-nonwindowed-control-object/
Window procedure
https://stackoverflow.com/questions/36079268/bringing-tcallbackthunk-to-64-bit-via-anonymous-function
http://computer-programming-forum.com/31-pascal/a8757a5d056efcad.htm
https://www.programmersought.net/article/334918782.html
https://edn.embarcadero.com/article/10323
TWndMethod
TWinControl.MainWndProc
TWinControl.WndProc
TControl.WndProc
TObject.Dispatch
TWinControl.DefaultHandler
TControl.Perform
TWinControl.Broadcast
TWinControl.WMPaint
TWinControl
https://blog.actorsfit.com/a?ID=00200-873e72f4-0375-4905-a5ba-9f1d7cdb85b4
TranslateMessage
DispatchMessage
PostMessage
GetMessage
PeekMessage
https://stackoverflow.com/questions/50041183/properly-overriding-wndproc
https://docwiki.embarcadero.com/RADStudio/Sydney/en/The_WndProc_Method
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerwindowmessagea
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Declaring_a_New_Message-handling_Method
TApplicationEvents RegisterWindowMessage Message Event
https://www.codeproject.com/Articles/546/Message-Management#Registered%20Window%20Messages
https://edn.embarcadero.com/article/38447
https://stackoverflow.com/questions/52380172/sendmessage-fail-using-registerwindowmessage-api
Adventures in Delphi 6 Messaging
https://www.informit.com/articles/article.aspx?p=27217&seqNum=9
https://stackoverflow.com/questions/48670592/invoke-jni-onload-from-delphi
https://developer.android.com/training/articles/perf-jni
https://community.embarcadero.com/article/technical-articles/1040-using-the-android-jni-bridge-to-open-a-pdf
Using the Android JNI bridge to open a PDF
Delphi ZeroPlayer Library Android dynamic library
https://docwiki.embarcadero.com/Libraries/Sydney/en/System.IOUtils.TPath.GetLibraryPath
uses
..., Embarcadero.Jni
const
LIBNAME = 'libtest.so';
function try_load_dll: THandle;
var
libPath: string;
OnLoadFunc: TJNI_OnLoad;
hlib: THandle;
begin
Result := 0;
libPath := TPath.Combine(TPath.GetLibraryPath, libname);
hlib := LoadLibrary(PChar(libPath));
if hlib = 0 then Exit;
@OnLoadFunc := GetProcAddress(hlib, 'JNI_OnLoad');
if not Assigned(OnLoadFunc) then
begin
FreeLibrary(hlib);
Exit;
end;
OnLoadFunc(PJavaVM(System.JavaMachine), nil);
Result := hlib;
end;
https://question-it.com/questions/3417717/vyzov-jni_onload-iz-delphi
LIBNAME = 'libtest.so';
function try_load_dll:integer;
var libPath:system.string;
begin
_status:= 0 ;
libPath:=TPath.Combine(tpath.GetLibraryPath,libname);
_status := LoadLibrary(PChar(libPath));
result:=_Status;
if( _status= 0 )then exit;
end;
JNI_OnLoad
https://coderoad.ru/48670592/%D0%92%D1%8B%D0%B7%D0%B2%D0%B0%D1%82%D1%8C-JNI_OnLoad-%D0%BE%D1%82-Delphi
https://arophix.com/2017/12/01/android-jni/
https://www.programmersought.net/article/329130475.html
https://programmer.ink/think/jni_ndk-advanced-programming-guide-part-2.html
JNI_NDK Advanced Programming Guide Part
Process memory usage
GetProcessWorkingSetSize() SetProcessWorkingSetSize()
h,mMin,mMax:cardinal;
h:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, false, PID);
GetProcessWorkingSetSize(h,mMin,mMax);
CloseHandle(h);
h,newMin,newMax:cardinal;
h:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_SET_QUOTA, false, PID);
SetProcessWorkingSetSize(h, newMin, newMax);
https://w-shadow.com/blog/2006/09/04/process-memory-usage/
GetSystemTimes to get the total system timing.
GetProcessTimes to get timing for a specific process.
GetCurrentProcess to get current process handle.
PerfCounter Performance Counter
https://docs.microsoft.com/zh-tw/troubleshoot/windows-server/performance/manually-rebuild-performance-counters
https://www.codeproject.com/articles/9113/get-cpu-usage-with-getsystemtimes
https://docs.microsoft.com/en-us/windows/win32/perfctrs/about-performance-counters
https://www.codeproject.com/Articles/10538/Getting-CPU-Usage-in-a-Multiprocessor-Machine
https://www.codeproject.com/search.aspx?q=cpu++usage&doctypeid=1%3b2%3b3%3b13%3b11%3b17
Using TTask from the Parallel Programming Library
https://docwiki.embarcadero.com › Sydney
TTask creates and manages interaction with instances of ITask. ITask is an interface that provides a range of methods and properties to Start, Wait, Cancel and ...
System.Threading.TTask - RAD Studio API Documentation
https://docwiki.embarcadero.com › Syste...
TTask is a class managing and representing procedures that can be executed in parallel threads. An instance of TTask represents a single task or unit of ...
delphi Parallel 之TTask 初試- 程式人生
https://www.itread01.com › content
— Clear; SetLength(TaskArray, C); for I := 0 to C - 1 do begin TaskArray[I] := TTask.Create(procedure var Id: string; begin Id := TThread.
Introducing the TTask class | Delphi GUI Programming with ...
https://subscription.packtpub.com › book
TTask.Run( procedure begin // Do something end ); Copy. We should recall the TThread.CreateAnonymousThread class function but a bit more abstracted.
https://www.codetd.com/en/article/9464576
http://delphi.org/2015/02/parallel-for-loops/
https://github.com/MarcoDelphiBooks/ObjectPascalHandbook104
https://grantmcdermott.com/ds4e/parallel.html
https://github.com/eStreamSoftware/delphi-ppl
delphi CPU affinity mask Thread Affinity Mask
SetProcessAffinityMask - Select more than one processor?
https://stackoverflow.com/questions/9078838/setprocessaffinitymask-select-more-than-one-processor
function CombinedProcessorMask(const Processors: array of Integer): DWORD_PTR;
i: Integer;
Result := 0;
for i := low(Processors) to high(Processors) do
Result := Result or SingleProcessorMask(Processors[i]);
function ProcessorInMask(const ProcessorMask: DWORD_PTR;
const ProcessorIndex: Integer): Boolean;
Result := (SingleProcessorMask(ProcessorIndex) and ProcessorMask)<>0;
得知自己在某個cpu core 上
https://stackoverflow.com/questions/33571061/get-the-percentage-of-total-cpu-usage
Get the Percentage of Total CPU Usage
CPU 負載
https://github.com/aadamfr/Super_macro/blob/master/adCpuUsage.pas
AdCpuUsage
How to monitor CPU and network utilization
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/mt708809(v=vs.85)
object employee employeeID DepartmentID national identity
National Identification Number
national identity card number database
National Identification Number (NIN)
National Identity Card (NIC)
National IDs Around the World — Interactive map
National ID Card
https://en.wikipedia.org/wiki/National_identification_number
https://en.wikipedia.org/wiki/Belgian_identity_card
https://en.wikipedia.org/wiki/Lithuanian_identity_card
https://en.wikipedia.org/wiki/Passport
Entity Framework 4: Then and Now
https://daveswersky.wordpress.com/2010/05/26/entity-framework-4-then-and-now/
Architecture Hierarchy
Pascal Object Pascal Pascal Script Oxygene Clascal Concurrent Pascal SuperPascal
https://handwiki.org/wiki/Software:Dev-Pascal
https://www.pilotlogic.com/sitejoom/index.php
MonoDevelop pascal
CodeTyphon
PascalABC.NET
Dev-Pascal
Lazarus
Free Pascal IDE
Delphi
KDevelop
MIDletPascal
Morfik
MSEide
Understand
Visual Studio via Oxygene
PocketStudio
SharpDevelop
RemObjects Oxygene Object Pascal
Delphi Prism
Groovy
Eclipse GDT
IntelliJ IDEA
NetBeans
SlickEdit
https://handwiki.org/wiki/Software:Dev-Pascal
https://en.wikipedia.org/wiki/Integrated_development_environment
https://stackoverflow.com/questions/524058/net-or-mono-vs-qt-which-one-for-cross-platform-development
https://pl.wikipedia.org/wiki/Delphi_Prism
Delphi.NET
Kylix
Lazarus
C#
C++/CLI
Delphi.NET
Nemerle
Oxygene
Visual Basic.NET
.NET
Mono
DotGNU
ROTOR
MonoDevelop
SharpDevelop
https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Pascal.2C_Object_Pascal