程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi 的字符及字符串[2] - Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar

Delphi 的字符及字符串[2] - Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar

編輯:Delphi

 //單字符 Char、AnsiChar (在目前版本(2007)中, 它們是一回事, 只有 1 字節大小)var
 c: Char; {Char 類型的取值范圍是: #0..#255, 用十六進制表示是: #$0..#$FF}
begin
 {用十進制方式賦值:}
 c := #65;
 ShowMessage(c); {A}
 {用十六進制方式賦值:}
 c := #$41;
 ShowMessage(c); {A}
 {用 Chr 函數代替 # 符號}
 c := Chr(65);
 ShowMessage(c); {A}
 c := Chr($41);
 ShowMessage(c); {A}
 {Char 長度當然會是 1}
 ShowMessage(IntToStr(Length(c))); {1}
 {Char、AnsiChar 允許這樣方便地賦值(也就是和 1 字節長度的字符串是兼容的):}
 c := 'B';
 ShowMessage(c); {B}
end;
//UniCode 字符 WideChar; 和 AnsiChar 不同, WideChar 是占 2 字節大小.var
 c: WideChar; {WideChar 的取值范圍是: #0..#65535, 用十六進制表示是: #$0..#$FFFF}
begin
 {WideChar 兼容了 AnsiChar 的 #0..#255; 但占用了 2 字節大小}
 c := #65;
 ShowMessage(c); {A}
 ShowMessage(IntToStr(Length(c))); {1; 這是字符長度}
 ShowMessage(IntToStr(SizeOf(c))); {2; 但占用 2 個字節}
 {用十六進制賦值}
 c := #$4E07;
 ShowMessage(c); {萬}
 ShowMessage(IntToStr(Length(c))); {1; 這是字符長度}
 ShowMessage(IntToStr(SizeOf(c))); {2; 但占用 2 個字節}
 {用十進制賦值}
 c := #19975;
 ShowMessage(c); {萬}
 {如果不超出 #255 的范圍是可以直接賦值的}
 c := 'B';
 ShowMessage(c); {萬}
 {這樣不行}
 //c := '萬'; {這是 Delphi 的支持問題, 估計 Delphi 2008 應該可以解決}
 {可以這樣變通一下:}
 c := WideString('萬')[1];
 ShowMessage(c); {萬}
 {用 WideChar 的方式顯示我的名字}
 ShowMessage(#19975#19968);  {萬一}
 ShowMessage(#19975 + #19968); {萬一}
 ShowMessage(#$4e07#$4e00);  {萬一}
end;
//字符指針 PChar、PAnsiChar; 在當前版本(2007)中它們沒有區別.var
 p: PChar;
 str: string;
begin
 {可以給 PChar 直接賦予字符串常量}
 p := '萬一';
 ShowMessage(p);          {萬一}
 ShowMessage(IntToStr(Length(p))); {4}
 {給變量值需要轉換}
 str := '萬一的 Delphi 博客';
 p := PChar(str); {轉換}
 ShowMessage(p);          {萬一的 Delphi 博客}
 ShowMessage(IntToStr(Length(p))); {18}
end;
//寬字符指針 PWideCharvar
 p: PWideChar;
 str: WideString; {注意這裡不是 String}
begin
 {可以給 PWideChar 直接賦予字符串常量}
 p := '萬一';
 ShowMessage(p);          {萬一}
 ShowMessage(IntToStr(Length(p))); {2}
 {給變量值需要轉換}
 str := '萬一的 Delphi 博客';
 p := PWideChar(str); {轉換}
 ShowMessage(p);          {萬一的 Delphi 博客}
 ShowMessage(IntToStr(Length(p))); {13}
end;

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved