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

在一個TEdit輸入數個字,用逗號隔開,如何一個一個字抓出來使用?

尚未結案
bluestarbear
一般會員


發表:1
回覆:0
積分:0
註冊:2005-10-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-01 21:44:50 IP:140.125.xxx.xxx 未訂閱
使用BCB,我在一個TEdit輸入數個字,用逗號隔開,如何一個一個字抓出來使用?例如:我在TEdit中輸入"apple,green,skirt",我要怎樣可以把他們一個一個抓出來,讓我進行之後的比對計算?
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-01 22:56:40 IP:211.22.xxx.xxx 未訂閱
查一下Pos及MidStr這兩個函數吧!可以解決你的問題~ ----------------------------------------------
RedSnow
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-01 23:04:05 IP:61.217.xxx.xxx 未訂閱
bluestarbear 妳好:    試試看 TStringList 吧,例如:

TStringList *sl = new TStringList;
sl->CommaText = Edit1->Text;
for (int i=0; iCount; i  ) {
    ShowMessage(sl->Strings[i]);
}
delete sl;
7 天天敲鍵盤 v 時時按滑鼠 8
odyaho
初階會員


發表:60
回覆:104
積分:42
註冊:2005-02-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-03 09:40:16 IP:210.202.xxx.xxx 未訂閱
Dear bluestarbear: 參考一下吧
int n1 = Edit1->Text.Pos(欲搜尋的字串);     if (n1!=0)   //假設搜尋到了
     // 你要做的事情 
 else
 {
    //Application->MessageBox("沒有資料!!","訊息",48);
    
 }
cashyy
高階會員


發表:117
回覆:322
積分:212
註冊:2004-04-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-05 16:32:25 IP:140.127.xxx.xxx 未訂閱
您好! 我有寫過一個,現給您參考看看!
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString get,edt;
  int n;
  n = 0;
  edt = Edit1->Text;                               //來源字串
  while(n <= edt.Length())                         //n < 字串長度
  {
    if(n == 0)
    {
      n = edt.Pos(",");                            //第一個逗點的位置
      get = edt.SubString(1,n-1);                  //取第一個字串
      Edit2->Text = get;                           //顯示取得的字串
    }
    else
    {
      edt = edt.SubString(n 1,edt.Length());       //從逗點後一位開始取到字串最後
      n = edt.Pos(",");
      if(n==0)                                     //n==0,代表字串中沒有逗點了!
      {
        get = edt.SubString(1,edt.Length());       //取最後一個字串 ex:111,222,333,代表333是最後一個字串
        n = Edit1->Text.Length();                  //設定n=Edit1長度,必免再進入迴圈
      }
      else
        get = edt.SubString(1,n-1);                
      Edit2->Text = Edit2->Text   get;
    }
  }
}
yachu721
初階會員


發表:51
回覆:98
積分:44
註冊:2003-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-06 23:34:21 IP:59.104.xxx.xxx 未訂閱
我還有使用一個Memo元件可自己改呀  
 String s="apple,green,skirt";
String temp="";
for(int a=1;a<=s.Length();a  )
  {
      if (s[a]==',')  /////判斷是否有,
         {
         Memo1->Lines->Add(temp);
         temp="";
         goto p;
         }
         temp=temp s[a];
         p:
     if(a==s.Length())///////加入最後一個
         {
         Memo1->Lines->Add(temp);
         }      }
系統時間:2024-05-18 8:16:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!