哇,说得那么复杂!!!pchar是字符串指针,类似于c中的char*
AnsiString是Delphi中的String类型的C++模拟;
WideString与AnsiString类似,但支持Unicode.
AnsiString是Delphi中的String类型的C++模拟;
WideString与AnsiString类似,但支持Unicode.
解决方案 »
- dephi2007,买了套正版,请问可否一套正版软件,可以安装多台机器。排除法律问题。
- 尽地主之谊---恭喜妖妖大喜
- delphi 7 的一个小问题。
- MessageDlg的问题
- 关于B/S结构、Delphi5、Dcom技术的几个问题。
- 一个经常出现的错误,Access violation......,一般是由什么引起的啊?
- 请问一下,自由报表是怎么做的,有经验的大虾,过来指点一下,或给个思路.???
- SQL语法问题:SQL组合查询的语法问题
- DELPHI的一个小问题
- 如何不通过BDE访问Dbase5文件,*.DB是什么文件?
- 在DELPHI如何调用DOS命令type tt.txt>lpt1
- 百分问个小问题:请使用过SkinEngine的高手作答。。。
• AnsiChar 这是标准的1字节的A N S I字符,程序员都对它比较熟悉。
• WideChar 这是2字节的U n i c o d e字符。
• Char 在目前相当于A n s i C h a r, 但在D e l p h i以后版本中相当于Wi d e C h a r.
记住因为一个字符在长度上并不表示一个字节,所以不能在应用程序中对字符长度进行硬编码,
而应该使用S i z e o f ( )函数。
注意Sizeof()标准函数返回类型或实例的字节长度。
===============字符串
字符串是代表一组字符的变量类型,每一种语言都有自己的字符串类型的存储和使用方法。
P a s c a l类型有下列几种不同的字符串类型来满足程序的要求:
• AnsiString 这是P a s c a l缺省的字符串类型,它由AnsiChar 字符组成,其长度没有限制,同时与
n u l l结束的字符串相兼容。
• ShortString 保留该类型是为了向后兼容Delphi 1.0,它的长度限制在2 5 5个字符内。
• WideString 功能上类似于A n s i S t r i n g,但它是由Wi d e C h a r字符组成的。
• PChar 指向n u l l结束的C h a r字符串的指针,类似于C的char * 或l p s t r类型。
• PAnsiChar 指向n u l l结束的A n s i C h a r字符串的指针。
• PWideChar 指向n u l l结束的Wi d e C h a r字符串的指针。
缺省情况下,如果用如下的代码来定义字符串,编译器认为是AnsiString 字符串:
v a r
S:string; //编译器认为S的类型是A n s i S t r i n g
当然,能用编译开关$ H来将s t r i n g类型定义为S h o r t S t r i n g,当$ H编译开关的值为负时, s t r i n g变量
是S h o r t S t r i n g类型;当$ H编译开关的值为正时(缺省情况),字符串变量是A n s i S t r i n g类型。下面的代码
演示了这种情况:
v a r
{ $ H - }
S1:string; //S1是S h o r t S t r i n g类型
{ $ H + }
S2:string; //S2是A n s i S t r i n g类型
使用$ H规则的一个例外是,如果在定义时特地指定了长度(最大在2 5 5个字符内),那么总是
S h o r t S t r i n g:
v a r
S: string[63]; //63个字符的S h o r t S t r i n g字符串
1. AnsiString类型
A n s i S t r i n g (或长字符串)类型是在Delphi 2.0开始引入的,因为Delphi 1.0的用户特别需要一个容易
使用而且没有2 5 5个字符限制的字符串类型,而A n s i S t r i n g正好能满足这些要求。