假设有如下数组:
Type
TPaperInfo=packed Record
PaperName: string;
PaperSize: integer;
PaperWidth:integer;
PaperHeight: integer;
end;var
PaperInfos: array of TPaperInfo; SetLength(PaperInfos,10); for i:=Low() to High() do
begin
//为数组各元素赋值
end; 窗体中有个comboBox1, 我想把数组中各元素作为TObject插入到该组合框的Objects列表中, 以及在需要时从各个Object中取出各元素的成员
请问各位大侠有可以这么做吗??或者有其它折冲的办法???
Type
TPaperInfo=packed Record
PaperName: string;
PaperSize: integer;
PaperWidth:integer;
PaperHeight: integer;
end;var
PaperInfos: array of TPaperInfo; SetLength(PaperInfos,10); for i:=Low() to High() do
begin
//为数组各元素赋值
end; 窗体中有个comboBox1, 我想把数组中各元素作为TObject插入到该组合框的Objects列表中, 以及在需要时从各个Object中取出各元素的成员
请问各位大侠有可以这么做吗??或者有其它折冲的办法???
解决方案 »
- delphi项目在debug模式下运行就出错,但不选DEBUG则运行正常
- 关于Grid Index Out Of Range 的问题
- 一个线程问题,请大家看看我的程序错在哪儿?谢谢!!
- quickreport的输出问题
- 怎么重新排列edit?
- 未来的浏览器会不会是3D的.
- 我晕!!!!!急!用playsound播放wav文件时,程序什么都干不了了,怎么办???????
- ShowReportByDataSet(DataSet,Caption);//怎样可以带组件的代码中找到这ShowReportByDataSet的使用说明
- 各位老大:能列一下您经常光顾的Delphi网站吗?
- 怎样解决image.Canvas显示范围问题
- 服务中调用ADO控件的问题
- 如何得到本月的第一天和最后一天.求助??
begin
ComboBox1.Items.Add('');
ComboBox1.Items.Objects[i] := PaperInfos[i];
end;建议TPaperInfo定义为class,而非record
PPaperInfo=^TpaperInfo;//加一行,定义其指针类型
TPaperInfo=packed Record
PaperName: string;
PaperSize: integer;
PaperWidth:integer;
PaperHeight: integer;
end;以后可以使用combobox.items.addobject(@PaperInfos[i]);取出:
var p : PPaperInfo;
...
p := combobox.item.objects[i];
TPaperInfo=class
PaperName: string;
PaperSize: integer;
PaperWidth:integer;
PaperHeight: integer;
end;PaperInfos: array of TPaperInfo;TPaperInfo类就已经是一个TObject了,可以直接ComboBox1.Items.Objects[i] := PaperInfos[i];取出的时候:if ComboBox1.Items.Objects[i] is TPaperInfo then
with ( ComboBox1.Items.Objects[i] as TPaperInfo ) do
begin
...
end;