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

如何更改TMemoryStream中的值?

答題得分者是:lcsboy
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-21 20:17:19 IP:140.116.xxx.xxx 未訂閱
請教大家… 我用TMemoryStream::LoadFromFile把檔案的資料讀入TMemoryStream… 但是我發現它不能直接access裡面的值… 必須先讀進一個buffer中… 如:TMemoryStream.read(buf,10); 再去對buf做存取… 這樣不是很麻煩嗎? 除了TMemoryStream… 是不是有別的類別的東西… 可以直接把檔案直接讀入buffer(像TMemoryStream::LoadFromFile)… 且可以直接對buffer做access… 我知道可以先用FindFirst得到檔案大小… 再做下面的程式碼… ifstream ifile("finame",ios::binary); char *buf=new unsigned char[fileSize]; ifile.read(buf,fileSize); ifile.close(); delete buf; 再直接對buf做存取… 可是重點這樣就要多做了FindFirst這個步驟…
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-21 20:42:37 IP:140.135.xxx.xxx 未訂閱
superlarry您好:        對於TMemoryStream的用法您可以參考下面連結    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 希望對您有幫助 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-21 20:51:06 IP:211.76.xxx.xxx 未訂閱
^^    TMemoryStream又強, 又有效率, 選對function就別再換嚕    你對了一半, 只是另一半不知道怎麼取出來對吧~ 對的一半就是=> TMemoryStream 就是讀到一個Buffer 另一半則是 => 怎麼取出呢? 我喜歡這樣用, 參考一下下嚕: >> > .......... pt='A'
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-21 22:06:58 IP:140.116.xxx.xxx 未訂閱
感謝taishyang 感謝lcsboy… lcsboy提到的正是我要的… 真強… 不過為什麼BCB的TMemoryStream HELP中沒提到這點呢? 可能以為是基本常識吧! 對了…再請教一下… 因為若用
taishyang
站務副站長


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-21 22:13:13 IP:140.135.xxx.xxx 未訂閱
superlarry您好:    
引言:那有什麼最快的方法可以判斷檔案是否存在?
您可以試看看FileExists()這個function 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-21 22:50:53 IP:140.116.xxx.xxx 未訂閱
其實有時候真的覺得BCB真的很強… 但自己卻不知道該怎麼用… 或者要用什麼FUNCTION比較好… 這時候就要靠各位大大了! 真的謝謝你們囉! 該去買一本
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-22 16:43:47 IP:211.23.xxx.xxx 未訂閱
引言: 其實有時候真的覺得BCB真的很強… 但自己卻不知道該怎麼用… 或者要用什麼FUNCTION比較好… 這時候就要靠各位大大了! 真的謝謝你們囉! 該去買一本>< face="Verdana, Arial, Helvetica"> 基本類的工具書手邊是要有一, 兩本 不過買太多, 你就會有"盡興書不如無書"的感覺 ^^~~~ 雖然有> > 不過像這麼好用, 學校老師又不教, 書上又不提的東東, 上來討論區逛逛, 就會 得到許多心得唷< >
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-22 17:01:38 IP:139.223.xxx.xxx 未訂閱
不好意思lcsboy 版主 可以請問你一下嗎?? TMemoryStream 和 TFileStream 有時麼差別 兩個不都是寫入檔案之中嗎??
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-22 17:18:46 IP:211.23.xxx.xxx 未訂閱
引言: 不好意思lcsboy 版主 可以請問你一下嗎?? TMemoryStream 和 TFileStream 有時麼差別 兩個不都是寫入檔案之中嗎??
如果你是使用TMemoryStream的話 你可以修正一些資料, 然後就可以直接用VCL的LoadFromStream 比如說: TMemoryStream *TMS=new TMemoryStream(); ......... ......... Memo1->Lines->LoadFromStream(TMS); RichEdit1->Lines->LoadFromStream(TMS); Image1->Pictures->LoadFromStream(TMS); 神吧....所有元件的LoadFormStream和SaveToStream裡面放的就是TMemorStream, 只是裡面的data自己要處理好 LoadFromFile只是TMemoryStream的其中一個子功能 主要是把資料Load到一個Memory的buffer 而TFileStream, 就只能單獨處理File的功能 所以, TMemoryStream是不是又強又好用呢? 發表人 - lcsboy 於 2003/05/22 17:31:15
系統時間:2024-11-23 17:00:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!