對於一個unicode的欄位要如何下trim,才不會得到亂碼? |
答題得分者是:Stallion
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
謝謝stallion大德的回覆
1. 只要安裝TNT改寫的ADOQuery再下trim就ok 嗎? 還是要用 TNT 的字串函式才OK? 在程式中常用字串 函式如 TRIM / COPY 等...,是要用 DELPHI 自帶的,還是用 TNT的字串函式? 2. 我有下載舊版的 TNT 2.1.11版,Packages 裡有好多東東, 我已安裝 tntUnicodeVcl_D50,還有其他如 TntUnicodeVcl_R50, TntUnicodeVcl_D70_DATASNAP, TntThdmeManager5 之package,請問這些是 幹什用? 3. TntEx 好像 D7 以後才有的元件, D5沒看到此元件 4.其中有一支 TntsysUtilsD5Fix.pas ,這支是幹什用? 要安裝嗎? |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
===================引 用 joana 文 章===================
謝謝stallion大德的回覆 1.只要安裝TNT改寫的ADOQuery再下trim就ok 嗎? 還是要用 TNT 的字串函式才OK? 在程式中常用字串 函式如 TRIM / COPY等...,是要用 DELPHI 自帶的,還是用 TNT的字串函式? 是的,我用TNT改寫的ADOQuery,這個VCL要單獨安裝,想想!如果原來的ADOQuery沒問題,TNT為何要改寫?我用這個元件解決過萬國碼資料庫的問題。 2. 我有下載舊版的 TNT 2.1.11版,Packages 裡有好多東東, 我已安裝 tntUnicodeVcl_D50,還有其他如 TntUnicodeVcl_R50, TntUnicodeVcl_D70_DATASNAP, TntThdmeManager5 之package,請問這些是 幹什用? 3. TntEx 好像 D7 以後才有的元件, D5沒看到此元件 TntEx也是TNT改寫的ADO元件,不是Delphi內建的。 4.其中有一支 TntsysUtilsD5Fix.pas ,這支是幹什用? 要安裝嗎? 抱歉,我也沒用過,自己看看裡面的函數應該就能瞭解。TNT改寫的VCL也附上很多公用程式,這支程式看檔名好像是某支公用程式的的更新檔。 |
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
謝謝stallion大德的回覆
1.只要安裝TNT改寫的ADOQuery再下trim就ok 嗎? 還是要用 TNT 的字串函式才OK? TNT改寫的ADOQuery抓回來的編碼保持WideString的型態,抓回來後就看你怎麼處理了,先轉換成你要的Locale即可,何必一定急得先Trim呢? 2.我下載的TNT for Delphi5 沒有 TntEX (ADO元件), 是否 TNT for Delphi7 才會有 ADO元件? TntEx是個別安裝的元件跟D5與D7沒關係吧!難道ADO與WideString類別在D5沒有支援?D5我不確定可不可以裝?我是在D7實作的,先抓回來安裝再你的Compiler看看,我認為問題應該不大。 |
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.當然是TntEx底下所有的目錄及檔案啊!你沒裝過VCL元件嗎?裡面有的是Package專案檔,其他的是範例,以及Package所需的檔案,另外也附上改寫的QR Unicode VCL。
2.我前面提過,該Package的確是D7適用,只不過我建議你下載下來安裝看看,說不定D5也可以用。 ===================引 用 joana 文 章=================== 謝謝stallion大德的回覆,我現在有點搞不清楚,到底應該下載packages 目錄底下的 dpk, 還是 TntEx 目錄底下所有的 pas,但 packages 底下明明是 D7, 但我的是 D5 |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1. stallion 大德的意思是要安裝pakages 目錄底下的 6個 dpk檔, 及 TntEx目錄底下所有的
PAS檔(delphi source file)嗎? 如果裝錯就毁了 裝dpk就好,那些PAS是組成VCL的元件,放心啦~裝不起來不會毀的!只不過VCL元件的安裝很奇怪,有些要先裝Design Time元件,有些要先安裝Run Time元件,有些只有一支DPK就幫你安裝的好好的,端視設計的人怎麼安排的(如果有Readme看看裡面最好)。 2. QR Unicode VCL是什麼東東? Quick Report Unicode VCL. 3.個人不建議安裝補完計畫,因為程式寫完了不是給自己用,是給客戶用,難道你還要幫客戶一一安裝補完字型檔嗎?另外,補完計畫安裝後進入某些網站,中文字會看不到或變成亂碼,還好補完計畫可以移除。 |
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.雖然你沒貼出來錯誤訊息,我大概可以想見,應該是函數名稱找不到的錯誤訊息。先看一下這篇:http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=81078
2.如果你沒有上述的版本,那按照小弟的敘述改一下一樣可以重新Compile,只不過麻煩一點,免費版本的函數名稱功能一樣,往往名稱都不一樣。 2.1將找不到函數名稱如StrMoveW,StrLenW等等的檔案,uses TntWideStrUtils.pas ,其後將函數名稱一一按照相對的名稱改過來如 WStrMove, WStrLen等等,請自行檢視 TntWideStrUtils.pas 對照更改。 2.2另外在 TntDBUtils 裡面會有一個 WideStringRelpace 也同樣找不到,請將該檔案 uese TntSysUtils.pas ,然後函數名稱改為 Tnt_WideStringRelpace。 3.如此你的TntExVCL就可以掛上去了,你就可以用TntADOQuery以及TntADOStoreProc。 4.TntExUpdate我沒有安裝,因為看說明要安裝其他一些Third party的元件,我就懶了! ===================引 用 joana 文 章=================== 回覆stallion大, TntUnicodeControlEx_D7.dpk 無法安裝在 D5,我轉安裝到 D7,TntUnicodeVcl_D70 可以安裝,但安裝 TntEx 的TntUnicodeControlEx _D7.dpk 無法安裝,出現如下訊息,請幫忙看看,謝謝! |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
小弟開發的是D6版的 安裝完 "完補計畫" 之後一般的元件也可以支援雙字元!!
由於客戶的需求在以前有win98或者winme系統所以不適用~ 但是對於這類的防杜小弟是做在封裝檔的check也就是其實在使用者第一次安裝的時候!! 一併將完補計畫也安裝進去~ 在設計成二段的完成程序 就是讓使用者必須開機二次!! 讓他不知覺的完成完補計畫!! 小弟認為這是最快也最完整的解決unicode的問題!! 至於你的簡體字的顯示並不是單純在"元件",也在db的儲存語言的預設值上~
------
====================== 昏睡~ 不昏睡~ 不由昏睡~
編輯記錄
ko 重新編輯於 2007-06-27 16:43:00, 註解 無‧
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
回覆stallion大, 我已把Tnt Unicode Controls - 2.1.11 版的 TntSysUtils.PAS 拷貝到 TntEx目錄下
選 TntUnicodeControlEx_D7.dpk Compile ,還是踢到鐵版, 找不到 TntSysUtilsEx.dcu,但我找遍了所有的 dcu,也找不到這支 dcu Y, 報告 stallion大,先前 TntUnicodeVcl_D70.dpk 我是用比較新的版本, TntSysUtils.PAS 是用 2.1.11版, 這新舊版本不一樣,有沒有關係? 出現訊息如下,不好意思,又要麻煩您了 報告stallion大, 先前 TntUnicodeVcl_D70.dpk 我是用比較新的版本, TntSysUtils.PAS是用 2.1.11版 不曉得這版本新舊不一樣,有沒有關係,出現訊息如下,真不好意思,又要麻煩您了
編輯記錄
joana 重新編輯於 2007-06-27 23:00:57, 註解 無‧
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.先下載這個TNT Unicode Controls 吧~
2.完成前面的安裝,再安裝之前的說明安裝TntEx。 |
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
A.回覆stallion大,我之前已有安裝TntUnicodeVcl_D70.dpk,可以再用這版本重新安裝一次,不須將之前的拿掉嗎?
當然要將之前版本的TntUnicodeControls先移除。 B..安裝步驟 c1.TntUnicodeQR3_R70.dpk---------->Compile c2.TntUnicodeQR3_D70.dpk----------->Install c3.TntUnicodeControlsEx_R70.dpk--->Compile c4.TntUnicodeControlsEx_D70.dpk---->Install
編輯記錄
Stallion 重新編輯於 2007-06-28 11:53:14, 註解 無‧
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
回覆stallion大,按照您的指導,已安裝妥當,真是太辛苦您了,也謝謝您那麼耐心細心的教導,
謝謝... 還有幾個問題,想再請教stallion大 1.關於印表,因我們公司是用別家的印表程式Visurl Report(不支援UNICODE),現在又多了 TntQReport的4個元件,只用這4個元件就能印表嗎? 2.TntQReport頁面下的TntQRsysdata 元件有何作用? 3.TntQReport頁面下的TQRDBText元件,有指定DataField 及DataSet,但資料卻顯現不出來, 執行程式時,所顯示的卻是欄位名稱? 4.TntEx只有TntADOQuery1,TntStocProc,沒有TntADOConnection,那TntADOQuery1的Connection 還是得指到 Delphi自帶的ADOConnection,這樣資料會不會有問題? 5.TntDBGrid元件 跟 TntDBGridEx元件 有何差別? 6.為何TntUnicodeControlsEx_R70.dpk 只要 Compile 而不 Install? 而TntUnicodeControlsEx_D70.dpk 卻只要Install 而不 Compile? 7.之前您曾提過的ADOMemo部分,要下載TntWideAdoMemoField,這個ADOMemo是個欄位名稱嗎? 還有分享一下,trim(TntADOQuery1['name'],還是會得到一個亂碼,要先宣告一個 WideString 的變數 ss:WideString ss:=TntADOQuery1['name'] trim(ss) -->這樣才能正確截掉後面空白的部份 |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |