加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 7:如何执行shell命令并检查结果?

发布时间:2020-12-15 10:12:43 所属栏目:大数据 来源:网络整理
导读:我使用的是Delphi 7,无法预测Windows的目标版本. 我需要创建一个数据库(可能是MySql,但可能是其他东西)并定义一些表结构.我不需要填充任何数据.不幸的是,所有ADO组件似乎都期望数据库已经存在,然后它们将允许您操作它. 所以,由于它只是一些简单的命令,我认为
我使用的是Delphi 7,无法预测Windows的目标版本.

我需要创建一个数据库(可能是MySql,但可能是其他东西)并定义一些表结构.我不需要填充任何数据.不幸的是,所有ADO组件似乎都期望数据库已经存在,然后它们将允许您操作它.

所以,由于它只是一些简单的命令,我认为我不妨使用ShellExectute().

同意?不同意?

任何人都可以给我一个示例代码,它将尝试运行“MySql –version”并让我检查结果吗?在那之后,我应该能够为自己解决这个问题.谢谢.

[编辑]

没有违法行为,但我知道如何谷歌.只是我找不到有用的结果.在这个问题上不明确是我自己的错,所以请接受我的道歉 – 我需要的是一个代码示例,而不仅仅是组件的名称.

对不起(感谢目前为止的回复(所有回复都是1))

[编辑]

罗伯特提供的链接可以完成这项工作(程序RunDosInMemo()可以解决这个问题)…但是你必须记住包含一个.exe扩展名(所以,’notepad.exe’,而不仅仅是’notepad’,以及一个完整的如果您的命令不在路径上,则为path.

解决方法

这篇文章解释了它的细节

Capture the output from a DOS (command/console) Window

但总之,您需要创建两个管道来读取和写入输出.然后,您需要在TStartUpInfo structure中设置StdInput和StdOutput,然后将此结构传递给CreateProcess()调用.

这是another article,显示如何等待该过程完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读