TC官方合作论坛

标题: 请问如何在界面里设置信息框输出类似调试信息 [打印本页]

作者: hzs75    时间: 2015-9-10 22:39
标题: 请问如何在界面里设置信息框输出类似调试信息
本帖最后由 hzs75 于 2015-9-10 22:49 编辑

在界面里如何设置一个信息框,像调试一样从下往上一条一条输出信息

用列表框添加的话 不会显示出最新的信息
用标签的话 只能显示一条信息,



作者: 这论坛不错    时间: 2015-9-11 00:14
列表框其实也可以显示出最新的信息的,你可以每显示几条信息就删除几条信息
作者: cjxdn    时间: 2015-9-11 00:31
用编辑框显示
作者: hzs75    时间: 2015-9-11 00:32
cjxdn 发表于 2015-9-11 00:31
用编辑框显示

编辑框也是只能一条覆盖一条
作者: hzs75    时间: 2015-9-11 00:39
这论坛不错 发表于 2015-9-11 00:14
列表框其实也可以显示出最新的信息的,你可以每显示几条信息就删除几条信息 ...

不能像调试信息一样从下往上一条一条输出信息吗

作者: cjxdn    时间: 2015-9-11 01:47
hzs75 发表于 2015-9-11 00:32
编辑框也是只能一条覆盖一条

思路这样:
如果编辑框内容为空
编辑框.设置文本  信息1
编辑框有内容获取
信息1 换行 加入
信息2
循环 旧的信息+换行加入新的信息
作者: 爱上老公    时间: 2015-9-11 08:11
功能 执行()
    变量 x,y
    循环(真)
        等待(2000)
        变量 时间=当前时间()
        鼠标获取坐标(x,y)
        变量 内容1=编辑框获取文本("编辑框0")
        编辑框设置文本("编辑框0",内容1&"\r\n"&时间&":"&"X坐标:"&x&"Y坐标:"&y)
    结束
结束
作者: qwe1063422121    时间: 2015-9-11 08:26
API功能里好像有个日志文件函数!!我知道你是想像日志文件那样显示在前台对吧.....
作者: c724211922    时间: 2015-9-11 14:23
列表框界面属性默认滚动选成真 ,就可以了,防止输出太多影响性能 可以每次输出信息前判断当前列表项个数达到一定数量删除前面一些,防止重复输出也可以先判断上一条和信息是否一样再输出。
作者: 言术    时间: 2015-9-11 17:03
功能 按钮0_点击()
    线程开启("测试","")
结束

功能 测试()
    控件是否有效("按钮0",假)
    遍历(变量 i = 0; i < 100; i++)
        日志(i)
        等待(100)
    结束
    控件是否有效("按钮0",真)
结束

功能 日志(新内容)
    变量 原内容=编辑框获取文本("编辑框0")
    编辑框设置文本("编辑框0",原内容&新内容&"\r\n")
   
    窗口发送消息(控件获取句柄("编辑框0"),277,7,0)
结束

测试一下.rar

1.3 KB, 下载次数: 287


作者: hzs75    时间: 2015-9-12 14:47
qwe1063422121 发表于 2015-9-11 08:26
API功能里好像有个日志文件函数!!我知道你是想像日志文件那样显示在前台对吧..... ...

就像你说的像日志文件那样显示在前台,
看了大家的答复,都是编辑框读取再添加再输出
难道就没有简单一点的办法像traceprint一样输出吗
作者: hzs75    时间: 2015-9-12 14:58
言术 发表于 2015-9-11 17:03
功能 按钮0_点击()
    线程开启("测试","")
结束

谢谢大大提供那么完整的回复,
测试了一下

  1. function 测试()
  2.         日志("要输出的信息")
  3. end

  4. function 日志(新内容)
  5.     var 原内容=editgettext("编辑框0")
  6.     editsettext("编辑框0",原内容&新内容&"\r\n")
  7.    
  8.     windowsendmessage(controlgethandle("编辑框0"),277,7,0)
  9. end
复制代码


这样可以达到目的

作者: hzs75    时间: 2015-9-12 14:59
言术 发表于 2015-9-11 17:03
功能 按钮0_点击()
    线程开启("测试","")
结束
  1. windowsendmessage(controlgethandle("编辑框0"),277,7,0)
复制代码

但是不明白这句的意思是?




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1