線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1170
推到 Plurk!
推到 Facebook!

取代函式的用法?

尚未結案
wena
一般會員


發表:26
回覆:37
積分:12
註冊:2005-07-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-31 22:53:03 IP:218.162.xxx.xxx 未訂閱
請問我要使用取代這個函式時發現一個問題 temp = StringReplace(temp, Edit1->Text, Edit2->Text, TReplaceFlags()<RichEdit1->Text, RichEdit2->Text, TReplaceFlags()<
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-01 11:10:45 IP:59.115.xxx.xxx 未訂閱
wena 您好:    我測試的結果是 OK 的,會不會是您的 OldPattern 或 NewPattern 參數設錯,指向了其它的 RichEdit?    如果您確認各個參數都設置正確的話,您可以追蹤檢查一下您的程式碼,看看執行到該步驟時,各個相關元件與變數的內容是不是都如預期?特別注意一下 OldPattern 參數所指向的 RichEdit 內是否包含了換行字元,而 temp 內包含了相對應的字樣?    另外提醒您一下,程式碼請按下列連結內的說明來張貼,以便他人瀏覽時能夠查看到完整的內容: 【公告】重申版規與作業問題說明 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58991 7 天天敲鍵盤 v 時時按滑鼠 8
wena
一般會員


發表:26
回覆:37
積分:12
註冊:2005-07-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-01 19:38:24 IP:218.160.xxx.xxx 未訂閱
Rednow您好: 其實我開另一個檔來測試時 也是可以成功的    但寫在我原來project裡時,就一直失敗 參數也沒設錯 追蹤程式時發現取代那一行函式似乎都沒發生效果 所以輸出的結果 = 輸入的    程式:
AnsiString temp = RichEdit1->Text;
temp = StringReplace(temp, RichEdit3->Text, RichEdit4->Text, TReplaceFlags()<Text = temp;
為何這樣呢?? 試了好多次了 謝謝!
 
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-01 20:12:14 IP:61.217.xxx.xxx 未訂閱
wena 您好:    就像我前一篇所說的,如果您確認各個參數的設定都正確無誤,那麼就可能是所設定的資料根本就無法配合該段敘述的運作,當您追蹤到了使用 StringReplace() 那行敘述時,可以查看一下下列資料: 1. temp 的內容 (RichEdit1->Text)。 2. RichEdit3->Text 與 RichEdit4->Text 的內容長度 如果 temp 內並未包含 RichEdit3->Text 的內容 (包含換行....等不可視字元),那麼該敘述本來就不會發揮作用,如果您對程式進行除錯後仍未找出問題的話,請您將您的測試資料 (RichEdit1、RichEdit3、RichEdit4) 的內容貼上來。 7 天天敲鍵盤 v 時時按滑鼠 8
wena
一般會員


發表:26
回覆:37
積分:12
註冊:2005-07-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-02 19:10:39 IP:218.162.xxx.xxx 未訂閱
嗯!我發現有換行字元 RichEdit1 = AAA RichEdit3 = AAA\r\n RichEdit4 = BBB\r\n 難怪該敘述不會發生作用 但問題是 我並沒有按Enter鍵啊 為何會出現換行字元呢? 謝謝協助!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-09-02 20:05:27 IP:59.115.xxx.xxx 未訂閱
wena 您好:    我不太清楚您的 RichEdit 在沒有按下 Enter 鍵的狀態下為何會出現換行字元?但是為了解決這個問題,您可以將字串資料後方的換行字元刪除後再做處理,例如:
AnsiString temp = RichEdit1->Text;
temp = StringReplace(temp, RichEdit3->Text.TrimRight(), RichEdit4->Text.TrimRight(), TReplaceFlags()<Text = temp;
7 天天敲鍵盤 v 時時按滑鼠 8
系統時間:2024-05-03 11:56:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!