d7 --->dxe6需要修改
1.PChar替換成PAnsiChar
2.Length(P1) 修改成 Length(P1)*SizeOf(Char) 或者 ByteLength函數計算
3.Key in ['a'..'z','B','C']
這類代碼最好替換成CharInSet(Key,['a'..'z','B','C']) 不然會當作AnsiChar處理。
4.代碼中的所有WideString都考慮替換成String。
5.引用AnsiStrings單元
如果你有必要使用 AnsiLowerCase AnsiCompareStr之類的函數,一定要引用AnsiStrings單元。
如果你不引用該單元,即便編譯不報錯,你實際上是用的還是Unicode版本的函數,會有隱式的轉化。
不信你打開參數自動完成,看看IDE提示給你的類型是什么?
天啊AnsiLowerCase參數竟然還是String,而不是AnsiString。看來Delphi2010太迫切的要拋棄Ansi字符串了,
以至於你不引用AnsiStrings單元,所有Ansixxxx函數實際上還是Unicode版本
6.AnsiCopy AnsiPos AnsiDelete
不要用AnsiCopy AnsiPos AnsiDelete,因為Copy Pos Delete三個函數已經有了For Ansi的重載。
7.把Char轉化為小寫用什么?
答案:試試看Character單元的新函數 ToUpper ToLower。以前我都是用System里面的UpCase函數,現在依然可用不過卻找不到LowCase DownCase之類的函數,困擾我好久好久。索性全使用Character單元提供的新函數吧。
8.frxClass, frxDBSet; fastreport4-->fastreport5要替換上面的單元。
9.
DateSeparator
只需要把DecimalSeparator前加上FormatSettings變成 FormatSettings.DecimalSeparator;
如果提示沒有定義ShortTimeFormat,DateSeparator,ThousandSeparator,CurrencyString等等;方法同上。