在Delphi中如何创建控件数组

monday 2000-03-16 11:32:00
...全文
185 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxy 2000-03-17
  • 打赏
  • 举报
回复
what's your mean:)
sess 2000-03-17
  • 打赏
  • 举报
回复
把INTEGER,TSTRING,TBUTTON...看成一样,只不过要先CREATE ,最后在FREE
jll 2000-03-17
  • 打赏
  • 举报
回复
补充:
var
BtnArray : array[1..10] of TButton;
……
bitter 2000-03-17
  • 打赏
  • 举报
回复
以下代码是根据条件,取数据库记录生成SPEEDBUTTON。希望对你有帮助。
var
MyB:array of TSpeedButton;
begin
Setlength(MyB,table1.RecordCount);
table1.First;
i:=0;
while not(table1.eof) do
begin
if table1.FieldByName('parent').asinteger=0 then
begin
MyB[I]:=TSpeedButton.Create(self);
MyB[I].Parent:=panel1;
{加入位置及宽高控制如:myb[i].width:=40;}
MyB[i].flat:=true;
MyB[i].caption:=trim(table1.fieldbyname('caption').asstring
Myb[i].onClick:=buttonclick;//按纽事件
i:=i+1;
end;
table1.next;
end;
end;
liuly 2000-03-17
  • 打赏
  • 举报
回复
for i:= 0 to count-1 do
begin
BtnArray[i]:=TBuuton.Create(YourForm);
BtnArray[i].Parent:=YourForm;
......
end;

在类里写个 procedure MyBtnClick(sender:TObject)
BtnArray[i].OnClick:=MyBtnClick;
在工程实践经常需要实现上下位机间的串口通信,为了编程的方便性我们通常采用字符方式进行数据传输,由于需要数据转换以及转换后的数据长度增加,数据传输速度不够理想,为了提高系统实时性在某些特殊场合更需要直接采用二进制进行数据传输。Delphi6.0是一种面向对象的可视化的快速应用开发(RAD)工具,它既具有C++语言的强大功能,同时又有VB的易用性,Delphi6.0的伸缩性强,既可用于开发小项目,也可用于开发大项目,尤其适用于快速应用的开发,其大量优点使它迅速成为一种非常流行的编程语言。Delphi6.0串口通信的实现方法很多,可以使用嵌入式汇编语言、API函数以及VB的MSComm控件来实现。其使用MSComm控件来实现串口通信最方便,但有关Delphi如何实现二进制通信的资料很少,大部分参考书都只介绍了VBMSComm控件的字符通信方式。由于Delphi数组跟Variant变量不兼容,即在Delphi字节数组不能直接赋值给MSComm控件的output属性,这跟VB有很大的不同(VB可以直接赋值),本人通过摸索总结出两种实现Delphi二进制通信的方法,即动态数组法和可变数组(Variant Array)法,并给出了应用实例。在应用实例我们使用Delphi的absolute关键字来定义两个同地址的动态数组,类型分别为字节型数组和短整型数组,使用字节动态数组接收数据后,可以直接使用短整型动态数组获得短整型数据,省却了数据转换的麻烦

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