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;

最新文章

  1. Linux下安装Java环境配置步骤详述
  2. Mac配置一些开发环境(随时补充)
  3. iOS开发——网络篇——数据安全(MD5),HTTPS,检测网络状态
  4. Springmvc4 com/fasterxml/jackson/core/JsonProcessingException
  5. 如何解决php 生成验证码图片不显示问题
  6. Oracle:安装中的注意事项
  7. Qt播放mp3
  8. Cocos2d-x 坑之二:目录改动后, cannot run on the selected destination
  9. T4 模板自动生成带注释的实体类文件
  10. SPOJ104 Highways,跨越数
  11. .Net程序员的前端优化
  12. 如何成为一名JAVAEE软件工程师?(前言)
  13. 最新的windows xp sp3序列号 xp序列号
  14. tenda u1 usb wireless device install driver for kali linux kernal Debian 4.3.3-7kali2 (2016-01-27) x86_64 GNU/Linux
  15. 使用拷贝文件测试(BufferedInputStream,FileInputStream)
  16. Spark 核心篇-SparkEnv
  17. URL中传递参数给视图函数
  18. 阿里八八Alpha阶段Scrum(9/12)
  19. 磁盘I/O的性能评估方法
  20. [项目实施失败讨论Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)

热门文章

  1. zookeeper基本使用
  2. SVM资源
  3. disconf---分布式配置管理平台的搭建(windows版本)
  4. 纯CSS实现吸顶效果
  5. 聊聊面试中常问的GC机制
  6. sklearn笔记:决策树
  7. 2019牛客暑期多校训练营(第七场)A String (字符串的最小表示)
  8. JS利用HTML5的Web Worker实现多线程
  9. Cisco AP-格式化AP
  10. Cisco AP-如何调整LAP信道