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

Copy 字符串

答題得分者是:timhuang
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-20 22:04:34 IP:210.77.xxx.xxx 未訂閱
我想将TStringList中的某个字串赋给另一字串 var str: string; StringList :TStringList; str := StringList.Strings[i]; 我发现这样的copy好样不只是值间copy,当我用AnsiStrUpper将str转成大写时,Strings[i]也变了。怎样才能真正做到传值?
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-20 23:53:16 IP:61.221.xxx.xxx 未訂閱
問題應該不是出在 str := StringList.Strings[i]; 上面, 而是 AnsiStrUpper 的問題, 該函數是傳入 PChar 的變數型態, 若你是使用 function AnsiStrUpper(Str: PChar): PChar; 這個 function str := AnsiStrUpper(PChar(StringList.Strings[i])); 會將 StringList.Strings[i] 先變為大寫後再複製到 str 中的, 建議你改用: function UpperCase(const S: string): string; 或 function AnsiUpperCase(const S: string): string; 來進行轉大寫的動作, 就不會發生這樣的問題了.
x803198
一般會員


發表:8
回覆:28
積分:17
註冊:2002-12-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-21 00:05:41 IP:218.166.xxx.xxx 未訂閱
如果 Str := StringList.Strings[i] 對Str 作一些處理而引響到 StringList.Strings[i] 那應該是 Str 指標是指向 StringList.Strings[i] 而不是 assgin 到 Str 在Delphi 最佳化的環境裡,常常會出現這樣的情況 換換別的路走,你會有更多的收穫
系統時間:2024-05-20 22:26:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!