我需要比较两个AnsiStrings以查看它们是否具有相同的文本(忽略大小写)。
var
text1, text2: AnsiString;
begin
if SameText(text1, text2) then
...
在Unicode之前的Delphi中,我会使用SameText
函数,但在现代Delphi中只有它的Unicode版本,所以我收到这个警告:W1057 Implicit string cast from 'AnsiString' to 'string'
随叫随到。
我的问题是,如何正确比较现代Delphi中的AnsiStrings而不会收到编译器警告(并且不必过多地将两个字符串都转换为UnicodeString(text)
)
答案 0 :(得分:6)
确实,有一个AnsiStrings
模块可以保留字符串utils的所有旧版AnsStrings版本:)
所以解决方案如下:
uses
System.AnsiStrings;
...
var
text1, text2: AnsiString;
begin
if AnsiStrings.SameText(text1, text2) then
...