我想将一个数据先写入memorystream中,然后将其读出,但不成功,即使将其直接写入文件也不行。
查看帮助文档,read和write 方法需用指针,但我不知如何用,请指教。
我还想写入的数据为自订类型,我写的代码如下,但结果不正确写,相助!!! unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tdata=record
caption:string;
ilength:integer;
end;
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
st:Tmemorystream;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
st:=tmemorystream.Create;
end;procedure TForm1.Button1Click(Sender: TObject);
var
mydata:Tdata;
begin
mydata.caption:='123';
mydata.ilength:=9;
st.Write(mydata,sizeof(mydata));
end;procedure TForm1.Button2Click(Sender: TObject);
var
pData:Tdata;
begin
st.Read(pdata,sizeof(Tdata));
memo1.Lines.Add(pdata.caption);
memo1.Lines.Add(inttostr(pdata.ilength));
end;end.
查看帮助文档,read和write 方法需用指针,但我不知如何用,请指教。
我还想写入的数据为自订类型,我写的代码如下,但结果不正确写,相助!!! unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tdata=record
caption:string;
ilength:integer;
end;
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
st:Tmemorystream;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
st:=tmemorystream.Create;
end;procedure TForm1.Button1Click(Sender: TObject);
var
mydata:Tdata;
begin
mydata.caption:='123';
mydata.ilength:=9;
st.Write(mydata,sizeof(mydata));
end;procedure TForm1.Button2Click(Sender: TObject);
var
pData:Tdata;
begin
st.Read(pdata,sizeof(Tdata));
memo1.Lines.Add(pdata.caption);
memo1.Lines.Add(inttostr(pdata.ilength));
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货