新手提问,静态数组怎么保存到文件? ( 积分: 50 )

  • 主题发起人 主题发起人 everhappy
  • 开始时间 开始时间
E

everhappy

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TMemoryStream,但是总是抱错!
也不知道什么问题,大家帮忙看一下代码吧
procedure TForm1.Button1Click(Sender: TObject);
var
MemoryStream:TMemoryStream;
PChr:PChar;
chrarray:array[0..4] of char;
str:string;
i:integer;
begin
MemoryStream.Create;
// str:='12';
// Pchr:=@str[1];
for i:=0 to 4 do
ChrArray:=char(i);

Pchr:=@ChrArray[0];
MemoryStream.WriteBuf(Pointer(Pchr),4);
MemoryStream.SaveToFile('d:/test.txt');
MemoryStream.Free;
end;
 
MemoryStream.Create;
改为
MemoryStream := TMemoryStream.Create;
 
接受答案了.
 
帮你修改了一下,这样比较容易看到效果:
procedure TForm1.Button1Click(Sender: TObject);
var
MemoryStream:TMemoryStream;
PChr:PChar;
chrarray:array[0..4] of char;
str:string;
i:integer;
begin
MemoryStream := TMemoryStream.Create;//我都是用这种创建方式。
// str:='12';
// Pchr:=@str[1];
for i:=0 to 4 do
ChrArray:=char(Ord('A')+i);//比较容易看效果

Pchr:=@ChrArray[0];
MemoryStream.Write(Pointer(Pchr)^,4);//这个地方你写错了。
MemoryStream.Position := 0;
MemoryStream.SaveToFile('d:/test.txt');
MemoryStream.Free;

end;
 
后退
顶部