sp;{ IntVar := IntVar + 1 } Inc(LongintVar, 5); { LongintVar := LongintVar + 5 } end; ----------------------------------------------------------------------------- Odd 检查是否为奇数. ----------------------------------------------------------------------------- Unit System 函数原型 function Odd(X: Longint): Boolean; Example begin
if Odd(5) then Canvas.TextOut(10, 10, ''''5 is odd.'''') else Canvas.TextOut(10, 10, ''''Something is odd!''''); end; ======================================= Pointer and address routines 位址常式 ======================================= Addr 传回一个物件的位址. ----------------------------------------------------------------------------- Unit System 函数原型 function Addr(X): Pointer; Example var I : Integer; NodeNumbers: array [0 .. 100] of Integer; begin with TreeView1 do begin for I := 0 to Items.Count - 1 do begin NodeNumbers[I] := CalculateValue(Items[I]); Items[I].Data := Addr(NodeNumber[I]); end; end; end; ----------------------------------------------------------------------------- Assigned 测试指标变数是否为nil. ----------------------------------------------------------------------------- Unit System 函数原型 function Assigned(var P): Boolean; 说明 当@P=nil ==> 传回FALSE 范例 var P: Pointer; begin P := nil; if Assigned (P) then Writeln (''''You won''''t see this''''); GetMem(P, 1024); {P valid} FreeMem(P, 1024); {P no longer valid and still not nil} if Assigned (P) then Writeln (''''You''''ll see this''''); end =================================== String-formatting routines 字串格式化 ================================== FmtStr 格式化. ----------------------------------------------------------------------------- FmtStr(var StrResult: string;const Format: string;const Args: array of string );
----------------------------------------------------------------------------- Format Format(const Format: string;const Args: array of string ): string; ----------------------------------------------------------------------------- Unit SysUtils 函数原型 procedure FmtStr(var Result: string; const Format: string; const Args: array of const); function Format(const Format: string; const Args: array of const): string; 说明 %d : 整数 %e : 科学式 %f : 定点实数 %g : 实数 %n : 实数(-d,ddd,ddd.dd ...) %m: 金钱格式 %p : point %s : 字串 %x : Hex 范例 var i: Integer; j: Double; s: String; t: String; begin t:=Format(''''%d %8.2f %s'''',[i,j,s]); ListBox1.Item.Add(t); end;
BubbleSeries1.PercentFormat := ''''##0.0# %''''; Example procedure TForm1.Table1AfterDelete(DataSet: TDataSet); begin StatusBar1.SimpleText := Format(''''There are now %d records in the table'''', [DataSet.RecordCount]); end;
======================================= String-handling routines (Pascal-style) 字串函式 ======================================= AnsiCompareStr 比较两个字串的大小.依安装的 language driver. ----------------------------------------------------------------------------- AnsiCompareText ( AnsiCompareText 此项不分大小写 ). ----------------------------------------------------------------------------- Unit SysUtils var
S1,S2: string; I: Integer;
begin
S1:= ''''A????''''; S2:= ''''?????''''; I:= CompareStr(S1, S2); { I = 0, ?.?. S1 = S2 } if I=0 then MessageDlg(S1, ''''='''', S2, mtWarning, [mbOK], 0); end;
函数原型 function AnsiCompareStr(const S1, S2: string):Integer; 函数原型 function AnsiCompareText(const S1, S2: string):Integer; ----------------------------------------------------------------------------- AnsiLowerCase 将字串全部转为小写字母.依安装的 language driver. ----------------------------------------------------------------------------- AnsiUpperCase 将字串全部转为大写字母.依安装的 language drive ----------------------------------------------------------------------------- Unit SysUtils 函数原型 function AnsiLowerCase(const S: string): string; 函数原型 function AnsiUpperCase(const S: string): string; ----------------------------------------------------------------------------- CompareStr 比较两个字串的大小. ----------------------------------------------------------------------------- CompareText ( CompareText 此项不分大小写 ). ----------------------------------------------------------------------------- Unit SysUtils 函数原型 function CompareStr(const S1, S2: string): Integer; 函数原型 function CompareText(const S1, S2: string): Integer; 范例 var String1, String2 : string; I : integer; begin String1 := ''''STEVE''''; String2 := ''''STEVe''''; I := CompareStr(String1, String2); { I < 0 } if I < 0 then MessageDlg(''''String1 < String2'''', mtWarning, [mbOK], 0); end;
var String1, String2 : string; I : integer; begin String1 := ''''ABC''''; String2 := ''''aaa''''; I := CompareStr(String1, String2); { I < 0 } if I < 0 then MessageDlg('''' String1 < String2'''', mtWarning, [mbOK], 0); end; Examlpe var ColumnToSort: Integer;
The OnColumnClick event handler sets the global variable to indicate the column to sort and calls AlphaSort:
begin ColumnToSort := Column.Index; (Sender as TCustomListView).AlphaSort; end;
The OnCompare event handler causes the list view to sort on the selected column:
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix: Integer; begin if ColumnToSort = 0 then Compare := CompareText(Item1.Caption,Item2.Caption) &