问题来源: http://www.cnblogs.com/del/archive/2008/05/19/1089944.html#1203165
1、# 后面跟一个字符编码可以表示这个字符, 字符编码可以用十进制或十六进制表示;
譬如字符 "A" 的编码是 65(十进制) 或 $41(十六进制).
ANSII 编码表参见: http://www.cnblogs.com/del/archive/2007/12/07/987071.html
回车是 #13, 换行是 #10, 所以 sLineBreak 的值是 #13#10;
我们在输入提示时显示的是 sLineBreak = #$D#$A, 这不过是换成了十六进制显示.
1、# 后面跟一个字符编码可以表示这个字符, 字符编码可以用十进制或十六进制表示;
譬如字符 "A" 的编码是 65(十进制) 或 $41(十六进制).
ANSII 编码表参见: http://www.cnblogs.com/del/archive/2007/12/07/987071.html
var c: AnsiChar; begin c := #65; ShowMessage(c); {A} c := #$41; ShowMessage(c); {A} end;2、用 # 也可以表示双字节字符, 所有汉字编码参见: http://www.cnblogs.com/del/archive/2007/12/15/996290.html
var wc: WideChar; begin wc := #19975; ShowMessage(wc); {万} wc := #$4E07; ShowMessage(wc); {万} {双字节兼容单字节} wc := #65; ShowMessage(wc); {A} wc := #$41; ShowMessage(wc); {A} end;3、多个用 # 表示的字符连接时, 可以省略 + 号.
var str: string; begin str := #65 + #66 + #67; ShowMessage(str); {ABC} str := #65#66#67; ShowMessage(str); {ABC} str := '万一的' + #32 + #68 + #101 + #108 + #112 + #104 + #105 + #32 + '博客'; ShowMessage(str); {万一的 Delphi 博客} str := '万一的'#32#68#101#108#112#104#105#32'博客'; ShowMessage(str); {万一的 Delphi 博客} end;另外 System 单元有个常量 sLineBreak, 它用来表示回车换行;
回车是 #13, 换行是 #10, 所以 sLineBreak 的值是 #13#10;
我们在输入提示时显示的是 sLineBreak = #$D#$A, 这不过是换成了十六进制显示.