讀寫方式一:
KChratList := TLRDL2StyleList.Create(‘E:\Voice-king\ADSLRDLC_CE2\090602.dat’);//重點
k:=0;
for i:= KChratList.Count-1 downTo 0 do
begin
inc(k);
if k >2000 then Break;
TheItem := KChratList[i];//重點
with TheItem do
begin
MessageStr := Format(’%10s %20s %8d %8d %8d %8f’,
[StockID,StockName,MoneyStockRatio,MoneyRatio,NetRatio,StockTer]);
end;
end;
讀寫方式二:
redFile := TFileStream.Create(Filesnames,fmOpenRead);//redFile為FileStream
if redFile.Size > 0 then
begin
numbercount := redFile.Size div sizeof(TBrokerRec);//TBrokerRec為記錄體
SetLength(readcmpyone,numbercount);//readcmpyone為記錄體TBrokerRec的集合
for i:= 0 to numbercount-1 do
begin
redFile.Read(readcmpyone[i],sizeof(TBrokerRec));
end;
end;
讀寫方式三:
TheFile := TMemoryStream.Create;
try
TheFile.LoadFromFile(DatFileName);//DatFileName是源文件(.dat)所在路徑
if TheFile.Size = 0 then Exit;
TheCount := TheFile.Size div Sizeof(TBrokerRec);//TBrokerRec為記錄體
SetLength(TheTBrokerRecArray, 0);//TheTBrokerRecArray為記錄體TBrokerRec的集合
SetLength(TheTBrokerRecArray, TheCount + 1);
Move(TheFile.Memory^, TheTBrokerRecArray[0], TheCount * Sizeof(TBrokerRec));
finally
TheFile.Free;
end;
結構體文件的讀寫(.dat)
最新推荐文章于 2022-04-07 21:45:04 发布