当前位置 : 主页 > 编程语言 > delphi >

arrays – delphi声明ansi字符串的大小

来源:互联网 收集:自由互联 发布时间:2021-06-23
很容易定义一个大小为3的字符串(在旧的delphi代码中) st:string[3]; 现在,我们希望将代码移至ansi st:ansiString[3]; 不行! 并为adcanced oem类型 st:oemString[3]; 同样的问题,在哪里 type OemString = Type
很容易定义一个大小为3的字符串(在旧的delphi代码中)

st:string[3];

现在,我们希望将代码移至ansi

st:ansiString[3];

不行!

并为adcanced oem类型

st:oemString[3];

同样的问题,在哪里

type
  OemString = Type AnsiString(CP_OEMCP);

怎么可以声明一个固定长度的ansi字符串和新的oem类型?

更新:我知道它会创建一个固定长度的字符串.它是防止错误的软件设计的一部分,对程序至关重要.

您不需要定义AnsiString的大小.

符号

string[3]

用于Pascal(和Delphi 1)使用的短字符串,它主要用于遗留目的.

短字符串可以是1到255个字节长.第一个(“隐藏”)字节包含长度.

AnsiString是指向字符缓冲区的指针(0终止).它有一些内部魔法,如引用计数.并且您可以安全地将字符添加到现有字符串,因为编译器将为您处理所有令人讨厌的细节.

UnicodeStrings与AnsiStrings类似,但使用unicode字符(在本例中为2个字节).现在默认字符串(Delphi 2009)映射到UnicodeString.

AnsiString类型有一个构造来添加代码页(用于定义127以上的字符),因此CP_OEMCP:

OemString = Type AnsiString(CP_OEMCP);
网友评论