数组怎么写到ini文件,而且该数组里的元素为结构体。。。。。(50分)

  • 主题发起人 主题发起人 兔子帅死了
  • 开始时间 开始时间

兔子帅死了

Unregistered / Unconfirmed
GUEST, unregistred user!
数组怎么写到ini文件,而且该数组里的元素为结构体。。。。。
 
第i个元素作Section
结构内容作关键字
直接写嘛
 
好像没有WriteSection....................
 
那就一个一个的写嘛。一个循环而已
 
定好协议,怎么干都行
 
==下。。。偶想想看。。。加下QQ可以伐了。。。。
 
for j:=0 to allguncabinf[allguncabNum].gunnum-1 do
MyCabFile.WriteString('SetGunCab'+inttostr(allguncabNum),'gunProperty',TArmSum(allguncabinf[allguncabNum].gunarray));
知道一个个写了,怎么读一条记录,TArmSum是定义的结构体,gunarray是数组,由0-127个TArmSum组成。。。。。。。。。。。。。
 
引用dey-999的一句话:“定好协议,怎么干都行”这才是问题的根本所在...
 
IniFile.WriteBinaryStream; 用个TStream把数组全读进来再写下去就可以了。
读出来也一样。
 
nicai_wgl。。。。
IniFile.WriteBinaryStream这个比较简单。。偶试试。。
 
MyCabFile.ReadBinaryStream('SetGunCabtemp'+inttostr(i),'gunProperty',@allguncabinf.gunarray);这样以后
还能不能这样的
CopyMemory(@buff[6+k*5],@allguncabinf.gunarray[j], 5);
 
function ReadBinaryStream(const Section, Name: string; Value: TStream): Integer; virtual;
楼主看清楚函数的参数,你把要写的东西全读到一个TStream里再写下去。
var
TmpStream: TStream;
begin
TmpStream := TMemoryStream.Create(nil);
try
TmpStream.write(MyArray[0], SizeOf(MyArray));
Inifile.WriteBinaryStream('1', '1', TmpStream);
finally
TmpStream.Free;
end;
end;
读出来反之;
 
后退
顶部