delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前
delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前面9个button的其中之一,有没有代...
delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前面9个button的其中之一,有没有代码可以实现,能附上代码最好啦~~谢谢啦~~
展开
4个回答
展开全部
button10两行代码就可以了
randomize;
(FindComponent('Button'+inttostr(1+Random(9))) as TButton).Click;
randomize;
(FindComponent('Button'+inttostr(1+Random(9))) as TButton).Click;
追问
小白膜拜大神!!那如果前面9个button的序号不是连续的要怎么弄?比如从2到4然后中间跳过5、6再从7继续~~
追答
写错了,你先将序号保存在一个数组中(当然用TList 之类也行),比如是一个名为arr1的int数组,这样就可以通过随机取到的数组索引来取得对应的随机数组内容(FindComponent('Button'+inttostr(arr1[Random(Length(arr1)+1)])) as TButton).Click;
注:你的button其实如果数量较多,其实也可以用程序在运行时动态生成的,没必要一开始就设定要
展开全部
你先定义一个全局变量J,WORD类型,这样定义J;word=1;再在界面上放一个计时器,在计时器的计时事件中写代码,让WORD全局变量加1:即J:=J+1;并且如果J>9则J=1,即 if j>9 then j:=1;
然后在九个button(1~9)的单击事件中写上你要写的代码;
在button10的单击事件写下如下代码,一句CASE of 语句:
CASE J OF
1:button1单击事件的过程名;
2:button2单击事件的过程名;
。。。。
9:button9单击事件的过程名;
end;
这不就是你想要的吗?
可要让计时器处于活动状态哟。
然后在九个button(1~9)的单击事件中写上你要写的代码;
在button10的单击事件写下如下代码,一句CASE of 语句:
CASE J OF
1:button1单击事件的过程名;
2:button2单击事件的过程名;
。。。。
9:button9单击事件的过程名;
end;
这不就是你想要的吗?
可要让计时器处于活动状态哟。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-13
展开全部
i don't know
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询