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

二個TMemoryStream可以相加嗎?

答題得分者是:sos_admin
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-18 10:05:15 IP:203.204.xxx.xxx 未訂閱
請問二個TMemoryStream可以相加嗎? VAR a,b,c : TMemoryStream; 如何才能 A := b c; 謝謝
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-18 10:17:39 IP:61.155.xxx.xxx 未訂閱
内存流如果实现合并操作。 var a,b,c:tmemorystream; begin a:=tmemorystream.Create ; b:=tmemorystream.Create ; c:=tmemorystream.Create ; ..... try ..... a.Position :=0; b.Position :=0; c.Seek(0,soFromEnd); c.CopyFrom(a,0); c.Seek(0,soFromEnd); c.CopyFrom(b,0); .... finally a.Free ; b.Free ; c.Free ; end; end;
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-18 13:51:34 IP:203.204.xxx.xxx 未訂閱
不行說 只有出現最後一個 請幫忙,謝謝
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-18 14:08:14 IP:61.155.xxx.xxx 未訂閱
brianwung 兄 上面就是实现2个内存流的合并的一般程式,您可以将其灵活的运用到所需的程 式中。    如果不是,请将您问题说清楚点
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-18 14:12:09 IP:203.204.xxx.xxx 未訂閱
感謝sos_admin的幫忙, 我的問題是要將二個以上的TMemoryStream寫入同一個word檔 但不知如何做比較好
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-18 14:22:27 IP:61.155.xxx.xxx 未訂閱
brianwung 兄: 请问这二個或二個以上的TMemoryStream是什么样的数据流? 我想寫入同一個word檔好像不太可能! 除非是文本才可合并哦! 请具体点! 發表人 - sos_admin 於 2003/08/18 14:26:21
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-18 14:26:35 IP:203.204.xxx.xxx 未訂閱
我是使用TRxRichEdit寫入DB 然後想將DB的值寫到一個WORD檔 如果是一筆資料的話可以直接TMemoryStream.SaveToFile 但二筆以上我就不知如何做了 A := TADOBlobStream.Create(Q_Question.FieldByName('Subject') as TBlobField ,bmRead);
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-18 14:37:47 IP:61.155.xxx.xxx 未訂閱
我是使用TRxRichEdit寫入DB,然後想將DB的值寫到一個WORD檔,如果是一筆資料的話可以直接TMemoryStream.SaveToFile 因为每个doc或rtf档都是用头数据 包含各种操作符的数据 结尾数据构成; 对于单个文件来说这是可以的,但是如果是多个文件,那么即使合并也只能看到第一个的数据内容。 对于合并成为文件只有利用文本文件可实现 procedure TForm1.Button1Click(Sender: TObject); var a,b,c:tfilestream; begin a:=tfilestream.Create('c:\a.txt',fmopenread); b:=tfilestream.Create('c:\b.txt',fmopenread); c:=tfilestream.Create('c:\c.txt',fmcreate); try a.Position :=0; b.Position :=0; c.Seek(0,soFromEnd); c.CopyFrom(a,0); c.Seek(0,soFromEnd); c.CopyFrom(b,0); finally a.Free ; b.Free ; c.Free ; end; end;
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-18 14:48:30 IP:203.204.xxx.xxx 未訂閱
>>因为每个doc或rtf档都是用头数据 包含各种操作符的数据 结尾数据构成; 了解,感謝 TXT可行,但doc或rtf,我就要想辦法去除那些數據才有辦法結合, 除了用檔案合併的方法外,不知有沒有其它辦法? 謝謝sos_admin兄的幫忙
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-18 14:58:12 IP:61.155.xxx.xxx 未訂閱
brianwung 兄: 如果想除掉那些数据是不可能的,应为[头数据+包含各种操作符的数据+结尾数据]都是经过比较麻烦的运算生成的乱码哦 该你 > 供参考!
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-08-18 15:02:42 IP:203.204.xxx.xxx 未訂閱
>>[我是使用TRxRichEdit寫入DB] >>1、将TRxRichEdit用纯文本存入DB >>2、从db中取出再放到TRxRichEdit中并分别保存纯文本的部分,然后再合并 真糟糕丫,我存入的是非純文本的資料,有文字及圖檔,沒有辦法這樣做 不過真感謝您,今天受易良多
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-08-18 15:50:51 IP:203.204.xxx.xxx 未訂閱
找到解決方式了! procedure TMain.PasteBtnClick(Sender: TObject); var BkMk: Range; BMName, Format: OleVariant; begin RichEdit1.SelectAll; RichEdit1.CopyToClipboard; RichEdit1.SelStart := RichEdit1.SelLength; { Paste the text in at the bookmark called 'FirstRealPara' } BMName := 'FirstRealPara'; Format := wdPasteRTF; BkMk := Doc.Bookmarks.Item(BMName).Range; BkMk.PasteSpecial(EmptyParam, EmptyParam, EmptyParam, EmptyParam, Format, EmptyParam, EmptyParam); end; http://www.delphipages.com/threads/thread.cfm?ID=93931&G=93919 http://www.djpate.freeserve.co.uk/AutoWord.htm#Downloads
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-08-19 08:06:20 IP:61.155.xxx.xxx 未訂閱
brianwung 兄:    好像不行吧?
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-08-20 11:34:28 IP:61.30.xxx.xxx 未訂閱
我試的結果是可以的 您不妨再試試
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-08-20 13:16:30 IP:61.155.xxx.xxx 未訂閱
brianwung 兄: 我是指实现不能实现a+b+....的形式,单个文件当然可以! 如果能实现,请将您的代码 >
brianwung
一般會員


發表:18
回覆:22
積分:8
註冊:2002-06-12

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-08-26 15:54:54 IP:61.30.xxx.xxx 未訂閱
哈哈 好像不能實現 但暫時可以解決我的問題 謝謝啦~~
系統時間:2024-05-11 3:16:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!