type
TDeviceInfo = record
id: Integer;
devName: string;
end; //装备信息
TDevInfoPack = packed record
body: PChar; //array[0..3] of TDeviceInfo;
len: Integer;
end;var
Info1,Info2,Info3: TDeviceInfo;
devInfo: TDevInfoPack;
//devInfo.body 是一个结构体数组,但由于长度不确定,所以改用了PChar类型,请问如何将Info1,Info2,Info3赋值到PChar类型的body中?请各位大侠指教
TDeviceInfo = record
id: Integer;
devName: string;
end; //装备信息
TDevInfoPack = packed record
body: PChar; //array[0..3] of TDeviceInfo;
len: Integer;
end;var
Info1,Info2,Info3: TDeviceInfo;
devInfo: TDevInfoPack;
//devInfo.body 是一个结构体数组,但由于长度不确定,所以改用了PChar类型,请问如何将Info1,Info2,Info3赋值到PChar类型的body中?请各位大侠指教
解决方案 »
- Delphi工程组织的困惑:DLL?BPL?
- 程序员有没有喜欢火影的,有的话就加群8214435
- 需要一份商店(进销存)管理系统的设计文档
- 最简单的小学算学问题求解
- 请问,有没有得到本月第一天的日期函数?
- 高手请指教:我用Delphi5协议各CGI,使用BDE连接Oracle8.1.7,了解失败,但是在普通程序中一切OK,在CGI中使用Interbase或其他数据库都可以,请
- 安装ORACLE的磁盘是否不能做文件碎片整理???
- 各位大侠请帮忙!!
- 【提问! 求助!】SOS!要命啦!大家快来帮帮忙吧!谢谢了! 分不是问题!
- Win7标准用户怎么在桌面创建文件夹
- Delphi 如何计算DBGridEH 列 = 列值+文本框值
- 【求助】关于字符串合并时加引号的问题
TDeviceInfo = class
public
id: Integer;
devName: string;
end;var
i: integer;
adev: TDeviceInfo;
Info1,Info2,Info3: TDeviceInfo;
devInfo: TList;begin
devinfo := TList.create;
info1:= TDeviceInfo.Create;
info1.id := xx;
info1.devname = 'xxx';
devinfo.add(info1);
//info2
....
//info3
....
//使用示例
for i:=0 to devInfo.length-1 do
begin
adev:= (TDeviceInfo) devinfo[I];
......
end;
devinfo.free; //最后使用完了,要释放掉。
end;
再定义该 结构体的动态数组,
使用时,可以动态定义动态数组的长度。
type
TDeviceInfo = record
id: Integer;
devName: string;
end;var A:array of TDeviceInfo; // 声明动态数组
begin
Rec:=100; // 动态数组长度
SetLength (A, Rec); // 设置的动态数组长度
A[0].id:=5; // 给数组中的结构体赋值
A[0].devName:='MyStr'; // 给数组中的结构体赋值
end;
格式可以是xml/json/ini
TDeviceInfo = record
id: Integer;
devName: string;
end;
var A:array of TDeviceInfo; // 声明动态数组
begin
// 固名思议是:动态数组,设置也应该是动态才合理
SetLength (A, Length(A)+1); // 设置的动态数组长度
A[High(A)].id:=5; // 给数组中的结构体赋值
A[High(A)].devName:='MyStr'; // 给数组中的结构体赋值
end;