FillMemory、ZeroMemory 一目瞭然的兩個函數, 但其實它們都是調用了 FillChar;清空不過就是填充Null 字元(#0: 編號為 0 的字元), 說來說去是一回事.為了下面的測試, 先寫一個以十六進位方式查看記憶體的函數:function GetMemBytes(var X; size: Integer): string;var pb: PByte; i: Integer;begin pb := PByte(X); for i := 0 to size - 1
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) ComboBox1: TComboBox; procedure FormCreate(Sender: TObject); procedure
MoveMemory、CopyMemory 的功能類似, 都是複製記憶體, 都是調用 Move 過程;MoveMemory、CopyMemory 操作指標; Move 操作實體.還要注意, 它們的參數位置不一樣!舉例:{例1}var buf1,buf2: array[0..9] of AnsiChar;begin buf1 := '0123456789'; buf2 := 'abcdefghij'; Move(buf2[2], buf1[4], 5); ShowMessage(buf1
lstrcmp 區分大小寫; lstrcmpi 不區分大小寫. 傳回值: -1、0、1, 其中 0 表示相同.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;
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; Button5:
TGPLinearGradientBrush.Create( rect: TGPRect; {變化範圍} color1, color2: TGPColor; {起始色與終止色} angle: Single; {旋轉角度} isAngleScalable: BOOL = FALSE {是否受 TLinearGradientMode 的影響, 可選值,
TGPTextureBrush.Create( image: TGPImage; {用於畫刷的映像} wrapMode: TWrapMode = WrapModeTile {平鋪樣式, 是可選值, 見下表});本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
CharToOemBuff、OemToCharBuff 與 CharToOem、OemToChar 的區別只是前者可以指定要轉換的字元數.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2:
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
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; procedure Button1Click(Sender:
TGPLinearGradientBrush.Create( const point1, point2: TGPPoint; {線性漸層起始點與終止點} color1, color2: TGPColor {線性漸層起始色與終止色});TGPLinearGradientBrush.Create( const point1, point2: TGPPointF; color1, color2: TGPColor);本例:代碼檔案:unit
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Panel1: TPanel; Button1: TButton; TrackBar1: TTrackBar;
靜態數組, 在聲明時就分配好記憶體了, 譬如:var arr1: array[0..255] of Char; arr2: array[0..255] of Integer;begin ShowMessageFmt('數組大小分別是: %d、%d', [SizeOf(arr1), SizeOf(arr2)]); {數組大小分別是: 512、1024}end;對靜態數組指標, 雖然在聲明之處並沒有分配記憶體, 但這個指標應該分配多少記憶體是有定數的.這種情況, 我們應該用 New 和
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, TeCanvas, ComCtrls;type TForm1 = class(TForm) ComboBox1: TComboBox; ComboBox2: TComboBox; TrackBar1: TTrackBar;
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 pts: TPoint;begin pts.X := 1; pts.Y := 2; ShowMessageFmt('%d,%d', [pts.X, pts.Y]); {1,2}end;//結構數組:var Arr: array[0..2] of TPoint; i: Integer;begin for i := 0 to Length(Arr) - 1 do begin Arr[i].X := i;
TGPLinearGradientBrush.Create( rect: TGPRect; {線性漸層的界限} color1, color2: TGPColor; {線性漸層起始色與終止色} mode: TLinearGradientMode {漸層方向, 見下表});TGPLinearGradientBrush.Create( rect: TGPRectF; color1, color2: TGPColor; mode:
去年的今天 - 2007 年 11 月 12 日, 發現並來到部落格園, 從此 ---一點點零零碎碎的時間得以積累;部落格園首頁上眼花繚亂的新文章展示著技術的進步和大家的追求, 讓我感覺是生活在跑道上;也有朋友說從部落格上有所受益, 這是在 2007 年 11 月 12 日 沒有想到的, 所以深感欣慰.在今天這個對我來講值得紀念的日子裡, 讓我真誠地 ---感謝 dudu 的部落格園給我提供的這塊土地;感謝大家的部落格園為我營造的這種學習氣氛;感謝通過部落格交流、批評和鼓勵過的朋友們,
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) RadioGroup1: TRadioGroup; procedure FormPaint(Sender: TObject); procedure