2022年6月29日 星期三

Transparent lignin pressure Delignification Maryland Super wood could replace steel hydroxide Lignin-Retaining Transparent Wood

 Transparent  lignin pressure Delignification

 

 https://www.industrytap.com/scientists-create-super-wood-strong-steel/44868

 

 https://www.nature.com/articles/s41598-020-66916-8

Maryland  Super wood could replace steel hydroxide 

The wood is first boiled in a liquid mix of sodium hydroxide and sodium sulfite to partially remove lignin


https://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cssc.201701089

Measurement of moisture-dependent ion diffusion constants in wood cell wall layers using time-lapse micro X-ray fluorescence microscopy


remove lignin acetate ester  h2o2

2022年6月25日 星期六

AES implementations | Crypto Wiki | Fandom

 https://cryptography.fandom.com/wiki/AES_implementations#Delphi

2022年6月23日 星期四

ss7 tracking location hide mcc mnc lac How to find the Cell Id location with MCC, MNC, LAC and CellID (CID). CellTower Locator Track down a GSM/WCDMA/TD-LTE/FDD-LTE cell phone online using LAC (Location Area Code) and Cell ID ,track down a CDMA/CDMA2000 cell phone online using SID,NID and BID, and display its location on Maps.

 https://cellidfinder.com/articles/how-to-find-cellid-location-with-mcc-mnc-lac-i-cellid-cid

boost spirit lex ractical grammars parser Lex - Writing Lexical Analyzers Boost C++ Libraries

 https://valelab4.ucsf.edu/svn/3rdpartypublic/boost/libs/spirit/doc/html/spirit/lex/lexer_introduction.html

biometrics face facial recognition jaston Delphi Magic: Reconocimiento de caras con Delphi

 https://delphimagic.blogspot.com/2011/08/reconocimiento-de-caras-con-delphi.html

delphi opf dfm database generated from frame delphi opf orm livebindings

 https://stackoverflow.com/questions/667891/runtime-changeable-orm-opf-object-persistence-framework-for-delphi

 tiOPF
    
Free, Open Source Object Persistence Framework for
Free Pascal & Delphi

http://tiopf.sourceforge.net

 http://tiopf.sourceforge.net/Support.shtml

 https://www.json.org/json-en.html

https://sourceforge.net/projects/lkjson/

https://github.com/EtheaDev/InstantObjects 

delphi  dfm database generated   livebindings

Autocomplection in RichEdit Control Word recognition RichEdit RichText Editor RichTextEditor RichEditBox

 https://www.codeproject.com/Articles/2557/Autocomplection-in-RichEdit-Control

Receive Windows Messages In Your Custom Delphi Class – NonWindowed Control/Object Žarko Gajić

 https://zarko-gajic.iz.hr/receive-windows-messages-in-your-custom-delphi-class-nonwindowed-control-object/

 

WM_MY_APP_MESSAGE := RegisterWindowMessage('MSG_MY_APP_MESSAGE');

Ploting

 https://github.com/maxkleiner/maXbox3

http://www.softwareschule.ch/maxbox.htm

maXbox a script tool engine, compilerlib all in one exe! Build to teach/ develop under Windows and Linux (CLX) to set Delphi with no install. maXbox has RemObjects PascalScript smart code. With include,events print, decompile, syncheck, templates, VM-, and DLL support. +Indy,Jedi,CGI,DMath,CAI,FLC5 & Systools.4.0 with CryptoBox4 and ComPort for Arduino!, OS Lib mX4- Build mX4.7.6.10
maXbox Pure Code Blaise Pascal Mag


rxlib/units/RxVCLUtils.pas
old-delphi-codes/Vclutils.pas at master - GitHub

{ Windows API level routines }

procedure StretchBltTransparent(DstDC: HDC; DstX, DstY, DstW, DstH: Integer;
  SrcDC: HDC; SrcX, SrcY, SrcW, SrcH: Integer; Palette: HPalette;
  TransparentColor: TColorRef);
