发新话题
打印

如何用delphi的memo控件动态的显示批处理程序??

如何用delphi的memo控件动态的显示批处理程序??

比如现在要执行一个批处理winexec('C:\deploy.bat',sw_hide);
这个批处理文件会生成一个临时的文本文件test.txt(也就是dos窗口中显示的内容),
然后用memo.lines.loadfromfile(ExtractFilePath(Application.ExeName)+'\test.txt');
读取这个文本文件,倒是能读出内容(它的效果是等待文本文件test.txt生成完,再读取内容一下就全部
显示了),可这不是我想要的效果。
    我想要的效果是在生成test.txt的同时,memo就逐行读取test.txt,在memo中显示的效果就像dos窗
口中的内容那样一行一行跳动的显示出来。
    我试过用下面的代码(也就是生成的同时就读取)
    winexec('C:\deploy.bat',sw_hide);
    memo.lines.loadfromfile(ExtractFilePath(Application.ExeName)+'\test.txt');
    可是会出现异常提示(文本文件test.txt在生成过程中被另一程序使用,无法访问...)
    等它生成完了倒是可以访问读取了,可是却得不到我想要的效果了......
请教大家有什么解决办法啊,感激不禁!!

TOP

简单啊,你可以先把内容读取到一个stringlist中,再每隔一定时间写一行到MEMO 。。就搞定
我在人生的舞台上笨拙地跳跃着,并自得其乐。
-
Mail: kuku2012@163.com

TOP

发新话题