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

再請一個TMemo的一個問題

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


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-26 20:34:15 IP:163.22.xxx.xxx 未訂閱
Memo1->Lines->LoadFromFile("result.dat"); =============================================== 當我load進來時,會發現裡面的內容變得很亂(memo的內容,跟原本的result.dat不一樣) ps:我把memo的大小設的很小,因為user是看不見的,我只是要用memo來處理result.dat而已,但發現 RichEdit1->Lines->Strings[0] 並不是result.dat的第一行 但若把memo大小設很大就正常了,可是result.dat的行大小是彈性的 我不知怎麼作呢?
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-26 21:05:49 IP:140.135.xxx.xxx 未訂閱
tommylee926您好:
引言:但若把memo大小設很大就正常了,可是result.dat的行大小是彈性的
那您將Memo的Visible設定成false即可,不過個人認為用Memo不太合適 用TMemoryStream應該比較恰當,其方式站上都搜尋的到< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 - taishyang 於 2003/08/26 21:27:35
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-26 21:29:24 IP:163.22.xxx.xxx 未訂閱
不是啦大大,隱藏我會啊, 我是不知 為何 我 Memo1->Lines->LoadFromFile("result.dat");後 而且memo大小很小時,裡面的行會變得很亂,跟原本result.dat的每一行都不一樣,因為我要把result.dat文字檔load去memo以便作接下來的事,可是每一行都亂掉了,不知怎辦呢? ^^"
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-26 21:44:14 IP:140.135.xxx.xxx 未訂閱
tommylee926您好:  
引言: 因為我要把result.dat文字檔load去memo以便作接下來的事,可是每一行都亂掉了,不知怎辦呢? ^^"
.dat不是文字檔吧? .txt才是 答案已經告訴您囉,就是 href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24009">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24009 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24093 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=23145 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21717 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22731 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-26 21:47:49 IP:163.22.xxx.xxx 未訂閱
大大請看圖好了,就是memo已跟原來的檔不一樣囉
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-26 22:22:54 IP:211.75.xxx.xxx 未訂閱
嗯,謝謝大大 我使用 TMemoryStream *my = new TMemoryStream; my->LoadFromFile("result.txt"); 所以result.txt的每一行都已存進memory裡了, 那我若想要讀 result.txt 的每一行 我要怎麼從TMemoryStream 裡正確地讀每一行出來呢 因為檔案裡的每一行長度我都是未知的,難不成要宣告一個很大的buffer嗎?
taishyang
站務副站長


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-26 22:50:50 IP:140.135.xxx.xxx 未訂閱
tommylee926您好:  請參考下面的code
 
//寫入
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 TMemoryStream *mswWrite=new TMemoryStream;
 BYTE data=0;
 mswWrite->Size=256;
 for(int i=0; iSize; i  )
 {
  mswWrite->Position=i;
  data=i;
  mswWrite->Write(&data, 1);
 }
 mswWrite->SaveToFile("test.dat");
 delete mswWrite;
}
//---------------------------------------------------------------------------
//讀取
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 TMemoryStream *msRead=new TMemoryStream;
 msRead->LoadFromFile("test.dat");
 BYTE data=0;
 for(int i=0; iSize; i  )
 {
  msRead->Position=i;
  data=i;
  msRead->Read(&data,1);
  ShowMessage(data);
 }
  delete msRead;
} 
順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-27 00:21:45 IP:211.75.xxx.xxx 未訂閱
ShowMessage("&&&"); =============================== 請問大大一下,為何ShowMessage(); 印不出來 &&& 呢?
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-27 00:32:53 IP:61.224.xxx.xxx 未訂閱
ShowMessage("&&&&&&"); 兩個&& 才可以show出一個& 就跟兩個 \\ show一個 \ 是一樣的 是bcb怕語法誤判而設計的 國泰平安 發表人 - Gemi0305 於 2003/08/27 00:33:48
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-27 09:13:30 IP:211.75.xxx.xxx 未訂閱
謝謝gemi0305大大,另外再請問taishyang大大,您的讀code 是不是要一個一個地讀直到讀到 值為13 10,就是一行了。 之後在重覆嗎?就可以讀完所有的行了嗎?
taishyang
站務副站長


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-08-27 09:39:20 IP:140.135.xxx.xxx 未訂閱
tommylee926您好:
引言: 另外再請問taishyang大大,您的讀code 是不是要一個一個地讀直到讀到 值為13 10,就是一行了。 之後在重覆嗎?就可以讀完所有的行了嗎?
自行驗證與測試不是就能知道結果了? 範例只是參考,因為沒有您的. > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-08-27 10:19:16 IP:211.75.xxx.xxx 未訂閱
ok,謝謝大大,小第再請問一問題,假設 我的memory裡有 data 是 xxxxxxxxxxxxxxxx\nxxxxxxxxxxx tmemorystream有提供啥米方法可以直接把\n之前的資料一次讀進來呢? 因小第有試過一個個地讀是可以,但有更快的方法嗎? 若沒有的話,小第還是要謝謝taishyang大大幫忙解決問題,謝謝囉 ^_^
系統時間:2024-05-15 7:30:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!