Delphi中如何声明ANSI字符串并确定其数组大小?

2026-04-28 01:181阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计408个文字,预计阅读时间需要2分钟。

Delphi中如何声明ANSI字符串并确定其数组大小?

在Delphi旧代码中,定义一个大小为3的字符串数组可能如下所示:

delphist: string[3];

现在,为了适应ANSI类型,可以将代码修改为:

delphist: ansistring[3];

对于Advanced OEM类型,可以使用:

delphist: 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)使用的短字符串,它主要用于遗留目的.

Delphi中如何声明ANSI字符串并确定其数组大小?

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

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

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

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

OemString = Type AnsiString(CP_OEMCP);

本文共计408个文字,预计阅读时间需要2分钟。

Delphi中如何声明ANSI字符串并确定其数组大小?

在Delphi旧代码中,定义一个大小为3的字符串数组可能如下所示:

delphist: string[3];

现在,为了适应ANSI类型,可以将代码修改为:

delphist: ansistring[3];

对于Advanced OEM类型,可以使用:

delphist: 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)使用的短字符串,它主要用于遗留目的.

Delphi中如何声明ANSI字符串并确定其数组大小?

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

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

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

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

OemString = Type AnsiString(CP_OEMCP);