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

如何在memo裡面讀取字串~~~?

答題得分者是:RaynorPao
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-19 15:39:51 IP:220.143.xxx.xxx 未訂閱
各位前輩大大們好: 請問各位前輩大大們,我有一個問題,就是我拉一個memo跟一個button。 我在memo上貼上了一篇文章,比如說文章裡面有"笑傲江湖"這四個字,那我要再程式裡面get這四個字,有讀取到的話就會彈出一個訊息框說有找到,反之, 則彈出說沒有。 那我該怎麼做?? 懇請大大們賜教 謝謝~~!!
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-19 15:52:41 IP:220.143.xxx.xxx 未訂閱
不好意思,附上我的原始碼。 void __fastcall TForm1::Button2Click(TObject *Sender) { if (Memo1->Lines->Text=="笑傲江湖") { Application->MessageBoxA("已有了。","結果",MB_OK); } else { Application->MessageBoxA("沒有qq。","結果",MB_OK); } }
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-19 16:00:45 IP:203.73.xxx.xxx 未訂閱
引言: 各位前輩大大們好: 請問各位前輩大大們,我有一個問題,就是我拉一個memo跟一個button。 我在memo上貼上了一篇文章,比如說文章裡面有"笑傲江湖"這四個字,那我要再程式裡面get這四個字,有讀取到的話就會彈出一個訊息框說有找到,反之, 則彈出說沒有。 那我該怎麼做?? 懇請大大們賜教 謝謝~~!!
hennessy 你好:
(1)那要看你的問題的考慮範圍有多大?
(2)假如你的「笑傲江湖」只會出現在每一行裡面,而不會跨行出現的話,只要
   這個樣子寫就可以了
   if(Memo1->Text.AnsiPos("笑傲江湖")>0)
   {
      ShowMessage("有找到!!");
   }
(3)可是假如你的「笑傲江湖」會跨行出現的話 (例如: 「笑傲」兩字在第一行
   的結尾,「江湖」兩字在第二行的開頭),如果這種情形也要列入考慮的話,
   那程式碼就要醬子寫才可以
   AnsiString szMemoText;
   for(int i=0; iLines->Count; i++)
   {
      if(Memo1->Lines->Strings[i].Trim()!="")
      {
         szMemoText+=Memo1->Lines->Strings[i].Trim();
      }
   }
   if(szMemoText.AnsiPos("笑傲江湖")>0)
   {
      ShowMessage("有找到!!");
   }
(4)請再依照自己的需求,自行修改
    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --    發表人 - RaynorPao 於 2004/08/19  16:11:25
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-19 16:00:59 IP:219.132.xxx.xxx 未訂閱
引言: 不好意思,附上我的原始碼。 void __fastcall TForm1::Button2Click(TObject *Sender) { if (Memo1->Text.Pos("笑傲江湖")) // if (Memo1->Lines->Text=="笑傲江湖") { Application->MessageBoxA("已有了。","結果",MB_OK); } else { Application->MessageBoxA("沒有qq。","結果",MB_OK); } }
請注意改成上面紅字即可! 請參考 Andy Chang
------
Andy Chang
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-19 16:24:43 IP:220.143.xxx.xxx 未訂閱
感謝版大與Andy大大的解答 原來是聯結出錯了 但兩位大大都答對ㄝ 那該怎樣給分呢 好像不可以兩個都給分喔 該怎麼辦呢 >"<
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-19 16:37:35 IP:219.132.xxx.xxx 未訂閱
引言: 感謝版大與Andy大大的解答 原來是聯結出錯了 但兩位大大都答對ㄝ 那該怎樣給分呢 好像不可以兩個都給分喔 該怎麼辦呢 >"<
hennessy:我們都是來這園地學習的,不是要分數的,而且依例包子大大 先答出來,並包子大大回答問題從不馬虎,這點令人佩服,這分數當然 給包子大大! Andy Chang 發表人 - andychang1690 於 2004/08/19 16:39:41
------
Andy Chang
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-19 17:12:49 IP:220.143.xxx.xxx 未訂閱
嗯嗯 看過很多他解答的問題 都是面面俱到 非常詳細 像這個問題 我沒想到字串的上下行分開的問題 他都想到了 真不愧是版大 佩服佩服~~!!
registrychou
一般會員


發表:1
回覆:1
積分:0
註冊:2008-02-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-07-06 14:30:22 IP:59.125.xxx.xxx 訂閱
 請問一下
如果要取Memo中數字部份 (該行字串 ,例如 this is 1234 dd)
怎麼取?
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2010-07-06 16:05:09 IP:59.120.xxx.xxx 未訂閱
請看四樓andychang1690大大的回覆


===================引 用 registrychou 文 章===================
?請問一下
如果要取Memo中數字部份 (該行字串 ,例如 this is 1234 dd)
怎麼取?
系統時間:2024-04-25 4:59:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!