动态增加控件问题

usa112233 2005-04-12 05:52:56
我正在做一个计算机设备管理系统,设想如下,将每一种设备的配置要素存入一个数据库表中,当需要修改计算机设备配置的时候,从表中取出该设备有哪些配置。这样就不需要对每一中计算机设备写一个输入输出界面了。我的问题是:因为各种设备的要素差别很大,不能事先确定有几个,因此要根据数据库的记录来动态的生成label和edit控件来输入输出。界面应该如何设计?请大家帮个忙!最好能提供一个源码学习一下。谢谢!!
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellolongbin 2005-04-13
  • 打赏
  • 举报
回复
最好不要做成那样的,可控性太差,很容易出错误
建议用类似stringgrid或者其他控件,以记录的形式添加
sunjunfeng3 2005-04-13
  • 打赏
  • 举报
回复
我用程序在窗体上动态增加控件,增加后却不知道这样为动态增加的控件指定事件处理过程,有谁可以帮帮我?
代码如下:
var
Button:array of TButton;
i,icount:integer;
begin
icount:=3;
SetLength(Button,icount);
for i:=0 to icount-1 do
begin
Button[i]:=TButton. Create(self);
Button[i].Parent:=Self;
Button[i].Left:=i*100;
Button[i].Top:=100;
Button[i].Caption:=inttostr(i);
Button[i].Click:=ShowTip(i); //这里出错,ShowTip(i)是个过程//你的showtip过程应该和OnClick事件的声明方法相同才行,包括参数类型,返回类型(函数的话)等
end;
end;
sunjunfeng3 2005-04-13
  • 打赏
  • 举报
回复
var myedit:TEdit;
myedit:=TEdit.Create(Self);
myedit.Parent:=frmMain;
with myedit do
begin
Left:=50;
Top:=50;
Width:=100;
Height:=21;
end;
myedit.OnClick:=myedit_KeyDown;
你可以在数据库中写入控件的属性和事件,读出来后再赋给相关的控件就可以了
太空11 2005-04-12
  • 打赏
  • 举报
回复
你最好不要做成那样的,应该做成直接读取,计算机硬件的信息并存到数据表中。
jianbingqiang 2005-04-12
  • 打赏
  • 举报
回复
听不懂你的意思,你是说根据用户的输入动态生成控件还是根据数据库里的内容生成控件
usa112233 2005-04-12
  • 打赏
  • 举报
回复
数据库中有一条记录为“CPU”,那么我就要生成一个label,其caption为CPU,再生成一个edit,供用户输入CPU型号。有一条记录为“硬盘”,再生成一个label,其caption为CPU,再生成一个edit,供用户输入硬盘容量。由于数据库中记录数不定,想实现定义好变量名是不行的,需要动态的生成。最后我该怎样一个一个读取输入的数据呢?
jianbingqiang 2005-04-12
  • 打赏
  • 举报
回复
var myedit:TEdit;
myedit:=TEdit.Create(Self);
myedit.Parent:=frmMain;
with myedit do
begin
Left:=50;
Top:=50;
Width:=100;
Height:=21;
end;
myedit.OnClick:=myedit_KeyDown;
你可以在数据库中写入控件的属性和事件,读出来后再赋给相关的控件就可以了


5,388

社区成员

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

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