發表文章

目前顯示的是 10月, 2008的文章

FastReport 4.7x 中文介面的問題及解法

圖片
最近全球受到金融海嘯的影響,我也無法倖免於難,腦袋昏昏沉沉,做起事來也懶懶散散。這樣也不是辦法,突然想起不知那位先哲說的,可以拿數學來訓練腦力,所以隨手抓起一本《組合數學》的書來看,效果如何?就不言而喻了。幸運的是,病情雖沒轉好,但也沒有變差,腦袋瓜當然也沒變得更聰明。上個禮拜,有朋友來電問我用 Delphi 寫報表程式的問題,主要是 Codegear 出 Delphi 2009 這個版本,早期使用報表元件 FastReport 3.x 的版本也隨之更新,然而在 FastReport 3.x 毫無問題的中文介面,更換 FastReport 4 卻變成亂碼,因此希望我協助找出問題和解決的辦法。 有事做總是好的,所以我就爽快的答應下來。為了診斷問題,所以必須先找到所需的工具, Codegear 有 Delphi 2009 的測試版 提供下載,當然少不了要填寫資料,下載《Delphi and C++Builder 2009 Trial with ISO》的檔案約 1.9 G。至於 FastReport 4.x 也可以到 Fast Report Inc. 的網站 下載 測試版,目前最新的版本是 FastReport 4.7x,由於我前後下載了幾次,每次最後的 x 數字都不同,然而截至目前為止,我發現 FastReport 4.7x 版都未解決中文介面顯示的問題。 我把 Delphi 2009 和 FastReport 4.7x 依先後安裝完畢。在安裝過程中,FastReport 會詢問所要安裝的語言別,但安裝之後,我發現並沒有什麼作用,可能只是安裝過程用來顯示繁體中文而已。因此,為了能在 Delphi 程式執行期間顯示報表的中文介面,還必須運用 FastReport 4.7x 的 Recompile Wizard(重新編譯精靈),把語言轉換成繁體中文。 完成這項工作之後,就可以執行 Delphi 的 IDE 環境,我隨便找個 FastReport 所提供的範例來測試(像是 PrintTable 這個專案),並且執行。當開啟 FastReport 的預覽列印時,果然中文字不是缺字,就是呈現亂碼。結果如下圖所示: 究其原因,首先是 FastReport 4 的資源編譯器 frcc.exe 發生了問題。為什麼做此判斷?我發現經由 frcc.exe 所轉換的 Delphi 檔