编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
 15 12
发新话题
打印

用delphi7怎么调用DOS并显示在label(标签)里??

引用:
以下是引用 yeye55 在 2008-4-20 09:28 的发言:



cmd 是启动命令行的意思,/c 的意思是启动命令行后执行随后的命令,dir 是一个内部命令,例如:查看F盘根目录就要输入 cmd /c dir f:\

ipconfig 是一个外部命令,外部命令是以一个单独的可执行文件形式存放,ipconfig.exe 位 ...
谢谢了.辛苦了..哈哈...

TOP

有和种更容易理解、更容易实现的方法,但要稍稍“绕”一下圈子:
把执行命令的结果,即原本在命令提示符里显示的,保存为文本文件,然后再将文本文件的内容加载到Memo,最后删除临时文件。

其中的关键操作都比较简单:
Command>filename:将执行命令的结果保存为文件,如dir C:>E:\temp.txt将执行“dir c:”的执行结果保存到“E:\temp.txt”;
Memo1.Lines.LoadFromFile('E:\temp.txt'):将文本文件的内容加载到Memo;
删除文件;
deletefile('E:\temp.txt'):删除文件。
都比较简单……

将执行结果保存在程序目录下,指定一个特殊一点的文件名以保存当前目录下不会有同名文件存在;
爱我至爱,至死不渝!

TOP

引用:
以下是引用 lfkm 在 2008-4-20 01:31 的发言:


这方法对用DIR很合我意思了..哈哈..只是我再用ipconfig想查下IP就要等好久和狂按按钮才看它一闪而过,为什么会这样呢?
sleep(100);//如果要执行的命令比较耗时,请设置一定的等待时间.(内部命令不必...)
你没注意我这句话吧.ipconfig的执行是比较耗时的...所以会导致执行结果还未完全写入文件就被读取了... 而管道操作又是以独占方式打开文件的,在文件关闭之前再想打开,就会出现第二个程序中的错误了.你可以用try.except.catch来捕获这个错误,如果出错,则sleep(10),否则加载文件的内容.

[ 本帖最后由 DreamHK 于 2008-4-20 17:24 编辑 ]

TOP

引用:
以下是引用 provoke 在 2008-4-20 16:07 的发言:

有和种更容易理解、更容易实现的方法,但要稍稍“绕”一下圈子:
把执行命令的结果,即原本在命令提示符里显示的,保存为文本文件,然后再将文本文件的内容加载到Memo,最后删除临时文件。

其中的关键操作都比较简单:
Command>fi ...
你说的这种方法应该就是批处理文件方法吧.不过我连它的格式都不会写呢.

TOP

引用:
以下是引用 DreamHK 在 2008-4-20 17:22 的发言:



sleep(100);//如果要执行的命令比较耗时,请设置一定的等待时间.(内部命令不必...)
你没注意我这句话吧.ipconfig的执行是比较耗时的...所以会导致执行结果还未完全写入文件就被读取了... 而管道操作又是以独占方式 ...
我是没明白你的那个注释而不是没有看到..哈哈...
是不是现在把它改为SLEEP(10)就出现快了(不管对错).

TOP

 15 12
发新话题