簡體   English   中英

是否有任何工具/實用程序可以在pascal源文件中將“string”轉換為“AnsiString”?

[英]Is there any tools/utility to convert “string” to “AnsiString” in pascal source files?

Delphi 2009及以上版本支持unicode。 我有幾個遺留的pascal源文件,我希望在Delphi 2009/2010以及Delphi 2007及更低版本中進行編譯。

一種快速安全的方法是更換

  • 字符串到AnsiString
  • PChar到PAnsiChar
  • Char到AnsiChar

是否有任何實用程序可以解析.pas文件並進行此類替換?

有一個工具可以指出可能需要注意的區域:

http://cc.embarcadero.com/Item/27398

它不會自動轉換它,grep會這樣做但是mghie說它並不那么簡單。

你可以使用sed

sed -i bak -e "s/string/AnsiString/g" *.pas

不過,這將是一個非常糟糕的主意。 沒有理由你的代碼不能在所有 Delphi版本中編譯。 “字符串”的含義已經改變了,但那又怎么樣? 您的Delphi 2007代碼不需要 Delphi 2009代碼一起使用。 DCU文件格式不同,因此您無需重新編譯您更改的任何內容。

通過將所有內容更改為AnsiString,您實際上拒絕了Delphi 2009提供的所有新功能。 如果這就是你想要做的事情,你可以通過根本不升級到Delphi 2009來節省很多錢。 為什么購買產品然后不使用它的任何功能? 由於產品中的其他所有內容都是Unicode,因此程序的性能會隨着字符串格式之間的不斷轉換而下降。 您還將淹沒所有轉化的編譯器警告。

不要將方釘釘入圓孔,特別是當你有一套完美好的圓釘坐在你旁邊時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM