如何在现代 Delphi 中使用SameText for AnsiString?

eyh26e7m  于 2023-02-12  发布在  其他
关注(0)|答案(1)|浏览(141)

我需要比较两个AnsiString,看看它们是否具有相同的文本(忽略大小写)。

var
  text1, text2: AnsiString;
begin
  if SameText(text1, text2) then
  ...

在Unicode之前的 Delphi 中我会使用SameText函数,但在现代Delphi中只有Unicode版本,所以我得到了这个警告:W1057 Implicit string cast from 'AnsiString' to 'string'随叫随到。
我的问题是,如何在现代 Delphi 中正确地比较AnsiString而不收到编译器警告(并且不必过多地将两个字符串都转换为UnicodeString(text)

ct3nt3jp

ct3nt3jp1#

实际上,有一个AnsiStrings模块保存了所有较旧的AnsiString版本的字符串实用程序:)
因此,解决方案如下:

uses
  System.AnsiStrings;
...
var
  text1, text2: AnsiString;
begin
  if AnsiStrings.SameText(text1, text2) then
  ...

相关问题