全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2052
推到 Plurk!
推到 Facebook!

DELPHI 2010 COPY函數長度計算問題

答題得分者是:rick060
ken.hsiao
一般會員


發表:17
回覆:15
積分:6
註冊:2007-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-06-07 16:06:52 IP:59.126.xxx.xxx 訂閱
 請教一下版上的前輩們,小弟有一文字檔要匯入到資料庫中,在匯入的字串中如 s := '411太平市xxxxxxx'

之前用d7時, 用copy(s, 1, 9) 可以正確取得 411太平市 的字串,

但是在 d2010時 中文字試算程式1個字元, copy(s, 1, 9) 卻變成 411太平市XXXXXXX

不知這種固定樣式擷取字串的問題在DELPHI2010中該如何處理呢??
rick060
高階會員


發表:2
回覆:112
積分:217
註冊:2009-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-06-07 16:27:16 IP:60.250.xxx.xxx 未訂閱
 var
str1 : AnsiString;
str2 : String;
begin
str1 := '123我是誰xxxxx';
str2 := str1;
ShowMessage( copy(str1,1,9) ); //結果 '123我是誰'
ShowMessage( copy(str2,1,9) ); //結果 '123我是誰xxx'
end;

看出來差別了嗎
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-06-07 20:08:57 IP:220.128.xxx.xxx 未訂閱
單純是 Unicode 的關係,Unicode 下,Copy() 不以 byte 判斷,而用字元數判斷,一個中文字只算一個字元。
ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-06-07 21:57:42 IP:220.128.xxx.xxx 未訂閱

可參考 範例 : EXE 及 SOURCE

http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=102704



===================引 用 ken.hsiao 文 章===================
請教一下版上的前輩們,小弟有一文字檔要匯入到資料庫中,在匯入的字串中如 s := '411太平市xxxxxxx'

之前用d7時, 用copy(s, 1, 9) 可以正確取得 411太平市 的字串,

但是在 d2010時 中文字試算程式1個字元, copy(s, 1, 9) 卻變成 411太平市XXXXXXX

不知這種固定樣式擷取字串的問題在DELPHI2010中該如何處理呢??
------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
系統時間:2024-04-24 5:23:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!