你要知道你存放内容的大小,var
F:TfileStream;
i: integer;
begin
F:=TfileStream.Create(...;
For i:= 0 to vararraycount-1 do
F.write(Vararray[i],Size)//这里的大小你要填进去
F.free;
end;
F:TfileStream;
i: integer;
begin
F:=TfileStream.Create(...;
For i:= 0 to vararraycount-1 do
F.write(Vararray[i],Size)//这里的大小你要填进去
F.free;
end;
解决方案 »
- 如何把 pchar 赋值为 array[0..1024] of char
- 高手支招,用delphi修改asp文件内的字符串
- 从资源文件中调用dll
- socket错误.
- 在对TEdit的框中键入值时,怎样才能限制只能输入数字。
- bde 和 sql server 2000连接的问题,谁能解决给高分!!!!
- 我想打印一个stringgrid and 一个dbgrid 的内容,怎么写代码比较好?
- acess字段默认值的问题
- 关于Socket组件获得动态IP地址的问题!急!急!!急!!!
- 怎样实现一台服务器对多个客户的状态管理??
- 关于数据库应用程序的安装问题?
- 请问怎么样从不同的服务器端获取存储过程的脚本?(要求用一个统一的方法)
它可能不是线性的,因为每个元素又可能是数组,你总要有个转换规则吧.
public
TableName : String;
ClientDataSet : TClientDataSet;
end;我做了一个 TClientDataNode 的TList列表,我想把这个存起来。
VarArrayCreate([0, (Count * 2 - 1)], VarVariant);
一个 Node 占两个,第一个存 TableName,第二个存 ClientDataSet.Data
怎么做呢?
我要把这个东西存到一个文件中
function FileToVariant(FileName: String): OleVariant;
var
AStream: TFileStream;
MyBuffer: Pointer;
begin
AStream:=TFileStream.create(FileName,fmOpenRead);
try
aStream.Seek(0, soFromBeginning);
Result:=VarArraycreate([0, AStream.size-1], VarByte);
MyBuffer:=VarArrayLock(Result);
AStream.ReadBuffer(MyBuffer^, AStream.Size);
VarArrayUnlock(Result);
finally
AStream.Free;
end;
end;
procedure VariantToFile(FileName: String; var AVariant: OleVariant);
var
AStream: TFileStream;
MyBuffer: Pointer;
Size: Integer;
begin
AStream:=TFileStream.create(FileName,fmCreate);
try
aStream.Seek(0, soFromBeginning);
Size:=VarArrayHighBound(AVariant,1)+VarArrayLowBound(AVariant,1)+1;
MyBuffer:=VarArrayLock(AVariant);
AStream.WriteBuffer(MyBuffer^, Size);
VarArrayUnlock(AVariant);
finally
AStream.Free;
end;
end;