procedure DrawTransparentBitmap(DC: HDC; Bitmap: HBitmap;
  DstX, DstY: Integer; TransparentColor: TColorRef);
function PaletteEntries(Palette: HPALETTE): Integer;
function WindowClassName(Wnd: HWnd): string;
function ScreenWorkArea: TRect;
{$IFNDEF WIN32}
procedure MoveWindowOrg(DC: HDC; DX, DY: Integer);
{$ENDIF}
procedure SwitchToWindow(Wnd: HWnd; Restore: Boolean);
procedure ActivateWindow(Wnd: HWnd);
procedure ShowWinNoAnimate(Handle: HWnd; CmdShow: Integer);
procedure CenterWindow(Wnd: HWnd);
procedure ShadeRect(DC: HDC; const Rect: TRect);
procedure KillMessage(Wnd: HWnd; Msg: Cardinal);

{ Convert dialog units to pixels and backwards }

function DialogUnitsToPixelsX(DlgUnits: Word): Word;
function DialogUnitsToPixelsY(DlgUnits: Word): Word;
function PixelsToDialogUnitsX(PixUnits: Word): Word;
function PixelsToDialogUnitsY(PixUnits: Word): Word; 

 

https://www.twblogs.net/a/5b8887032b71775d1cdcd7ec

OffsetWindowOrgEx MoveWindowOrg GetViewportOrgEx OffsetViewportOrgEx

https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-offsetwindoworgex

https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-offsetwindoworgex

 

Date and Time Functions System.Diagnostics.TStopwatch

 http://agnisoft.com/delphi/jclhelp/Date.htm

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Diagnostics.TStopwatch 

Project JEDI Code Library (JCL) - TJclCounter.

http://agnisoft.com/delphi/jclhelp/

coordinates Graph delphi Plotting

 coordinates Graph delphi

 

https://docwiki.embarcadero.com/CodeExamples/Sydney/en/FMXTPlotGrid_(Delphi)

 http://www.davdata.nl/math/functionplotting.html

 https://www.delphipower.xyz/dotnet_2/windows_coordinate_system.html

 https://torry.net/pages.php?id=197

 http://science4all.nl/?Programming___Delphi

 https://www.dplot.com/software-developers.htm

 https://www.chiefdelphi.com/t/shuffleboard-coordinate-display/352304

http://helpcentral.componentone.com/docs/c1chart2d/frequencygraph1.htm

https://wiki.lazarus.freepascal.org/TAChart_documentation

https://sourceforge.net/directory/?q=delphi%203d%20plot

https://github.com/MaiconSoft/DelphiBoostLib

https://rosettacode.org/wiki/Plot_coordinate_pairs#Delphi

http://sheepdogguides.com/dt3t.htm


free pascal category chatting plot

https://wiki.freepascal.org/Networking

https://wiki.freepascal.org/Category:Charting

 https://wiki.freepascal.org/TAChart_Tutorial:_Userdefined_ChartSource

 https://wiki.freepascal.org/PlotPanel

This page contains proposals and ideas, which have lead to the current implementation and for further features.

https://wiki.freepascal.org/Generics_proposals


Orthogonal Coordinate Systems
(coordinates mutually perpendicular)
Spherical Coordinates
Cylindrical Coordinates
Cartesian Coordinates


https://en.wikipedia.org/wiki/Cartesian_coordinate_system

https://docs.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-types-of-coordinate-systems-about

http://www.functionx.com/bcb/gdi/gdicoord.htm

https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.MoveWindowOrg



Spherical coordinate system and corresponding unit vectors

https://en.wikipedia.org/wiki/Vector_fields_in_cylindrical_and_spherical_coordinates

https://www.mdpi.com/2218-6581/11/2/30/htm


DMath DirectXMath delphi vector Plotting

 https://stackoverflow.com/questions/5717829/where-can-i-get-a-delphi-pascal-implementation-of-excel-style-polynomial-regress

 https://github.com/Microsoft/DirectXMath

 http://directxfordelphi.blogspot.com/

https://github.com/CMCHTPC/DirectXMath 


