本例:代碼1:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}uses GDIPOBJ,
類型描述類型縮寫位元位元組數浮點數有效位數值範圍位元組BYTEDB81 0..255有符號位元組SBYTEDB81 -128..127字WORDDW162 0..65535有符號字SWORDDW162 -32768..32767雙字DWORDDD324 0..4294967295有符號雙字SDWORDDD324 -2147483648..2147483647遠字FWORDDF486 四字QWORDDQ648 十位元組TBYTEDT8010 單精確度浮點數REAL432461.18*10-38..
在學習 資源檔 和 鉤子函數 時, 經常用到當前模組控制代碼(HInstance)這個全域變數. 今天特別想知道, 它到底是在什麼時候給賦值的.輸入 HInstance; "Ctrl+滑鼠" 找到它的聲明之處: SysInit 單元的第 29 行(Delphi 2007) - HInstance: LongWord;看來 Delphi 的隱含單元不只是 System.pas, 還有 SysInit.pas.在 SysInit 單元的 658 行找到了它的指派陳述式: HInstance :=
//字串 字元數組var arr: array[0..5] of Char; str: string;begin {可以把字串常量直接賦給字元數組; 但超界不行} arr := 'Delphi'; ShowMessage(arr); {Delphi} {可以把字元數組直接賦給字串變數} str := arr; ShowMessage(str); {Delphi} {其實字串內部也是包含了一個字元數組, 所以能索引訪問, 不過它的索引起始於 1}
StrUpper 和 StrLower 是轉換 PChar 串的大小寫函數.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton;
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure
//線帽var g: TGPGraphics; p: TGPPen;begin g := TGPGraphics.Create(Canvas.Handle); p:= TGPPen.Create(aclBlue, 8); p.SetStartCap(LineCapArrowAnchor); {起點線帽} p.SetEndCap(LineCapRoundAnchor); {終點線帽} g.DrawLine(p, 20, 20, 300, 175); p.Free;
TMessage.WParam 就是 TWMSysCommand.CmdType; 這是系統命令編號.下面程式會把 WParam 攔截, 並顯示的表單標題.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) protected procedure
上個例子中 TDirectDrawSurface 是從 TDXImageList 中擷取的圖片,其實 TDirectDrawSurface 自己擷取圖片的方法有很多:TDirectDrawSurface.LoadFromFile();TDirectDrawSurface.LoadFromStream();TDirectDrawSurface.LoadFromGraphic();TDirectDrawSurface.LoadFromGraphicRect();TDirectDrawSurface.
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls;type TForm1 = class(TForm) DXPaintBox1: TDXPaintBox; Button1: TButton; Button2: TButton; procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure
代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure
這種轉換一般用於網頁地址; 我不知道 Delphi 是不是有現成的函數, 用到了就寫了一個.//函數:function ToUTF8Encode(str: string): string;var b: Byte;begin for b in BytesOf(UTF8Encode(str)) do Result := Format('%s%%%.2x', [Result, b]);end;//測試:var str: string;begin str := '萬一'; str :=
通過畫筆的 DashStyle 屬性可設定或讀取虛線樣式.通過 SetDashPattern 方法或 DashPattern 屬性可自訂虛線樣式.通過 DashPattern 屬性還可以讀出已有樣式定義時的數組.自訂虛線樣式樣式時, 需要元素數是雙數的數組數組, 元素值依次表示實線與空白的長度.通過 DashOffset 屬性可設定虛線位移.系統提供的虛線樣式效果:自訂的兩種樣式效果:虛線位移效果:測試系統提供的虛線樣式:uses GdiPlus;procedure
矩陣旋轉一個角度, 會關聯到 M11、M12、M21、M22 四個資料, 計算公式如下:┏ ┓┃ cos(r) sin(r) 0┃┃-sin(r) cos(r) 0┃┃ DX DY 1┃┗ ┛//其中的 r 不是角度是弧度; 弧度的計算方法是: r = 角度 * Pi / 180.下面兩段程式對上面的公式進行了對比測試://var m: IGPMatrix;begin m :=
TFieldTFieldDefTFieldsTFieldDefsTFieldList、TFieldDefListAssignAssignValueClearFocusControlGetDataGetParentComponentHasParentIsBlobIsValidCharRefreshLookupListSetDataSetFieldTypeSetParentComponentValidateAsBCDAsBooleanAsCurrencyAsDateTimeAsSQLTimeStam
運行時的設計方法:設計時的準備工作:ClientDataSet1、DataSource1、DBGrid1 並關聯, 這用於主表;ClientDataSet2、DataSource2、DBGrid2 並關聯, 這將成為主表的一個欄位(或叫巢狀表格);還可以放個 Splitter1 來協調 DBGrid 的大小.procedure TForm1.FormCreate(Sender: TObject);begin { 主表: 定義了兩個欄位, 其中 "銷售明細" 是 DataSet 欄位 }
WebBrowser1.GoHome; //到瀏覽器預設首頁WebBrowser1.Refresh; //重新整理WebBrowser1.GoBack; //後退WebBrowser1.GoForward; //前進WebBrowser1.Navigate('...'); //開啟指定頁面WebBrowser1.Navigate('about:blank'); //開啟空頁面//開啟空頁面, 並寫入...WebBrowser1.Navigate('about:<head>
MUL: 無符號乘;影響 OF、CF 標誌位;指令格式:;MUL r/m ;參數是乘數;如果參數是 r8/m8, 將把 AL 做乘數, 結果放在 AX;如果參數是 r16/m16, 將把 AX 做乘數, 結果放在 EAX;如果參數是 r32/m32, 將把 EAX 做乘數, 結果放在 EDX:EAX; Test27_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude
1.HexToBin() 十六進位轉換二進位所在單元:ClassesDelphi文法:function HexToBin(Text, Buffer: PChar; BufSize: Integer):