近几天碰到一个问题:没有搞过文件流,希望大家帮忙解决我有五个edit1,edit2,edit3,edit4,edit5
两个Richedit1,Richedit2,
我将5个edit,2个Richedit,用流写到文件中要求使用Richedit.Lines.SaveToStream();的流加上edit1.text
写入文件并把文件中的内容读到Richedit和edit.text中怎么做呀.
两个Richedit1,Richedit2,
我将5个edit,2个Richedit,用流写到文件中要求使用Richedit.Lines.SaveToStream();的流加上edit1.text
写入文件并把文件中的内容读到Richedit和edit.text中怎么做呀.
var
stm1, stm2: TMemoryStream;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
try
RichEdit1.Lines.SaveToStream(stm1);
RichEdit2.Lines.SaveToStream(stm2);
stm1.Seek(0,soFromEnd);
stm2.Position := 0;
stm1.CopyFrom(stm2,stm2.Size);
stm1.SaveToFile('c:\ww.txt');
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
end;
end;
的方法,还不能满足要求
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize: Integer;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmCreate);
try
RichEdit1.Lines.SaveToStream(stm1);
RichEdit2.Lines.SaveToStream(stm2); stm1.Position := 0;
iSize := stm1.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm1,stm1.Size); stm2.Position := 0;
iSize := stm2.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm2,stm2.Size);
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.Lines.Clear;
RichEdit2.Lines.Clear;
end;procedure TForm1.Button2Click(Sender: TObject);
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize: Integer;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmOpenRead);
try
fstm.Position := 0;
fstm.Read(iSize,SizeOf(Integer));
stm1.Position := 0;
stm1.CopyFrom(fstm,iSize);
stm1.SaveToFile('c:\tmp.txt');
RichEdit1.Lines.LoadFromFile('c:\tmp.txt'); fstm.Read(iSize,SizeOf(Integer));
stm2.Position := 0;
stm2.CopyFrom(fstm,iSize);
stm2.SaveToFile('c:\tmp.txt');
RichEdit2.Lines.LoadFromFile('c:\tmp.txt');
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize: Integer;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmCreate);
try
RichEdit1.Lines.SaveToStream(stm1);
RichEdit2.Lines.SaveToStream(stm2); stm1.Position := 0;
iSize := stm1.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm1,stm1.Size); stm2.Position := 0;
iSize := stm2.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm2,stm2.Size); iSize := Length(Edit1.Text);
fstm.Write(iSize,SizeOf(Integer));
fstm.Write(Edit1.Text[1],iSize); iSize := Length(Edit2.Text);
fstm.Write(iSize,SizeOf(Integer));
fstm.Write(Edit2.Text[1],iSize);
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.Lines.Clear;
RichEdit2.Lines.Clear;
Edit1.Clear;
Edit2.Clear;
end;procedure TForm1.Button2Click(Sender: TObject);
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize: Integer;
pstr: String;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmOpenRead);
try
fstm.Position := 0;
fstm.Read(iSize,SizeOf(Integer));
stm1.Position := 0;
stm1.CopyFrom(fstm,iSize);
stm1.SaveToFile('c:\tmp.txt');
RichEdit1.Lines.LoadFromFile('c:\tmp.txt'); fstm.Read(iSize,SizeOf(Integer));
stm2.Position := 0;
stm2.CopyFrom(fstm,iSize);
stm2.SaveToFile('c:\tmp.txt');
RichEdit2.Lines.LoadFromFile('c:\tmp.txt'); fstm.Read(iSize,SizeOf(Integer));
SetLength(pstr,iSize);
fstm.Read(pstr[1],iSize);
Edit1.Text := pstr; fstm.Read(iSize,SizeOf(Integer));
SetLength(pstr,iSize);
fstm.Read(pstr[1],iSize);
Edit2.Text := pstr;
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize: Integer;
I: Integer;
Edit: TEdit;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmCreate);
try
RichEdit1.Lines.SaveToStream(stm1);
RichEdit2.Lines.SaveToStream(stm2); stm1.Position := 0;
iSize := stm1.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm1,stm1.Size); stm2.Position := 0;
iSize := stm2.Size;
fstm.Write(iSize,SizeOf(Integer));
fstm.CopyFrom(stm2,stm2.Size); for I := 1 to 5 do
begin
Edit := FindComponent('Edit'+IntToStr(I)) as TEdit;
if Assigned(Edit) then
begin
iSize := Length(Edit.Text);
fstm.Write(iSize,SizeOf(Integer));
fstm.Write(Edit.Text[1],iSize);
end;
end;
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.Lines.Clear;
RichEdit2.Lines.Clear;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
end;procedure TForm1.Button2Click(Sender: TObject);
var
stm1, stm2: TMemoryStream;
fstm: TFileStream;
iSize, I: Integer;
pstr: String;
Edit: TEdit;
begin
stm1 := TMemoryStream.Create;
stm2 := TMemoryStream.Create;
fstm := TFileStream.Create('c:\ww.txt',fmOpenRead);
try
fstm.Position := 0;
fstm.Read(iSize,SizeOf(Integer));
stm1.Position := 0;
stm1.CopyFrom(fstm,iSize);
stm1.SaveToFile('c:\tmp.txt');
RichEdit1.Lines.LoadFromFile('c:\tmp.txt'); fstm.Read(iSize,SizeOf(Integer));
stm2.Position := 0;
stm2.CopyFrom(fstm,iSize);
stm2.SaveToFile('c:\tmp.txt');
RichEdit2.Lines.LoadFromFile('c:\tmp.txt'); for I := 1 to 5 do
begin
fstm.Read(iSize,SizeOf(Integer));
SetLength(pstr,iSize);
fstm.Read(pstr[1],iSize);
Edit := FindComponent('Edit'+IntToStr(I)) as TEdit;
if Assigned(Edit) then
Edit.Text := pstr;
end;
finally
FreeAndNil(stm1);
FreeAndNil(stm2);
FreeAndNil(fstm);
end;
end;改过了,哎,你这20分还真不好拿!