https://stackoverflow.com/questions/8951509/modern-opengl-vbo-glm-and-matrix-stacks

OpenGL Mathematics  GLM math

https://wiki.freepascal.org/LMath

GLScene is an OpenGL based 3D library for Delphi and C++Builder. It provides visual
http://glscene.sourceforge.net/wikka/

https://www.codeproject.com/Articles/23736/Creating-OpenGL-Windows-in-WPF

https://github.com/arkanis/single-header-file-c-libs

http://vmml.github.io/vmmlib/
vmmlib - a templatized C++ vector and matrix math library
Its basic functionality includes a vector and a matrix class, with additional functionality for the often-used 3d and 4d vectors and 3x3 and 4x4 matrices.

https://github.com/Microsoft/DirectXMath

https://www.g-truc.net/project-0016.html
OpenGL Mathematics (GLM)
OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.

https://www.freepascal.org/docs-html/rtl/math/index-5.html
https://www.freepascal.org/docs-html/rtl/math/index.html

GLScene VectorGeometry.pas
https://github.com/cutec-chris/GLScene/blob/master/Source/glscene.inc
https://github.com/cutec-chris/GLScene/blob/master/Source/glzbuffer.pas


https://github.com/topics/matrix-functions?l=c%2B%2B













2022年6月22日 星期三

Scientific vector plot math graph library Scientific Grapher Calculator Scientific Grapher Plotting

 https://listoffreeware.com/best-free-scientific-graph-software-windows/

 https://www.ilovephd.com/5-free-data-analysis-and-graph-plotting-software-for-thesis/

https://en.cppreference.com/w/cpp/links/libs

Scientific graphic calculator Plotting

  Scientific graphic calculator Plotting

http://jmn-lib.sourceforge.net/jmn_lib.htm#Parser0

https://second.wiki/wiki/atcalc
https://en.smath.com/view/SMathStudio/summary



 

TMathParser TPSScript  pascal


https://wiki.freepascal.org/Pascal_Script_Examples


https://sourceforge.net/projects/atcalc/
http://metamorphs.blogspot.com/2013/12/electronic-calculations-ecalcs.html



http://jmn-lib.sourceforge.net/jmn_lib.htm#Parser0

https://www.datamaster2003.com/






JVCL (JEDI Visual Component Library) : http://www.delphi-jedi.org/. Check dxgettext support.
SynEdit of several authors: http://synedit.sourceforge.net.
TExtendedList of Sébastien Doeraene's SJRDUnits: http://sjrd.developpez.com/. You can use the version that is attached with my source.
Apprehend Screen Capture of William Miller: http://www.hicomponents.com/apprehend/Apprehend.htm.
For database programs:
tDBF component for Delphi: https://sourceforge.net/projects/tdbf/
ZeosDBO-6.6.5-stable from Zeos Development Group: http://www.sourceforge.net/projects/zeoslib
For some database programs also are recommended:
(c) TeeChart Pro v5 from David Berneda: http://www.steema.com
(c) QuicReport Pro de QuSoft: http://www.qusoft.com
It is not required:
(But used):
ImageFileLib of Michael Vinther: http://www.logicnet.dk/lib/
TGIFImage of Finn Tolderlund: http://www.tolderlund.eu/delphi/
TPMath of Jean Debord: http://www.unilim.fr/pages_perso/jean.debord/tpmath/tpmath.htm
HTMLHelpViewer de Jan Goyvaerts: http://download.jgsoft.com/helpscribble/UseHTMLHelp.zip

2022年6月21日 星期二

Pascal XE Pascal XE is an IDE for Pascal programming, it is user friendly and designed specially for beginners in programming. Pascal XE includes 3 free compilers: - Virtual Pascal Compiler 2.1.279 (default) - Free Pascal Compiler 3.0.4 - GNU Pascal Compiler 20070904

 https://sourceforge.net/projects/pascalxe/

Quartex Pascal – Research and development for the next generation object pascal

 Quartex Pascal – Research and development for the next generation object pascal

