Delphi兩個取字串長度的函數strlen,length
【strlen】PChar 串專用函數:串長度
procedure TForm1.BitBtn1Click(Sender: TObject);
var s: Widestring;
begin
s := ‘臺灣自由平等博愛’;
ShowMessage(IntToStr(Length(String(s))));//結果不是8而是16
end;
━━━━━━━━━━━━━━━━━━━━━━━━━━
如果想得到8:
ShowMessage(IntToStr(Length(s)));//結果不是16而是8
━━━━━━━━━━━━━━━━━━━━━━━━━━
【length】Length (S): Integer; 返回參數字串的長度。
AnsiString這是Pascal缺省的字串類型,它由AnsiChar字元組成,其長度沒有限制,同時與null結束的字串相相容。
在大多數情況下,AnsiString類型能被用成PChar,應該盡可能地使用AnsiString,因為它對字串記憶體的管理是自動,
極大地減少了應用程式中記憶體混亂的錯誤代碼,因此,要盡可能地避免用PChar類型以及對它相應進行人工分配記憶體。
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var s: Widestring;
begin
s := '臺灣自由平等博愛';
ShowMessage(IntToStr(Length(String(s))));//XE顯示8 //D7 結果不是8而是16
end;
procedure TForm1.Button2Click(Sender: TObject);
var s: Widestring;
begin
s := '臺灣自由平等博愛';
ShowMessage(IntToStr(Length(s))); //XE顯示8 //D7結果不是16而是8
end;
procedure TForm1.Button3Click(Sender: TObject);
var
s: AnsiString;
begin
s:='臺灣自由平等博愛';
ShowMessage(IntToStr(Length(s))); //XE顯示16
end;
procedure TForm1.Button4Click(Sender: TObject);
var
s: AnsiString;
begin
s:='臺灣自由平等博愛';
ShowMessage(IntToStr(strlen(PWideChar(s)))); //XE顯示8
end;
procedure TForm1.Button5Click(Sender: TObject);
var
s: AnsiString;
begin
s:='臺灣自由平等博愛';
ShowMessage(IntToStr(SizeOf(PWideChar(s)))); //XE顯示4(32位元程式)
end;
end.
我們團隊使用Delphi已經30年以上的經驗,如果有什麼問題,歡迎與我們聯繫,也可以在下方留言處與我們分享,感謝您!!
手刀試用=>蝦皮對帳王
手刀試用=>康捷雲端ERP
相關文章
👉 Delphi-Component-TProgressBar進度條範例
👉 網路版市招明年元旦上路,財部盤點四大適用情境
賦稅署官員表示,如果個人當月銷售額未達營業稅起徵點(銷售貨物8萬元;勞務4萬元)而暫免申請稅籍登記,就不會有網路版市招新制適不適用的問題。
👉 蝦皮對帳王-蝦皮對帳結果一覽表-為什麼要對帳?無對應???
👉 蝦皮對帳王-對帳原理分析-有訂單,有撥款だいじょうぶ(大丈夫);有訂單,沒撥款 歐NO~~~~~!!!
[蝦皮服務] 訂單完成後什麼時候能夠收到款項呢?
任何一套系統的撰寫與維護,都需要相對應的人力與雲端資料庫來維持。
感謝您願意使用我們的系統。

Comments