Delphi 各類功能函式總結
theme: smartblue
01. 自增函式 Inc
原型:procedure Inc(var X);
,位於 System
單元。
功能:第一種用法,就是自己加一。
Delphi
var
i: Integer;
begin
i:= 100;
Inc(i); //這裡,i的值就成了 101
end;
原型:procedure Inc(var X; N: Longint);
,位於 System
單元。
功能:第二種用法,就是加上一個指定的值。
Delphi
var
i: Integer;
begin
i:= 100;
Inc(i, 100); //這裡,i的值就成了 200
end;
02. 自減函式 Dec
原型:procedure Dec(var X);
,位於 System
單元。
功能:第一種用法,就是自己減一。
Delphi
var
i: Integer;
begin
i:= 100;
Dec(i); //這裡,i的值就成了 99
end;
原型:procedure Dec(var X; N: Longint);
,位於 System
單元。
功能:第二種用法,就是減去一個指定的值。
Delphi
var
i: Integer;
begin
i:= 100;
Inc(i, 30); //這裡,i的值就成了 70
end;
03. 返回所佔位元組數 SizeOf
原型:function SizeOf(X): Integer;
,位於 System
單元。
功能:它可以返回一個變數、或型別所佔的位元組數。
```Delphi var i, n: Integer; s: string; begin i:= 10; n:= SizeOf(i); //這裡,n的值為 4
s:= 'Hello Delphi'; n:= SizeOf(s); //這裡,n的值為4,這裡有疑問,字串不管長度多少,都返回 4
n:= SizeOf(Integer); //這裡,n的值為 4 n:= SizeOf(Double); //這裡,n的值為 8 n:= SizeOf(String); //這裡,n的值為 4 end; ```
04. 返回元素的個數 Length
原型:function Length(S): Integer;
,位於 System
單元。
功能:它可以返回字串中的字元個數、或陣列中的元素個數。
```Delphi var s: string; arr: array [0..5] of Integer; i, n: Integer; begin s:= '123456789'; n:= Length(s); //這裡,n的值為 9
for i:= 0 to 5 do begin arr[i]:= i; end; n:= Length(arr); //這裡,n的值為 6 end; ```
05. 給連續的位元組賦指定的值 FillChar
原型:procedure FillChar(var X; Count: Integer; Value: Byte);
,位於 System
單元。
功能:它可以給一組連續的位元組賦予相同的指定值,通常用來給變數賦初值。
Delphi
var
arr: array [0..5] of Byte;
begin
//陣列除了可以用for迴圈單個元素依次初始化,也可以用FillChar全部初始化為同樣的值
FillChar(arr, SizeOf(arr), 1); //表示給變數arr,從起始地址開始的連續6個位元組,都賦值為1
end;
06. 整型轉字串 IntToStr
原型:位於 SysUtils
單元
① function IntToStr(Value: Integer): string; overload;
② function IntToStr(Value: Int64): string; overload;
功能:將一個整型數,以字串形式返回。
補充:Integer
表示有符號32位整數,Int64
表示有符號64位整數,$
表示十六進位制數。
Delphi
var
s: string;
begin
s:= IntToStr(100); //這裡,s的值為 100
s:= IntToStr(-100); //這裡,s的值為 -100
s:= IntToStr($100); //這裡,s的值為 256
s:= IntToStr(-$100); //這裡,s的值為 -256
end;
07. 字串轉整型 StrToInt
原型:位於 SysUtils
單元
① function StrToInt(const S: string): Integer;
② function StrToInt64(const S: string): Int64;
功能:將一個整數形式的字串,以整數形式返回。
Delphi
var
i: Integer;
begin
i:= StrToInt('64'); //返回 64
i:= StrToInt('-64'); //返回 -64
i:= StrToInt('$40'); //返回 64
i:= StrToInt('-$40'); //返回 -64
end;
07. 整型轉十六進位制字串 IntToHex
原型:位於 SysUtils
單元
① function IntToHex(Value: Integer; Digits: Integer): string; overload;
② function IntToHex(Value: Int64; Digits: Integer): string; overload;
功能:將一個整型數轉成十六進位制數,以字串形式返回,Digits
表示字串長度,位數不足前面補零。
補充:Integer
表示有符號32位整數,Int64
表示有符號64位整數,$
表示十六進位制數。
```Delphi var s: string; begin s:= IntToHex(100, 1); //十進位制轉十六進位制,這裡s的值為 64 s:= IntToHex(100, 2); //十進位制轉十六進位制,這裡s的值為 64 s:= IntToHex(100, 4); //十進位制轉十六進位制,這裡s的值為 0064
s:= IntToHex(-100, 1); //十進位制轉十六進位制,這裡s的值為 FFFFFF9C s:= IntToHex(-100, 10); //十進位制轉十六進位制,這裡s的值為 00FFFFFF9C
s:= IntToHex($100, 1); //十六進位制轉十六進位制,這裡s的值為 100 s:= IntToHex($100, 2); //十六進位制轉十六進位制,這裡s的值為 100 s:= IntToHex($100, 4); //十六進位制轉十六進位制,這裡s的值為 0100
s:= IntToHex(-$100, 1); //十六進位制轉十六進位制,這裡s的值為 FFFFFF00 s:= IntToHex(-$100, 10); //十六進位制轉十六進位制,這裡s的值為 00FFFFFF00 end; ```
08. 返回ASCII碼的對應數值 Ord
原型:function Ord(X);
,位於 System
單元。
功能:返回一個有序型別資料的序號,常用於獲取 ASCII
碼的十進位制數值。
補充:Delphi中的數值預設為十進位制,#
表示十進位制數,$
表示十六進位制數。
```Delphi Type A = (Mon, Tue, Wed, Thr, Fri, Sat, Sun); //列舉型別
var i: Integer; begin i:= Ord('A'); //返回 65 i:= Ord(65); //返回 65 i:= Ord(#65); //返回 65,儘量不要使用 # 符號,因為很多系統函式不支援這種寫法 i:= Ord($41); //返回 65
i:= Ord(Mon); //返回 0 i:= Ord(Tue); //返回 1 end; ```
09. 返回數值對應的ASCII字元 Chr
原型:function Chr(X: Byte): Char;
,位於 System
單元。
功能:返回一個 ASCII
碼值對應的字元。
Delphi
var
c: Char;
begin
c:= Chr(65); //返回 A,不能使用 Chr(#65)
c:= Chr($41); //返回 A
end;
10. 取整函式 Trunc
原型:function Trunc(X: Extended): Int64;
,位於 System
單元。
功能:返回 X 的整數部分。
補充:Extended
是一個超大的浮點數,佔 10 個位元組。
Delphi
var
i: Int64; //不超過取值範圍,Integer也行
begin
i:= Trunc(1.40); //返回 1
i:= Trunc(1.50); //返回 1
i:= Trunc(-1.40); //返回 -1
i:= Trunc(-1.50); //返回 -1,似乎十六進位制符號 $ 不能用於浮點數
end;