全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4537
推到 Plurk!
推到 Facebook!

TStringList裡的Delimiter問題

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


發表:5
回覆:0
積分:1
註冊:2007-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-30 18:38:36 IP:140.135.xxx.xxx 訂閱
小弟新手最近需要讀取TXT檔的資料    其中的資料像C10022,Sandwich Bags

目前有想到要用Delimiter來處理可是後來發現Delimiter有包括分割空白,所以最後分成"C10022""Sandwich""Bags"這三個
可是我只要分成"C10022""Sandwich Bags"這樣兩個

請教高手如何解決??


我的程式碼如下
[code cpp]
TStringList *slFile = new TStringList;
TStringList *slRow = new TStringList;

slFile->LoadFromFile("Grocery.txt");
for (int i=0; iCount; i )
{
slRow->Delimiter = ',';
slRow->DelimitedText= slFile->Strings[i];
for (int j=0; jCount; j )
{
Memo1->Lines->Add(slRow->Strings[j]);

}
}

slRow->Clear();
slFile->Clear();
delete slRow;
delete slFile;

[/code]
編輯記錄
xmsun 重新編輯於 2008-10-30 18:41:26, 註解 無‧
RaynorPao
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-30 19:09:18 IP:210.208.xxx.xxx 訂閱
請參考以下的範例程式碼,再自行修改:

[code cpp]
TStringList *sl1=new TStringList;
sl1->LoadFromFile("test2.txt");
for(int i=0; iCount; i )
{
if(!sl1->Strings[i].Trim().IsEmpty())
{
Memo1->Lines->Add(sl1->Strings[i]);
TStringList *sl2=new TStringList;
TSysCharSet splitChars1=TSysCharSet()<<',';
ExtractStrings(splitChars1, splitChars1, sl1->Strings[i].c_str(), sl2);
for(int j=0; jCount; j )
{
Memo1->Lines->Add(sl2->Strings[j]);
}
delete sl2;
}
}
delete sl1;
[/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-04-25 9:02:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!