是否有一个方便的Format()函数仅适用于Ansi字符串?因为每次我使用带有Format()的AnsiString时都会收到警告。不,我不希望Delphi在Wide和Ansi字符串之间来回转换我的AnsiStrings。这只是让事情变得非常慢。另外,有没有办法强制字符串常量为Ansi?看看这个
function SomeStrFunc(S: AnsiString): AnsiString; overload;
function SomeStrFunc(S: String): String; overload;
然后当我使用SomeStrFunc('ABC')时,它将调用宽字符串版本。如果我想使用Ansi版本并强制Delphi在AnsiChars中存储'ABC'常量怎么办。
答案 0 :(得分:11)
Format
单位
System.AnsiStrings
函数的Ansi版本
答案 1 :(得分:7)
Serg回答了您关于AnsiString
版本Format()
的问题。我会回答你的另一个问题。
字符串文字根据它们使用的上下文进行编码,因此要将文字强制为特定编码,您必须告诉编译器需要使用哪种编码,例如:
SomeStrFunc(AnsiString('ABC'));
或者
const
cABC: AnsiString = 'ABC';
SomeStrFunc(cABC);