【发布时间】:2013-09-25 09:16:32
【问题描述】:
我需要比较两个 AnsiString 以查看它们是否具有相同的文本(忽略大小写)。
var
text1, text2: AnsiString;
begin
if SameText(text1, text2) then
...
在 Unicode 之前的 Delphi 中,我会使用 SameText 函数,但在现代 Delphi 中只有 Unicode 版本,所以我收到这个警告:W1057 Implicit string cast from 'AnsiString' to 'string' on call。
我的问题是,如何在现代 Delphi 中正确比较 AnsiStrings 而不会收到编译器警告(并且不必将两个字符串都强制转换为 UnicodeString(text))
【问题讨论】:
-
IIRC 有一个 ansistrings 或 ansistrutils 单元,其中包含用于 ansi 字符串的函数。 (这台机器上没有 Delphi)
-
正如@Marjan 所说,
there it is。 -
您应该问自己的问题是,为什么您甚至想要比较两个
AnsiString变量。 -
@DavidHeffernan:我有一些理由。也许我们可以在聊天中讨论? (德尔福房间中的 AnsiStrings)
标签: delphi unicode string-comparison