delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前

delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前面9个button的其中之一,有没有代... delphi7在同一窗口内,有九个button(1~9),我想做一个button10,点击button10可以实现等同于随机点击了前面9个button的其中之一,有没有代码可以实现,能附上代码最好啦~~谢谢啦~~ 展开
 我来答
syht2000
高粉答主

2012-07-14 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
button10两行代码就可以了
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其实如果数量较多,其实也可以用程序在运行时动态生成的,没必要一开始就设定要
liu55721
2012-07-13 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:876万
展开全部
你先定义一个全局变量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;
这不就是你想要的吗?
可要让计时器处于活动状态哟。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐的小白兔哈
2012-07-13
知道答主
回答量:62
采纳率:0%
帮助的人:9.7万
展开全部
52
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-13
展开全部
i don't know
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式