H
honinbou
Unregistered / Unconfirmed
GUEST, unregistred user!
是动态数组中包含动态数组的问题:先定义一个记录type TUserRecord = packed record ID: Byte
Name: array[0..7] of Char
Data: array[0..9] of Word
end;然后声明一个动态数组和一个内存流var ur: Array of TUserRecord
ms: TMemoryStream;接下来在某过程中实现begin ms := TMemoryStream.Create
ms.LoadFromFile('c:/x.dat');//试验文件 SetLength(ur,290);//TUserRecord的10倍长度 ms.Read(ur[0],290)
ShowMessage(ur[8].Name);//ur[8]可改为ur[0]至ur[9],均能得到正确结果end;以上OK。问题是,我要把TUserRecord里的Data: array[0..9] of Word;改为Data: arrayof Word;//动态数组,在过程里再指定它的长度。那么要怎样写才能得到正确结果?
Name: array[0..7] of Char
Data: array[0..9] of Word
end;然后声明一个动态数组和一个内存流var ur: Array of TUserRecord
ms: TMemoryStream;接下来在某过程中实现begin ms := TMemoryStream.Create
ms.LoadFromFile('c:/x.dat');//试验文件 SetLength(ur,290);//TUserRecord的10倍长度 ms.Read(ur[0],290)
ShowMessage(ur[8].Name);//ur[8]可改为ur[0]至ur[9],均能得到正确结果end;以上OK。问题是,我要把TUserRecord里的Data: array[0..9] of Word;改为Data: arrayof Word;//动态数组,在过程里再指定它的长度。那么要怎样写才能得到正确结果?