2013-03-10 53 views
2

今天我正在修復我們的代碼中的一些警告,其中一個是「W1058隱式字符串強制轉換,可能會將數據從'字符串'丟失到'AnsiString'」ContainsStr函數中。是否存在與unicode字符串相同的ContainsStr?

在搜索了一段時間之後,我找到了一個相當於這個函數的代碼,這個函數以兩個unicode字符串作爲參數。我期望找到像ContainsWideStr(對於Delphi 2007及更低版本)或ContainsUnicodeStr(對於Delphi 2009+),但我找不到任何這些。

我知道我可以做這樣的事情我自己:

function ContainsUnicodeStr(const AText, ASubText: String): Boolean; 
begin 
    Result := Pos(ASubText, AText) > 0; 
end; 

不過,我想避免的代碼已經在德爾福的重複,但我根本不知道在哪裏。

+0

如果在任何地方,它應該在包含ContainsStr函數的同一單元中?除非在某個名稱中帶有Ansi的單位中,否則我希望它位於strutils單元中。 – 2013-03-10 19:10:23

+2

描述的例程[這裏](http://docwiki.embarcadero.com/Libraries/XE2/de/System.StrUtils.ContainsStr)需要兩個Unicode字符串。 – 2013-03-10 19:13:29

+0

謝謝,不知何故,我已經被封鎖,忘了檢查這個核心單元! :) – Wodzu 2013-03-10 19:16:54

回答

相關問題