【发布时间】:2026-01-13 03:10:01
【问题描述】:
今天我在我们的代码中修复了一些警告,其中之一是 “W1058 隐式字符串转换,在 ContainsStr 函数中可能会丢失从 'string' 到 'AnsiString' 的数据”。
在搜索了一段时间后,我决定在这里询问此函数的等效函数,该函数将两个 unicode 字符串作为参数。我希望找到类似ContainsWideStr(Delphi 2007 及更低版本)或ContainsUnicodeStr(Delphi 2009+)之类的东西,但我找不到这些。
我知道我可以自己做这样的事情:
function ContainsUnicodeStr(const AText, ASubText: String): Boolean;
begin
Result := Pos(ASubText, AText) > 0;
end;
但是,我想避免重复已经在 Delphi 中的代码,但我根本不知道在哪里。
【问题讨论】:
-
如果在任何地方,它应该在包含 ContainsStr 函数的同一单元中?除非那是在某个名称中带有 Ansi 的单元中,否则我希望它在 strutils 单元中。
-
here 描述的例程需要两个 Unicode 字符串。
-
谢谢,不知怎的,我被卡住了,忘了检查这个核心单元! :)
标签: string delphi unicode delphi-2009