西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)Delphi → delphi 中 Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar 的區(qū)別

delphi 中 Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar 的區(qū)別

前往專題相關(guān)軟件相關(guān)文章發(fā)表評論 來源:萬一時間:2011/8/23 12:24:13字體大。A-A+

作者:佚名點(diǎn)擊:1502次評論:0次標(biāo)簽: Delphi

Borland Delphi8.0光盤版
  • 類型:編程工具大。83.1M語言:中文 評分:4.0
  • 標(biāo)簽:
立即下載

 我們這編文章來了解一下在Delphi 中 Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar 的用法

 var
c: Char; {Char 類型的取值范圍是: #0..#255, 用十六進(jìn)制表示是: #$0..#$FF}
begin
{用十進(jìn)制方式賦值:}
c := #65;
ShowMessage(c); {A}

{用十六進(jìn)制方式賦值:}
c := #$41;
ShowMessage(c); {A}

{用 Chr 函數(shù)代替 # 符號}
c := Chr(65);
ShowMessage(c); {A}
c := Chr($41);
ShowMessage(c); {A}

{Char 長度當(dāng)然會是 1}
ShowMessage(IntToStr(Length(c))); {1}

{Char、AnsiChar 允許這樣方便地賦值(也就是和 1 字節(jié)長度的字符串是兼容的):}
c := 'B';
ShowMessage(c); {B}
end;
--------------------------------------------------------------------------------

//UniCode 字符 WideChar; 和 AnsiChar 不同, WideChar 是占 2 字節(jié)大小.
var
c: WideChar; {WideChar 的取值范圍是: #0..#65535, 用十六進(jìn)制表示是: #$0..#$FFFF}
begin
{WideChar 兼容了 AnsiChar 的 #0..#255; 但占用了 2 字節(jié)大小}
c := #65;
ShowMessage(c); {A}
ShowMessage(IntToStr(Length(c))); {1; 這是字符長度}
ShowMessage(IntToStr(SizeOf(c))); {2; 但占用 2 個字節(jié)}

{用十六進(jìn)制賦值}
c := #$4E07;
ShowMessage(c); {萬}
ShowMessage(IntToStr(Length(c))); {1; 這是字符長度}
ShowMessage(IntToStr(SizeOf(c))); {2; 但占用 2 個字節(jié)}

{用十進(jìn)制賦值}
c := #19975;
ShowMessage(c); {萬}

{如果不超出 #255 的范圍是可以直接賦值的}
c := 'B';
ShowMessage(c); {萬}

{這樣不行}
//c := '萬'; {這是 Delphi 的支持問題, 估計(jì) Delphi 2008 應(yīng)該可以解決}

{可以這樣變通一下:}
c := WideString('萬')[1];
ShowMessage(c); {萬}

{用 WideChar 的方式顯示我的名字}
ShowMessage(#19975#19968); {萬一}
ShowMessage(#19975 + #19968); {萬一}
ShowMessage(#$4e07#$4e00); {萬一}
end;
--------------------------------------------------------------------------------

//字符指針 PChar、PAnsiChar; 在當(dāng)前版本(2007)中它們沒有區(qū)別.
var
p: PChar;
str: string;
begin
{可以給 PChar 直接賦予字符串常量}
p := '萬一';
ShowMessage(p); {萬一}
ShowMessage(IntToStr(Length(p))); {4}

{給變量值需要轉(zhuǎn)換}
str := '萬一的 Delphi 博客';
p := PChar(str); {轉(zhuǎn)換}
ShowMessage(p); {萬一的 Delphi 博客}
ShowMessage(IntToStr(Length(p))); {18}
end;
--------------------------------------------------------------------------------

//寬字符指針 PWideChar
var
p: PWideChar;
str: WideString; {注意這里不是 String}
begin
{可以給 PWideChar 直接賦予字符串常量}
p := '萬一';
ShowMessage(p); {萬一}
ShowMessage(IntToStr(Length(p))); {2}

{給變量值需要轉(zhuǎn)換}
str := '萬一的 Delphi 博客';
p := PWideChar(str); {轉(zhuǎn)換}
ShowMessage(p); {萬一的 Delphi 博客}
ShowMessage(IntToStr(Length(p))); {13}
end;

 

轉(zhuǎn)自萬一老師的Blog  http://www.cnblogs.com/del/

原文地址: http://www.cnblogs.com/del/archive/2008/03/03/1088958.html


    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)