Welcome to the official website for Quartex Pascal, an exciting Object Pascal development toolchain for writing modern, HTML5 and node.js powered applications.

Quartex Pascal (short: QTX) is an object pascal IDE, compiler, run-time library and development system. Unlike traditional, native development systems, such as C/C++, Delphi or Freepascal, QTX generates high performance JavaScript – allowing developers to tap into web technology and enjoy the full might of modern mobile, desktop and server development.

 https://jonlennartaasenden.wordpress.com/2021/10/05/quartex-pascal-nearing-completion/

https://quartexpascal.wordpress.com/ 

https://jonlennartaasenden.wordpress.com/category/quartex-pascal/

wscript.shell delphi mrxray VBScript を操作 PowerShell を使用する

 http://mrxray.on.coocan.jp/Delphi/plSamples/950_VBScript.htm

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10170636575 

 

Set objWS = WScript.CreateObject ("WScript.shell")

https://msdn.microsoft.com/ja-jp/library/cc422072.aspx

http://mrxray.on.coocan.jp/Delphi/plSamples/490_CmdPrompt1.htm#06

http://www14.big.or.jp/~ken1/tech/tech15.html

2022年6月19日 星期日

win32 call net dll pinvoke vbscript How to Call a .NET DLL from a VBScript

 

 

 

 

 ExtendedProperties object - MicrosoftDocs/win32 - GitHub
https://github.com › docs › SecCrypto › e...
 
Instead, use Platform Invocation Services (PInvoke) to call the Win32 API function ... NET Cryptography with CAPICOM and P/Invoke may also be helpful.].

 

 

https://stackoverflow.com/questions/1823466/how-to-call-a-net-dll-from-a-win32-process

 https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/eew13bza(v=vs.71)?redirectedfrom=MSDN

You can use registration-free COM with .NET COM components - see here.

Another option is to use C++/CLI as a bridge. People are mostly familiar with using it to wrap unmanaged APIs to expose to managed code, but it actually works both ways - it is possible to compile with /clr, and yet produce a .dll assembly with plain unmanaged exports, which can be called from unmanaged code as usual. Here's a very simple example that exposes System::String::ToUpper that way:

 

 https://docs.microsoft.com/en-us/dotnet/framework/interop/registration-free-com-interop?redirectedfrom=MSDN

https://docs.microsoft.com/en-us/archive/msdn-magazine/2006/august/clr-inside-out-clr-hosting-apis

https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/eew13bza(v=vs.71)?redirectedfrom=MSDN


https://www.codeproject.com/Questions/613693/Creating-a-Win32-DLL-and-calling-from-a-NET-Applic


http://www.blong.com/Articles/DotNetInteropD8/Interop1/Win32AndDotNetInterop.htm


https://www.nuget.org/packages/PInvoke.Win32/


https://github.com/dotnet/pinvoke

https://blog.lindexi.com/post/%E6%8E%A8%E8%8D%90%E5%AE%98%E6%96%B9%E5%BC%80%E6%BA%90-PInvoke-%E5%BA%93-%E5%8C%85%E5%90%AB%E5%A4%A7%E9%87%8F-win32-%E5%B0%81%E8%A3%85.html


https://stackoverflow.com/questions/57501366/how-to-access-pinvoke-dll-from-dll-com-c-sharp-project

 https://msdn.microsoft.com/en-us/ie/aa288468(v=vs.94)
 https://msdn.microsoft.com/en-us/ie/system.runtime.interopservices.dllimportattribute(v=vs.94)
 http://pinvoke.net
https://www.mono-project.com/docs/advanced/pinvoke/

https://stackoverflow.com/questions/54537513/calling-iswowprocess2-from-c-sharp-net-p-invoke

pinvoke win32 call net Framework
https://github.com/lucasg/Dependencies
Between C# and C++: COM Interop, Marshaling, PInvoke and DLL Communitation
    What is the difference between pInvoke and COM Interop?
    Example COM Class (C# Programming Guide)
    平台叫用 (P/Invoke)https://docs.microsoft.com/zh-tw/dotnet/standard/native-interop/pinvoke
    Platform Invoke (P/Invoke) (上一個英文版)https://docs.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke

https://flylib.com/books/en/2.31.1/com_interop_pinvoke.html


https://stackoverflow.com/questions/71378349/how-do-i-call-a-net-core-6-0-dll-in-delphi

https://stackoverflow.com/questions/13839372/how-to-return-an-error-from-tcomobjectfactory-createcomobjectconst-controller

https://github.com/dotnet/runtime/issues/61231

https://www.codeproject.com/Tips/1038605/NET-Runtime-Library-for-Delphi

pinvoke win32 call net  delphi TComObject

http://www.blong.com/conferences/dcon2003/internals/profiling.htm

https://stackoverflow.com/questions/96042/whats-safecall

round rect Corner button rectangular region rounded corners Round Border CreateRoundRectRgn rectangular region rounded corners.

  round rect Corner button rectangular region rounded corners Round Border

The CreateRoundRectRgn function creates a rectangular region with rounded corners.
CreatePolyPolygonRgn
CreatePolygonRgn
CreateRectRgn
CreateRectRgnIndirect
DeleteObject
ExtCreateRegion
GetRegionData
Region Functions
Regions Overview
SelectObject

https://stackoverflow.com/questions/11675374/how-to-make-tframe-with-rounded-corners
https://github.com/pauloalvis/Delphi-PraButtonStyle

https://stackoverflow.com/questions/28486521/rounded-edges-in-button-c-sharp-winforms
https://stackoverflow.com/questions/21121968/how-do-i-create-button-with-rounded-corners-edges-on-winform-c
https://stackoverflow.com/questions/5755719/rounded-and-titled-tpanel-in-delphi-7
https://stackoverflow.com/questions/11675374/how-to-make-tframe-with-rounded-corners
https://stackoverflow.com/questions/42345751/firemonkey-hide-overflow-of-round-corners-using-stylebook
https://stackoverflow.com/questions/61159652/is-there-a-way-to-shape-a-button-around-its-picture-in-delphi

wincontrols round rect Corner CreateRoundRectRgn RoundedRadDropDownButton 



https://github.com/project-jedi/jvcl/blob/master/jvcl/run/JvThemes.pas

2022年6月17日 星期五

2022年6月15日 星期三

Free Core Line - Free Icons Set - 1000 customizable PNGs, SVGs, PDFs

 https://www.streamlinehq.com/icons/streamline-mini-line

2022年6月14日 星期二

curiously recurring template pattern delphi generics TLIST TBASE

curiously recurring template pattern
https://stackoverflow.com/questions/3991788/can-a-delphi-generic-class-descend-from-its-class-argument
https://blog.grijjy.com/2022/01/25/crgp/
The Curiously Recurring Generic Pattern
 

https://www.fluentcpp.com/2017/05/12/curiously-recurring-template-pattern/
The Curiously Recurring Template Pattern (CRTP) - Fluent C++
 

https://9to5answer.com/practical-uses-for-the-quot-curiously-recurring-template-pattern-quot
https://dev.to/sandordargo/the-curiously-recurring-template-pattern-crtp-46j7
The Curiously Recurring Template Pattern (CRTP)
 

https://dev.to/sandordargo/the-curiously-recurring-template-pattern-crtp-46j7
https://en.cppreference.com/w/cpp/language/crtp
https://www.geeksforgeeks.org/curiously-recurring-template-pattern-crtp-2/
https://rosettacode.org/wiki/Singleton
https://habr.com/en/post/307902/
Преобразование обычного класса в странно повторяющийся шаблон / Habr
 

https://wdv4758h.github.io/notes/cpp/crtp.html
CRTP (Curiously Recurring Template Pattern) — wdv4758h-notes latest 說明文件
 

https://stackoverflow.com/questions/43322010/generics-in-delphi-and-returning-a-reference-to-tlistclass
https://dm7blog.wordpress.com/2019/05/15/delphide-linked-list-ve-tlist-kullanimi/

2022年6月11日 星期六

Linking to Delphi (API interface) Necessary files The following files are needed in order to link the DLL into Delphi programs: TcAdsDll.dll - dynamic function library

 https://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_bdelphi/html/TcAdsDLL_COM_Delphi_Setup.htm&id=

 Linking to Delphi XE2 (COM interface)

The TcAdsDll.dll type library has to be imported (TcAdsDll_TLB.pas unit). Depending on the Delphi version, manual adjustments may be required in order to ensure error-free translation.
Requirements

    Delphi XE2;
    TwinCAT 2.9 or higher;
    TcAdsDll.dll - dynamic function library located in the Windows NT/2000 /XP/... 'System32' directory.

Import Type Library

1. Select Component -> Import component menu command. In dialog window select the option: Import type library and confirm with the Next button.

 

2022年6月10日 星期五

Windows API的GetLogicalProcessorInformation可取得當前電腦的物理核心數邏輯核心數

 https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getlogicalprocessorinformation

 http://msdn.microsoft.com/en-us/library/ms683194(v=vs.85).aspx
GetLogicalProcessorInformation function

  GetLogicalProcessorInformation
http://msdn.microsoft.com/en-us/library/ms686694(v=vs.85).aspx
SYSTEM_LOGICAL_PROCESSOR_INFORMATION structure

http://msdn.microsoft.com/en-us/library/ms684197(v=vs.85).aspx
LOGICAL_PROCESSOR_RELATIONSHIP enumeration

http://msdn.microsoft.com/en-us/library/ms681979(v=vs.85).aspx
CACHE_DESCRIPTOR structure

http://msdn.microsoft.com/en-us/library/ms684844(v=vs.85).aspx
PROCESSOR_CACHE_TYPE enumeration

GetProcessorCoreCount(DWORD &PhysicalProcessorCoreCount,DWORD &LogicalProcessorCoreCount )
{
    typedef BOOL(WINAPI *LPFN_GLPI)(
        PSYSTEM_LOGICAL_PROCESSOR_INFORMATION,
        PDWORD);

    LPFN_GLPI glpi = (LPFN_GLPI)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "GetLogicalProcessorInformation");

    if (NULL == glpi)
        return 0;

    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION buffer = NULL;
    DWORD returnLength = 0;
     PhysicalProcessorCoreCount = 0;
     LogicalProcessorCoreCount = 0;
    while (true)
    {
        DWORD rc = glpi(buffer, &returnLength);

        if (FALSE == rc)
        {
            if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
            {
                if (buffer)
                    free(buffer);

                buffer = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION)malloc(
                    returnLength);

                if (NULL == buffer)
                    return 0;
            }
            else
            {
                return 0;
            }
        }
        else
        {
            break;
        }
    }

    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION ptr = buffer;

    DWORD byteOffset = 0;
    while (byteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION) <= returnLength)
    {
        switch (ptr->Relationship)
        {
        case RelationProcessorCore:
        {
            ++PhysicalProcessorCoreCount;

            // count the logical processor, which is equal the count of digital 1's of ptr->ProcessorMask
            ULONG_PTR   ProcessorMask = ptr->ProcessorMask;
            while (ProcessorMask != 0)
            {
                ProcessorMask &= ProcessorMask - 1;
                LogicalProcessorCoreCount++;
            }
            break;
        }
        default:
            break;
        }
        byteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
        ++ptr;
    }
    free(buffer);
    return -1;
}

 

