我用下面的方法进行读写,但读的时候出错,读不了。请各位高手指教一下!谢谢!procedure TFomr1.WriteData (Sender: TObject);
Var
FileStream:TFilestream;
Mywriter:TWriter;
i: integer
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmopenwrite);//创建文件流对象
Mywriter:=TWriter.create(FileStream,1024); //把Mywriter和FileStream联系起来
Mywriter. writelistbegin; //写入列表开始标志 For i:=0 to Memo1.lines.count-1 do
Mywriter.writestring(memo1.lines[i]); //保存Memo组件中文本信息到文件中 Mywriter.writelistend; //写入列表结束标志
FileStream.seek(0,sofrombeginning); //文件流对象指针移到流起始位置
Mywriter.free; //释放Mywriter对象
FileStream.free; //释放FileStream对象
End;b)读文件
procedure TForm1.ReadData(Sender: TObject);
Var
FileStream:TFilestream;
Myreader:TReader;
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmopenread);
Myreader:=TReader.create(FileStream,1024); //把Myreader和FileStream联系起来 {下面的语句出错}
Myreader.readlistbegin; //把写入的列表开始标志读出来,出错!!!!! Memo1.lines.clear; //清除Memo1组件的文本内容 While not myreader.endoflist do //注意TReader的一个方法:endoflist
Begin
Memo1.lines.add(myreader.readstring); //把读出的字符串加到Memo1组件中
End; Myreader.readlistend; //把写入的列表结束标志读出来
Myreader.free; //释放Myreader对象
FileStream.free; //释放FileStream对象
End;
Var
FileStream:TFilestream;
Mywriter:TWriter;
i: integer
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmopenwrite);//创建文件流对象
Mywriter:=TWriter.create(FileStream,1024); //把Mywriter和FileStream联系起来
Mywriter. writelistbegin; //写入列表开始标志 For i:=0 to Memo1.lines.count-1 do
Mywriter.writestring(memo1.lines[i]); //保存Memo组件中文本信息到文件中 Mywriter.writelistend; //写入列表结束标志
FileStream.seek(0,sofrombeginning); //文件流对象指针移到流起始位置
Mywriter.free; //释放Mywriter对象
FileStream.free; //释放FileStream对象
End;b)读文件
procedure TForm1.ReadData(Sender: TObject);
Var
FileStream:TFilestream;
Myreader:TReader;
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmopenread);
Myreader:=TReader.create(FileStream,1024); //把Myreader和FileStream联系起来 {下面的语句出错}
Myreader.readlistbegin; //把写入的列表开始标志读出来,出错!!!!! Memo1.lines.clear; //清除Memo1组件的文本内容 While not myreader.endoflist do //注意TReader的一个方法:endoflist
Begin
Memo1.lines.add(myreader.readstring); //把读出的字符串加到Memo1组件中
End; Myreader.readlistend; //把写入的列表结束标志读出来
Myreader.free; //释放Myreader对象
FileStream.free; //释放FileStream对象
End;
Mywriter:TWriter;
寫完之後, 還要
Mywriter.FlushBuffer;
Myreader.readlistbegin; //把写入的列表开始标志读出来,出错!!!!!
Var
FileStream:TFilestream;
Mywriter:TWriter;
i: integer;
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmCreate or fmopenwrite);//?ゅン瑈?禜
Mywriter:=TWriter.create(FileStream,1024);
Mywriter. writelistbegin; For i:=0 to Memo1.lines.count-1 do
Mywriter.writestring(memo1.lines[i]); Mywriter.writelistend;
Mywriter.FlushBuffer;
FileStream.seek(0,sofrombeginning);
Mywriter.free;
FileStream.free;
End;procedure TForm1.ReadData(Sender: TObject);
Var
FileStream:TFilestream;
Myreader:TReader;
Begin
FileStream:=TFilestream.create('c:\Test.txt',fmopenread);
Myreader:=TReader.create(FileStream,1024); //рMyreader㎝FileStream?╰癬? Myreader.readlistbegin; Memo2.lines.clear; While not myreader.endoflist do
Begin
Memo2.lines.add(myreader.readstring);
End; Myreader.readlistend;
Myreader.free;
FileStream.free;
End;procedure TForm1.Button1Click(Sender: TObject);
begin
WriteData(self);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
memo2.Lines.Clear;
ReadData(self);
end;