关于取DOS执行结果,编辑框内容重复的问题!
来源:百度文库 编辑:神马文学网 时间:2024/04/29 04:32:10
关于取DOS执行结果,编辑框内容重复的问题!
我想写一个程序,其中需要取DOS执行结果,于是我调用了一个取DOS执行结果的易模块.可是这个易模块有一点问题,那就是编辑框中的内容会出现重复,这是取DOS执行结果的易模块中的一部份代码:.判断循环首 (len ≠ -1) ' 制造一个无限循环
PeekNamedPipe (hRead, 0, 0, 0, len, 0) ' 查看管道中是否有数据
.如果 (len ≠ 0)
txt = 取空白字节集 (1024)
ReadFile (hRead, txt, 1023, len, 0) ' 从管道中读取数据
编辑框1.内容 = 编辑框1.内容 + 取字节集数据 (txt, #文本型, )
.否则
GetExitCodeProcess (PROCESS_INFORMATION.hProcess, EXIT) ' 查看指定进程是否已结束
.如果真 (EXIT ≠ #STILL_ACTIVE) ' 因为会有程序退出来了,但管道中还有数据的情况,所以必须在管道中没有数据的情况下判断程序是否已结束,这时才能中止循环!
CloseHandle (hRead) ' 关闭管道
跳出循环 ()
.如果真结束
.如果结束
处理事件 ()
输出调试文本 (到文本 (len))
.判断循环尾 ()
大家看这句子:
编辑框1.内容 = 编辑框1.内容 + 取字节集数据 (txt, #文本型, )
是不是有重复?当然,如果管道中的数据比较小,那么我们是看不出重复的内容,如果管道中的数据比较多,那么就出现了重复的内容,因为我在程序中要执行的DOS命令比较特别,执行过程长达3分钟,显示的执行数据很大,所以编辑框中的内容就重复,而且显示比较慢, 不能和传统DOS窗口中的数据同步.
如果把代码改成:"编辑框1.内容 =取字节集数据 (txt, #文本型, )"的话,那内容重复的问题就解决了,但新的问题又出现了,那就是编辑框不能保存数据,当管道中的数据没有了的时候,编辑框中的内容也就没有了,不可能从管道中读取数据,然后保存在文件中,再读入文本到编辑框吧?这样做就没有意义了.
如果把代码改成:"编辑框1.加入文本(取字节集数据 (txt, #文本型, ))"的话,那内容重复的问题就解决了,编辑框不能保存数据的问题也解决了,但问题又再出现,那就是显示执行结果很慢,不能和传统DOS窗口中的数据同步.我查过易语言知识库,说用"编辑框.加入文本"命令,就等于电脑自动打字,速度相对于"编辑框1.内容 =XXX"这样的赋值语句,就显得慢了很多.
关于取DOS执行结果,编辑框内容重复的问题!
关于执行力的问题
施工内容重复 隐匿涉税问题
国家工商行政管理总局关于执行《关于停止发布含有乱评比、乱排序等内容广告的通知》中有关问题的...
重复的矿难 重复的问题
关于印发《关于实行纪律处分决定执行内容告知制度的暂行办法》的通知
国家税务总局关于明确个人所得税若干政策执行问题的通知
关于明确个人所得税若干政策执行问题的通知
关于执行西部大开发税收优惠政策有关问题的批复
关于明确个人所得税若干政策执行问题的通知
最高人民法院关于财产刑执行问题的若干规定
最高人民法院关于财产刑执行问题的若干规定
国家税务总局关于明确个人所得税若干政策执行问题的通知
关于税收优惠过渡政策的执行问题
国家税务总局关于明确个人所得税若干政策执行问题的通知
最高人民法院关于财产刑执行问题的若干规定
381、 关于税收优惠过渡政策的执行问题
关于执行税收协定股息条款有关问题的通知
国家税务总局关于税收协定有关条款执行问题的通知
最高人民法院关于财产刑执行问题的若干规定
最高人民法院关于财产刑执行问题的若干规定
中国DOS的论坛,内容全面
中国DOS的论坛,内容全面
关于成为网络工程师后具体的工作内容的问题