https://en.wikipedia.org/wiki/Hyper-threading

 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

https://www.cnblogs.com/findumars/p/4805207.html 


https://stackoverflow.com/questions/66130195/delphi-getlogicalprocessorinformation-x64

2022年6月9日 星期四

Typesetting software TeX LyX MiKTeX CJKutf8 LyX MiKTeX CJKutf8 REVTeX

 https://en.wikipedia.org/wiki/Category:Typesetting_software

https://zh.wikipedia.org/zh-tw/TeX

 

ShellExecute Madness

 https://github.com/search?l=Pascal&q=ShellExecute+Madness&type=Code

 

http://vbnet.mvps.org/index.html?code/shell/shellexecute.htm

2022年6月3日 星期五

Categories Data Structures

 TArray
TDictionary
TEnumerable
TEnumerator
TList
TObjectDictionary
TObjectList
TObjectQueue
TObjectStack
TQueue
TStack
TThreadedQueue
TThreadList

 https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Generics.Collections

 https://delphisources.ru/pages/faq/master-delphi-7/content/LiB0053.html

 delphi TTreeNode Structures data TDictionary

 https://docwiki.embarcadero.com/Libraries/Sydney/en/System.LibModuleList

  linked list of records

 https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.TDockZone

 https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.ActnMan.TActionManager.LinkedActionLists

 delphi TTreeNode Structures data TDictionary

 https://docwiki.embarcadero.com/RADStudio/Sydney/en/About_Data_Types_(Delphi)

 https://devopedia.org/data-structures

 https://en.wikipedia.org/wiki/Linked_list

 

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TList.Sort

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TStringList.CustomSort

