关于文件流和内存流的操作,请指导(100分)

  • 主题发起人 主题发起人 hlfysj
  • 开始时间 开始时间
H

hlfysj

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
TargetFile: string;
StreamFile: TFileStream;
StreamMem: TMemoryStream;
begin
TargetFile := 'C:/setfile.exe';
StreamFile := TFileStream.Create(TargetFile, fmOpenRead or fmShareExclusive);
StreamMem := TMemoryStream.Create;
Memo1.Lines.SaveToStream(StreamMem);
StreamMem.Position := 0;
StreamFile.Seek(0, soFromEnd);
StreamFile.CopyFrom(StreamMem, StreamMem.Size);
... ...
end;
我的目的是想将 内存流:StreamMem 中的内容,追加到 文件流:StreamFile 中去
其中,memo1中有内容,在运行到 StreamFile.CopyFrom(StreamMem, StreamMem.Size);的时候,报错:Stream write error,是怎么回事啊?请高手指点一下,是delphi7,
 
真的不知道你到底要干什么....????
对于连自己都不知道自己到底要干什么的人: 目标都不清楚, 你还能找到正确的道路吗?!
 
已经解决了~
 
我也来接分了
 
StreamFile := TFileStream.Create(TargetFile, fmOpenRead or fmShareExclusive);
改成:
StreamFile := TFileStream.Create(TargetFile, fmOpenWrite);

一般是这样追加的:
procedure TForm1.Button1Click(Sender: TObject);
var
Data: string;
TargetFile: string;
StreamFile: TFileStream;
begin
TargetFile := 'C:/setfile.exe';
StreamFile := TFileStream.Create(TargetFile, fmOpenWrite);
Data := Memo1.Text;
StreamFile.Seek(0, soFromEnd);
StreamFile.WriteBuffer(Data[1], Length(Data));
... ...
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
510
import
I
后退
顶部