2011-03-29 61 views
3

是否有人使用Delphi的ICU(參見http://site.icu-project.org/)DLL?有沒有人使用Delphi的ICU?

具體我感興趣的代碼頁轉換和整理功能。

望着頭文件這樣看來,他們大多是在C++中使用類,因此而不必做大量的研究還沒有,我會認爲有必要創建一個圍繞這一個簡單的包裝,出口簡單的功能,這可以很容易地在Delphi中導入。

任何人做的任何工作了嗎?

或任何人可以推薦德爾福不同的解決方案,對代碼頁和整理順序類似廣泛的覆蓋面?

+1

不要現代德爾福已經做代碼頁轉換? – 2011-03-29 13:33:40

+0

是的,當然。但這取決於調用Windows API函數。數據支持代碼頁翻譯和整理順序已在每個Windows版本中更新。因此,如果您在一個版本的Windows上對字符串列表進行排序並將其保存到文件中。然後在不同版本的窗口上打開該列表,嘗試在假定的排序列表中執行二進制搜索,它會被命中並錯過,因爲字符串比較現在可能會返回不同的結果,然後列表最初被排序。使用ICU將允許獨立於OS版本的一致的排序順序。 – 2011-03-29 14:01:45

+0

如果排序是唯一的問題,你不能簡單地重新排序文件?我在考慮改變排序的原因:你確定ICU沒有包含從版本到版本的相同變化嗎?如果沒有,並且ICU和Windows之間有區別,您確定ICU版本是否正確,並且Windows錯誤?我確信微軟有其缺陷,但我也確信它在各個國家和每種語言中都有使用:如果從版本A到版本B發生變化,可能是因爲母語使用者請求它。 – 2011-03-30 19:21:33

回答

2

我不使用它,但有一個叫ICU4PAS非常完整的翻譯,它包裝的DLL和提供了一個很好的基於Delphi的界面。

+0

謝謝,我明天會詳細檢查。我唯一擔心的是自2007年以來封裝並未更新,ICU自那以後經常更新。由於包裝紙乍看起來似乎與VMT偏移混亂,我認爲如果對ICU進行了任何更改,會出現嚴重問題。你知道有哪些人正在使用這些包裝與當前版本的ICU? – 2011-03-29 14:59:13

+0

對不起,沒有。鑑於描述,我懷疑它會按原樣用於新版本,但我懷疑這些更新是相當機械的。 – 2011-03-29 15:27:51

+0

不幸的是,它似乎需要花費大量的工作才能使用當前版本的ICU,所以這不是一個好的選擇。 – 2011-03-30 08:50:05