我有一個VB.NET的代碼,自己百度VB.NET中相關函式以后,轉換成等效的XE10的代碼,其中:inStr是傳入的字串string,num是整數int(VB.NET)/integer(XE10),當傳入字串為數字、英文、字符等非中文時,兩者得到結果是一樣的,但是如果傳入的是字串包含中文就不一樣。
嘗試在Delphi7環境下測驗,雖然和XE10得到的結果不一樣,但是和VB.NET得到的結果也不一樣,所以可能不僅僅是string和ansistring,widestring不一樣的原因,因為本人不會VB.NET所以不清楚哪兒不對,求指教!
VB.NET:
StringType.FromChar(Strings.Chr(Strings.Asc(Strings.Mid(inStr, num, 1))));
XE10:
string(Char(Ord(Copy(inStr, num, 1)[1]) ))
uj5u.com熱心網友回復:
就是Copy(inStr, num, 1)吧,不用轉那么多次。uj5u.com熱心網友回復:
最好的方法就是將嵌套的代碼一層一層拆開,除錯一下看看到底在哪一層出錯,改之即可。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56574.html
標籤:VCL組件開發及應用
