var
ms : TMemoryStream;
writer : TWriter;
Reader : TReader;
ms2,ms3 : TMemoryStream;
mysize : integer;
begin
if not OpenDialog1.Execute then exit;
edit2.Text := OpenDialog1.FileName;
ms := TMemoryStream.Create;
writer := TWriter.Create(ms,$ff);
//1.写入值
writer.writeinteger(100);
//写入文件
ms2 := TMemoryStream.Create;
ms2.LoadFromFile(Edit2.Text);
ms2.Position := 0;
writer.writeinteger(ms2.Size);
writer.Write(ms2.Memory^,ms2.Size);
writer.WriteString('200');
writer.WriteString('200');
writer.WriteString('200');
writer.WriteString('200');
//2.取出值
ms.Position := 0;
Reader := TReader.Create(ms,$ff);
showmessage(inttostr(reader.ReadInteger));
ms3 := TMemoryStream.Create;
mysize := Reader.ReadInteger;
ms3.SetSize(mysize);
reader.Read(ms3.Memory^,mysize);
//上面这句出错,如改为下面则Rader,ReadStirng出错。
//ms3.WriteBuffer(reader,mysize);
//Reader.Position := Reader.Position + mysize; Reader.ReadString;
Reader.ReadString;
Reader.ReadString;
Reader.ReadString;
ms.Free;
ms2.Free;
ms3.Free;
end;
ms : TMemoryStream;
writer : TWriter;
Reader : TReader;
ms2,ms3 : TMemoryStream;
mysize : integer;
begin
if not OpenDialog1.Execute then exit;
edit2.Text := OpenDialog1.FileName;
ms := TMemoryStream.Create;
writer := TWriter.Create(ms,$ff);
//1.写入值
writer.writeinteger(100);
//写入文件
ms2 := TMemoryStream.Create;
ms2.LoadFromFile(Edit2.Text);
ms2.Position := 0;
writer.writeinteger(ms2.Size);
writer.Write(ms2.Memory^,ms2.Size);
writer.WriteString('200');
writer.WriteString('200');
writer.WriteString('200');
writer.WriteString('200');
//2.取出值
ms.Position := 0;
Reader := TReader.Create(ms,$ff);
showmessage(inttostr(reader.ReadInteger));
ms3 := TMemoryStream.Create;
mysize := Reader.ReadInteger;
ms3.SetSize(mysize);
reader.Read(ms3.Memory^,mysize);
//上面这句出错,如改为下面则Rader,ReadStirng出错。
//ms3.WriteBuffer(reader,mysize);
//Reader.Position := Reader.Position + mysize; Reader.ReadString;
Reader.ReadString;
Reader.ReadString;
Reader.ReadString;
ms.Free;
ms2.Free;
ms3.Free;
end;
解决方案 »
- tcwbutton ,tcwgraph,tiannlogdisplay,tiledround是什么控件,怎么装啊
- SNMP通信中的TRAP接收问题?
- string类型,你真的了解吗?
- DELPHI 6安装的一个问题, 高手看--------------------------
- ADO问题
- [求助]delphi开发ocx的大致步骤
- 怎样检测键盘上的PageDown 和 PageUp 键
- delphi+access
- 初级问题:添加新的method和procedure只能先手工输入声明,再输入实现吗?有没有象VC里那样简单的方法?
- 小问题,问一sql语句。。。。。。。。。
- 如果有10000条记录,我想选中第100条到200条,这句话如何表达呀?(access2000数据库)
- 01cn开通“Delphi经典”栏目,《Delphi源码分析》,《参透Delphi/Kylix》等书作者与大家在线交流
reader.Read(ms3.Memory^,mysize);