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

請問stringlist的排序問題

答題得分者是:g6101
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-16 10:31:29 IP:202.174.xxx.xxx 未訂閱
各位大大,小弟有兩個相對應的stringlist,分別為s1, s2。 s1紀錄產品型號,s2紀錄產品數量。 如果想對s1做排序,則s2會跟著變動。 請問改如何實作?
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-16 11:28:07 IP:140.112.xxx.xxx 未訂閱
引言: 各位大大,小弟有兩個相對應的stringlist,分別為s1, s2。 s1紀錄產品型號,s2紀錄產品數量。 如果想對s1做排序,則s2會跟著變動。 請問改如何實作?
1.class TMyStringList : public TStringList 2.改寫Sort
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-16 17:37:08 IP:61.226.xxx.xxx 未訂閱
引言: 各位大大,小弟有兩個相對應的stringlist,分別為s1, s2。 s1紀錄產品型號,s2紀錄產品數量。 如果想對s1做排序,則s2會跟著變動。 請問改如何實作?
irvinehing您好: 請參考以下的程式碼
 
   AnsiString str;
   TStringList *s1,*s2,*s3;  //s1型號;s2數量;s3關聯
   s1 = new TStringList();
   s2 = new TStringList();
   s3 = new TStringList();       s1->Add("TP8204");  //加入資料
   s2->Add("5");
   s1->Add("TB2001");
   s2->Add("10");
   s1->Add("TA1001");
   s2->Add("9");       //s1尚未排序前先建立關聯
   for(int i=0;iCount;i++)
   {
      str.sprintf("%s=%s",s1->Strings[i],s2->Strings[i]);
      s3->Add(str);
   }
   //s1進行排序
   s1->Sorted = true;
   //從關聯s3中取回數量資料
   for(int i=0;iCount;i++)
   {
     s2->Strings[i] = s3->Values[s1->Strings[i]];
   }
   //你可透TListBox元件來承接s1及s2資料,看看排序前後產生何種變化       delete s1,s2,s3;
希望對你有幫助.
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-17 09:37:21 IP:202.174.xxx.xxx 未訂閱
謝謝你的解答! 我會在研究看看的。
系統時間:2024-05-02 17:19:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!