https://www.geeksforgeeks.org/sorting-algorithms/

https://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TCollection

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Working_with_Lists

2022年6月1日 星期三

Delphi TButton How to make Delphi TButton control stay pressed?

 https://stackoverflow.com/questions/46934591/how-to-make-delphi-tbutton-control-stay-pressed

   Vcl.Themes,
  Vcl.Styles ;

StyleAPI

StyleElements

FInternalImageList 

TSeStyle

procedure TSysStyleHook.UpdateColors;
begin
  if (OverrideEraseBkgnd) or (OverridePaint) then
    Color := StyleServices.GetStyleColor(scWindow)
  else
    Color := clBtnFace;
  if OverrideFont then
    FontColor := StyleServices.GetSystemColor(clWindowText)
  else
    FontColor := clBlack;
end;

procedure TSysStyleHook.SetStyleElements(Value: TStyleElements);
begin
  if Value <> FStyleElements then
    begin
      FStyleElements := Value;
      OverridePaint := (seClient in FStyleElements);
      // OverrideEraseBkgnd := OverridePaint;
      OverridePaintNC := (seBorder in FStyleElements);
      OverrideFont := (seFont in FStyleElements);
    end;
end;


      TCustomButton = class(TButtonControl)

FImages: TCustomImageList;
    FInternalImageList: TImageList;


procedure TCustomButton.SetImages(const Value: TCustomImageList);


procedure TCustomButton.UpdateImages;
begin
  if CheckWin32Version(5, 1) and (FImageIndex <> -1) then
  begin
    FInternalImageList.Clear;
    // PBS_NORMAL
    FInternalImageList.AddImage(FImages, FImageIndex);
    // PBS_HOT
    if FHotImageIndex <> -1 then
      FInternalImageList.AddImage(FImages, FHotImageIndex)
    else
      FInternalImageList.AddImage(FImages, FImageIndex);
    // PBS_PRESSED
    if FPressedImageIndex <> -1 then
      FInternalImageList.AddImage(FImages, FPressedImageIndex)
    else

TButtonImageList BUTTON_IMAGELIST


https://docs.microsoft.com/zh-tw/windows/win32/api/commctrl/nf-commctrl-imagelist_replace

ImageList_Replace function (commctrl.h)

hbmImage

Type: HBITMAP

A handle to the bitmap that contains the image.

hbmMask

Type: HBITMAP

https://theroadtodelphi.com/category/vcl-styles/

https://delphiaball.co.uk/2014/10/22/adding-vcl-styles-runtime/

https://github.com/RRUZ/vcl-styles-utils

https://stackoverflow.com/questions/14031125/styling-only-one-vcl-component-in-delphi

https://theroadtodelphi.com/2012/02/06/changing-the-color-of-edit-controls-with-vcl-styles-enabled/

https://blogs.embarcadero.com/vcl-per-control-styles-coming-in-rad-studio-10-4/