TC官方合作论坛
标题:
如何在线程中判断一个按钮被按下
[打印本页]
作者:
泥巴潭
时间:
2012-10-13 16:24
标题:
如何在线程中判断一个按钮被按下
线程程序()
如果(按钮被按下)
语句.......
如果结束
线程结束
或者 我定义了一个全局变量 A 然后我在按钮_点击 事件中 给他赋值 =1 , 但是在线程中A的值好像还是没变?
线程程序()
如果(A==1)
语句.......
如果结束
线程结束
作者:
shine宝宝
时间:
2012-10-13 16:41
等待按键?
作者:
泥巴潭
时间:
2012-10-13 16:46
按钮被按下 不是某个按键被按下
作者:
tianbao
时间:
2012-10-13 17:17
dddddddddd
作者:
TC
时间:
2012-10-13 17:18
键值=键盘.等待按键()
返回是某个键的ascii码 可以根据这个判断
作者:
冷月无痕
时间:
2012-10-13 17:32
我实在是忍不住了......
线程程序()
如果(A==1)
语句.......
如果结束
线程结束
你这个不叫赋值好不好,
线程程序()
A=1
//这个才是赋值
如果(A==1)
语句.......
如果结束
线程结束
作者:
tempbb1234
时间:
2012-10-13 19:01
有两种方法,第一种得到按钮文字,用文字来判断。
第二种是按钮的属性,按下后变灰,不能再按。来判断。也就是控件的有效和无效。
control.enable("启动",false)
control.enable("停止",true)
作者:
泥巴潭
时间:
2012-10-15 16:58
回复
6楼
冷月无痕
的帖子
你把我的意思理解错了
我的意思是 A为全局变量 在一个按键点击事件中赋值 A=1
然后在 线程中判断 if(A==1)
---------------------------------------------------------------
开始以为需要用到临界区 ,但是试了一下临界区 还是不行
作者:
冷月无痕
时间:
2012-10-15 17:07
回复
8楼
泥巴潭
的帖子
别好像,做了才知道,
我这里测试是可以的
循环(真)
标签.设置文本("标签3",转换.整型转字符型(a))
辅助.等待(20)
循环结束
复制代码
在热键里给a赋值,当热键按键下后 标签内容改变
功能 逻辑型 热键0_热键()
a = 1
返回 真
功能结束
复制代码
作者:
cylhb
时间:
2012-10-15 21:48
确定A是全局变量才可以...,并且线程的判断再你赋值语句执行之后才运行
作者:
泥巴潭
时间:
2012-10-16 09:40
回复
10楼
cylhb
的帖子
我是这样写的 帮我看一下为什么不能 在线程中判断A的值呢 ?
int 全局变量A
功能 多线程程序()
while
if(A == 1)
........
endif
enwhile
功能结束
功能 发送_点击() //点击按钮
A = 1
功能结束
复制代码
作者:
zc1835429
时间:
2012-10-16 10:16
回复
1楼
泥巴潭
的帖子
你是想在线程中改变A的值还是要在线程中判断哪个按钮被点击呢?
如果是想要在线程中改变A的值,直接A=多少就可以的,不用加判断(A=100,类似这样)
如果是现在要判断哪个按钮被点击,可以在你需要的按钮下面写上对应的值,比如:
按钮1被单击
A=1
按钮2被单击
A=2
然后再判断A的值==多少
如果(A==1)
辅助.消息框("按钮1被按下")
如果结束
如果(A==2)
辅助.消息框("按钮2被按下")
如果结束
作者:
泥巴潭
时间:
2012-10-16 12:37
回复
12楼
zc1835429
的帖子
非常感谢! 问题解决了 。
我定义的全局变量是个bool 型的,不行。 我把它改成 int型的就可以了
作者:
zc1835429
时间:
2012-10-16 14:34
回复
13楼
泥巴潭
的帖子
嗯 解决就好
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1