• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
//单字符 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;
//宽字符指针 PWideChar var   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;

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DELPHI10.3.1安卓照相发布时间:2022-07-18
下一篇:
再探Delphi2010Class的构造和析构顺序发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap