S
sujing1982
Unregistered / Unconfirmed
GUEST, unregistred user!
var
Stream : TMemoryStream;
FMax :string;
Msg :array of string ;
procedure TForm1.Button1Click(Sender: TObject);
var
i :Integer;
begin
SetLength(Msg,20); //定义大小
for i:= 0 to high(Msg) do
Msg := '['+inttostr(i)+']'; // 加数据
Stream := TMemoryStream.Create;
Stream .WriteBuffer(Msg,sizeof(Msg));// 把数据写到流
Fmax := inttostr(20);
Stream.WriteBuffer(Fmax,5); //那数组的大小作为字符写入流
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:Integer;
begin
SetLength(Msg,0); //清空
Stream.Seek(-5,soFromEnd); //读出数组的大小,Fmax =20
Stream.ReadBuffer(Fmax,5); // 这里还是正确
setlength(Msg,strtoint(Fmax)); // 定义数组的大小为Fmax
stream.Seek(-5-sizeof(Msg),soFromEnd); //确定流的位置
stream.ReadBuffer(Msg,sizeof(Msg)); // 读出来数组每项都是空,
end;
为什么读FIORI 的时候出错 的布道正确的数据?????????
望大虾指点一下。
Stream : TMemoryStream;
FMax :string;
Msg :array of string ;
procedure TForm1.Button1Click(Sender: TObject);
var
i :Integer;
begin
SetLength(Msg,20); //定义大小
for i:= 0 to high(Msg) do
Msg := '['+inttostr(i)+']'; // 加数据
Stream := TMemoryStream.Create;
Stream .WriteBuffer(Msg,sizeof(Msg));// 把数据写到流
Fmax := inttostr(20);
Stream.WriteBuffer(Fmax,5); //那数组的大小作为字符写入流
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:Integer;
begin
SetLength(Msg,0); //清空
Stream.Seek(-5,soFromEnd); //读出数组的大小,Fmax =20
Stream.ReadBuffer(Fmax,5); // 这里还是正确
setlength(Msg,strtoint(Fmax)); // 定义数组的大小为Fmax
stream.Seek(-5-sizeof(Msg),soFromEnd); //确定流的位置
stream.ReadBuffer(Msg,sizeof(Msg)); // 读出来数组每项都是空,
end;
为什么读FIORI 的时候出错 的布道正确的数据?????????
望大虾指点一下。