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

關於文字檔(.txt)的再處理

答題得分者是:taishyang
repsolGP
一般會員


發表:5
回覆:12
積分:3
註冊:2005-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-30 10:36:27 IP:202.168.xxx.xxx 未訂閱
目前我已經把資料存成文字檔了,但是我存成的文字檔為一行而已, 也就是說有一長串。 數據資料如下:共有480個 1 2 3 4 5 . . . . . 480    我現在想把資料8個依序相加(1加到8,9加到16,依序下去),把相加後的值存成另一個文字檔,存成一列有6個數值,然後接著存在第二列...所以共有10列 x x x x x x(第一列) x x x x x x  . . x x x x x x(第十列)    ps:數字非連續的,只是這樣表示比較清楚    之前爬過文了,大概瞭解要由TStringList去著手,只是還是想不出來 THX!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-30 12:37:24 IP:210.68.xxx.xxx 未訂閱
您好: 試試下面的程式碼
   //產生欲測試文字檔
   TStringList *slDataSrc = new TStringList();
   for (int i=1; i<=480; i  )
   {
      slDataSrc->Add(i);
   }
   slDataSrc->SaveToFile("DataSrc.txt");
   delete slDataSrc;
   //下面是您所要的處理
   TStringList *slData = new TStringList();
   TStringList *slFinalData = new TStringList();
   slData->LoadFromFile("DataSrc.txt");
   AnsiString szDataStr = "";
   int Count = 1;
   for (int i=0; iCount; i =8)
   {
      int sum = 0;
      for (int j=0; j<8; j  )
      {
         sum  = slData->Strings[i j].ToInt();
      }
      szDataStr  = " " IntToStr(sum);
      if (Count%6 == 0)
      {
         slFinalData->Add(szDataStr.Trim());
         szDataStr="";
      }
      Count   ;
   }
   slFinalData->SaveToFile("FinalData.txt");
   Memo1->Lines->LoadFromFile("FinalData.txt");
   delete slData;
   delete slFinalData;
應該有更精簡的作法,可以等其他前輩指導 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
chtai
高階會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-30 12:40:57 IP:211.74.xxx.xxx 未訂閱
您是指像這樣嗎?
 
TStringList *slOri = new TStringList;
TStringList *slNew = new TStringList;
int i, count = 0, result = 0;    slOri->LoadFromFile("你的原始檔案名稱");    for (i = 0; i < 480;   i)
{
    result  = StrToInt(slOri->Strings[i]);
      count;
    if (count == 8)
    {
        slNew->Add(IntToStr(result));
        count = 0;
        result = 0;
    }
}    slNew->SaveToFile("新的檔案名稱");
delete slOri;
delete slNew;
-- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :) 發表人 - chtai 於 2005/03/30 12:42:43 發表人 - chtai 於 2005/03/30 12:44:03
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
chtai
高階會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-30 12:52:23 IP:211.74.xxx.xxx 未訂閱
repsolGP 兄,抱歉,    再看了看您的問題,我發現我的想法是錯的~ taishyang 板主的做法才對。    sorry 囉,可惜不能自刪文章  --
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
repsolGP
一般會員


發表:5
回覆:12
積分:3
註冊:2005-03-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-30 13:04:06 IP:202.168.xxx.xxx 未訂閱
感謝版主taishyang跟chtai的指導 只是給分只能給一個人 原諒我吧!< >< > 讓我學到兩種寫作方法,THX
repsolGP
一般會員


發表:5
回覆:12
積分:3
註冊:2005-03-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-30 13:10:38 IP:202.168.xxx.xxx 未訂閱
chtai: 你太客氣了,你很熱心幫我解決問題 回應我的問題,內心已經很感謝了 至少讓我知道程式寫作有許多表達方式    
系統時間:2024-05-19 19:11:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!