Q
qabo
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个文本文件,现在我想将其读出来保存为二进制文件,然后再程序中再读取该二进制文件,请问该如何做到?我使用Tmemorystream来读写二进制文件,但是一直没有弄成功啊,大家帮我看看是怎么回事
//文件65.txt的内容
1 2 3 4 5 6
1 2 3 6 9 10
1 2 3 7 8 10
1 2 4 6 7 8
然后是读出该文本文件的内容
procedure TForm1.Button1Click(Sender: TObject);
var
myFile:TextFile;
q,temp1 : string;
test : Integer;
begin
AssignFile(myfile,'F://Delphi//65.txt');
Reset(myfile);
while not Eof(myfile) do
begin
Readln(myfile, q);
temp2 := temp2 + q ; //将文本文件中的内容保存到temp2全局变量中
ListBox1.Items.Add(q);
end;
closefile(myfile);
//可以正确读取出来,temp2的内容和文本文件中的内容相同
end;
//然后开始将该内容写进二进制文件
procedure TForm1.Button3Click(Sender: TObject);
var
ms:tmemorystream;
t,q : string;
itt : Integer;
begin
ms := TMemoryStream.Create ;
t := temp2 ; //将文本中读取的内容赋值给t,再保存
ms.Write(t,length(t));
ms.SaveToFile('c:/test.test');
ms.free;
end;
//然后是读取该二进制文件
procedure TForm1.Button2Click(Sender: TObject);
var
ms : Tmemorystream ;
p,q,iTemp:string;
i,j : Integer;
iftt : Integer;
begin
ms := TMemoryStream.Create ;
ms.loadfromFile('c:/test.test');
ms.read(p,238);
ms.free;
listbox1.Items.Add(p);
end;
但是却怎么也读取不了,老是出错,请各位大侠看看问题出在那里
//文件65.txt的内容
1 2 3 4 5 6
1 2 3 6 9 10
1 2 3 7 8 10
1 2 4 6 7 8
然后是读出该文本文件的内容
procedure TForm1.Button1Click(Sender: TObject);
var
myFile:TextFile;
q,temp1 : string;
test : Integer;
begin
AssignFile(myfile,'F://Delphi//65.txt');
Reset(myfile);
while not Eof(myfile) do
begin
Readln(myfile, q);
temp2 := temp2 + q ; //将文本文件中的内容保存到temp2全局变量中
ListBox1.Items.Add(q);
end;
closefile(myfile);
//可以正确读取出来,temp2的内容和文本文件中的内容相同
end;
//然后开始将该内容写进二进制文件
procedure TForm1.Button3Click(Sender: TObject);
var
ms:tmemorystream;
t,q : string;
itt : Integer;
begin
ms := TMemoryStream.Create ;
t := temp2 ; //将文本中读取的内容赋值给t,再保存
ms.Write(t,length(t));
ms.SaveToFile('c:/test.test');
ms.free;
end;
//然后是读取该二进制文件
procedure TForm1.Button2Click(Sender: TObject);
var
ms : Tmemorystream ;
p,q,iTemp:string;
i,j : Integer;
iftt : Integer;
begin
ms := TMemoryStream.Create ;
ms.loadfromFile('c:/test.test');
ms.read(p,238);
ms.free;
listbox1.Items.Add(p);
end;
但是却怎么也读取不了,老是出错,请各位大侠看看问题出在那里