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

檔案處理方式一問

尚未結案
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-20 14:40:20 IP:140.113.xxx.xxx 未訂閱
各位板上的前輩大家好: 現在我有個文字檔,裡頭存了使用者的資料,格式固定如下。 User1@Data1 User1@Data2 User1@Data3 ..... User2@Data1 User2@Data2 ..... UserN@DataN 也就是說,一個使用者可以有多筆資料,格式都是 使用者名稱@資料
現在我若想要做成這樣: 讀進這份文字檔之後,左邊列出所有使用者, 點了某位使用者之後,右邊就列出該使用者所有的資料。 要怎麼做比較好呢?
我的想法是這樣的: 1.開兩個array分別是Name[]跟Data[] 2.把@左邊的文字存入Name[],右邊的存入Data[] 3.點了某位使用者之後就掃一次Name[],發現名字一樣,就把Data[]的東西加入畫面右邊。
可是這樣每次只要一點選使用者,就得整個array掃過一遍,感覺很沒效率。 而且又是字串的比對,速度會更慢一點。 不知是否有啥比較好的做法嗎?
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-20 15:31:52 IP:211.76.xxx.xxx 未訂閱
你可以用ListBox來儲存Name[],這樣點選姓名就可以直接取得使用者資料了Data[ListBox->ItemIndex] 發表人 - GGL 於 2004/06/20 15:36:23
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-20 16:30:27 IP:140.113.xxx.xxx 未訂閱
引言: 你可以用ListBox來儲存Name[],這樣點選姓名就可以直接取得使用者資料了Data[ListBox->ItemIndex] 發表人 - GGL 於 2004/06/20 15:36:23
可是現在我使用者的顯示得用TListView,所以排序方式可能會變 而且同一個使用者可以有多筆不同的Data哩 發表人 - chtai 於 2004/06/20 16:32:19
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
pwipwi
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-20 23:28:14 IP:211.76.xxx.xxx 未訂閱
引言: 可是這樣每次只要一點選使用者,就得整個array掃過一遍,感覺很沒效率。 而且又是字串的比對,速度會更慢一點。 不知是否有啥比較好的做法嗎?
chtai你好: 如果要求效率的話,使用multimap是最適合的。用法大略如下,詳細可以參考bcb的help或任何STL的書
 
#include 
using namespace std;    //       UserName   Data
multimap UserData;
typedef multimap::value_type UserDataType;
typedef multimap::iterator UserDataPointer;    void AddData(const AnsiString& User,const AnsiString& Data)
{
UserData.insert(UserDataType(User,Data));
}        void Search(const AnsiString& User,TStrings* Result)
{
Result->Clear();
for(UserDataPointer Pointer = UserData.lower_bound(User);
    Pointer != UserData.end() && Pointer->first == User;  Pointer)
    {
    Result->Add(Pointer->second);
    }
}    
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-21 12:44:05 IP:140.113.xxx.xxx 未訂閱
感謝pwipwi兄,這正是我想要的。 問題已解決了。 我只知道java裡的Hash,C 的STL完全不熟阿 ><
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
系統時間:2024-07-06 14:30:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!