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

讀入TXT檔之後要如何秀在StringGrid

尚未結案
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-26 22:39:33 IP:163.13.xxx.xxx 未訂閱
讀入TXT檔之後要如何將TXT檔的內容秀在StringGrid 我TXT檔裡面的內容是以空白為間隔.. 參考站上的文章讀入TXT檔
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *sl = new TStringList();
   if (OpenDialog1->Execute())
   {
      sl->LoadFromFile(OpenDialog1->FileName);
      StringGrid1->Cells[1][1]= sl[1];//編譯時出現[C   Error] 
  //Unit1.cpp(25): E2034 Cannot convert 'TStringList' to 'AnsiString'
   }
   delete sl;
}
發表人 - iii0628 於 2005/04/26 22:49:57
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-26 23:07:22 IP:218.168.xxx.xxx 未訂閱
錯誤訊息已告訴您無法將'TStringList' 轉成 'AnsiString' 所以要改成
StringGrid1->Cells[1][1] = sl->Strings[1];
順心
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-26 23:25:53 IP:163.13.xxx.xxx 未訂閱
引言: 錯誤訊息已告訴您無法將'TStringList' 轉成 'AnsiString' 所以要改成
StringGrid1->Cells[1][1] = sl->Strings[1];
順心 < face="Verdana, Arial, Helvetica"> taishyang 你好:謝謝你的幫忙,我現在出現一個問題我的TXT資料一定要顯示成 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 可以如果我照上面的程式讀入TXT會將第一列的所有資料123 123 123 123 123都顯示到StringGrid1的第一格裡面,該如何解決
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-26 23:44:17 IP:218.168.xxx.xxx 未訂閱
您可以po上您的程式碼讓前輩們幫您看看問題在哪邊
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-26 23:59:27 IP:163.13.xxx.xxx 未訂閱
引言: 您可以po上您的程式碼讓前輩們幫您看看問題在哪邊 < face="Verdana, Arial, Helvetica"> 這是我的程式,難道要用到字串切割嗎???還是可以用別種型態存TXT檔的內容(不需要用到TStringList),因為我的資料都是整數型態而已...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
          TStringList *sl = new TStringList();
   if (OpenDialog1->Execute())
   {
      sl->LoadFromFile(OpenDialog1->FileName);
      StringGrid1->Cells[1][1]= sl->Strings[0];
   }
   delete sl;
}
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-27 00:35:05 IP:218.168.xxx.xxx 未訂閱
試試下面的程式碼可把每個123都取出來顯示到Memo上 至於放到StringGrid就看您自己的安排了
   TStringList *sl = new TStringList();
   TStringList *sl1 = new TStringList();
   sl->LoadFromFile("1.txt");
   for (int i=0; iCount; i  )
   {
      sl1->CommaText = sl->Strings[i];
      for (int j=0; jCount; j  )
      {
         Memo1->Lines->Add(sl1->Strings[j]);
      }
   }
   delete sl;
   delete sl1;
順心
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-27 00:56:01 IP:163.13.xxx.xxx 未訂閱
引言: 試試下面的程式碼可把每個123都取出來顯示到Memo上 至於放到StringGrid就看您自己的安排了
   TStringList *sl = new TStringList();
   TStringList *sl1 = new TStringList();
   sl->LoadFromFile("1.txt");
   for (int i=0; iCount; i  )
   {
      sl1->CommaText = sl->Strings[i];
      for (int j=0; jCount; j  )
      {
         Memo1->Lines->Add(sl1->Strings[j]);
      }
   }
   delete sl;
   delete sl1;
順心 < face="Verdana, Arial, Helvetica"> taishyang 你好:我找到以前有其他大大PO過類似的文章,剛剛小修改了一下 可以達到我需要的要求了,謝謝你熱心的回答
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   int i=0, j=0;
   int iArray[10][19];
   AnsiString sz;
   TStringList *sl1=NULL;
   TStringList *sl2=NULL;       sl1=new TStringList;
   sl1->LoadFromFile("test1.txt");
   for(i=0; iCount; i  )
   {
      sl2=new TStringList;
      sz=StringReplace(sl1->Strings[i], " ", ",", TReplaceFlags()<CommaText=sz;
      for(j=0; jCount; j  )
      {
         iArray[i][j]=StrToInt(sl2->Strings[j]);
      }
      delete sl2;
   }
   delete sl1;       // ...Check...
   for(i=0; i<10; i  )
   {
      sz="";
      for(j=0; j<19; j  )
      {
         StringGrid1->Cells[j 1][i 1]=(IntToStr(iArray[i][j]));
      }       }    }
taishyang
站務副站長


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-27 09:09:17 IP:210.68.xxx.xxx 未訂閱
引言:我找到以前有其他大大PO過類似的文章,剛剛小修改了一下 可以達到我需要的要求了
所以發問前請多找找舊文章囉
系統時間:2024-05-17 17:34:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!