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

開啟txt並讀取值

尚未結案
unungigi3000
一般會員


發表:20
回覆:14
積分:6
註冊:2005-07-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-29 21:33:44 IP:140.124.xxx.xxx 未訂閱
小弟現在想要讀txt檔的值,運用了MainMenu的功能加上Opendialog的功能寫出可以讀任何txt的檔案! 但接下來才是讓小弟頭痛的,小弟想將讀到的數據畫成圖!! 例:(data) 10  20 30  40 50  52 70  75 我想將得到的數據存成兩個陣列,第一行是陣列A,第二行是陣列B!! 再利用之前學到的MOVETO跟LINTO畫取線(OK了!) 該如何做呢?? 下面是程式碼
// void __fastcall TForm1::MiOpenClick(TObject *Sender)
{
  if (OpenDialog1->Execute())
  {
   Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
   //小弟只有辦法弄到Memo1上,沒辦法弄到兩個陣列裡,參考字串分割,總是出現無法轉換的錯   誤!!       
  }    }
請各位前輩們,指導一下小弟,謝謝
RedSnow
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-29 23:46:53 IP:61.217.xxx.xxx 未訂閱
unungigi3000 您好:    如果您的程式中其它地方並未用到 Memo 元件的話,讀取文字檔並加以拆解的動作可以透過 StringList 來進行。    另外如果您的資料量若不是固定的,那麼我建議您將陣列資料改用 vector 來處理可能會比較好,給您一個範例如下,參考看看吧:
// 設定下列宣告
#include 
vector xx;  // 存放 X 座標值之陣列
vector yy;  // 存放 Y 座標值之陣列    void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *slData = new TStringList;
    xx.clear();
    yy.clear();        slData->LoadFromFile("c:\\tmp\\ndata.txt");  // 讀取座標資料文字檔
    // 將所有的換行符號轉成空白字元 (變成一整行資料,每組數字間以空白字元分隔)
    slData->Text = StringReplace(slData->Text, "\r\n", " ", TReplaceFlags()<CommaText = slData->Text;
    for (int i=0; iCount; i =2) {
        xx.push_back(StrToInt(slData->Strings[i]));  // 將 X 座標值設給新增的 xx 陣列
        yy.push_back(StrToInt(slData->Strings[i 1]));  // 將 Y 座標值設給新增的 yy 陣列
    }        for (int i=1; iCanvas->MoveTo(xx[i-1], yy[i-1]);
        Image1->Canvas->LineTo(xx[i], yy[i]);
    }
}
7 天天敲鍵盤 v 時時按滑鼠 8
unungigi3000
一般會員


發表:20
回覆:14
積分:6
註冊:2005-07-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-30 14:29:21 IP:140.124.xxx.xxx 未訂閱
RedSnow前輩你好: 真的是非常感謝您,給了一個非常棒的參考範例,而且還很細心的加上註解!! 令剛學BCB的我,雖然不是很懂那些指令,但因RedSnow前輩的細心註解,讓小弟知道該如何去運用!! 剩下的,該是小弟去努力的了,努力學懂這些東西。 再次感謝RedSnow前輩,謝謝喔!!
系統時間:2024-04-25 19:54:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!