我使用的是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,显示如何等待该过程完成.

Delphi 7:如何执行shell命令并检查结果?的更多相关文章

  1. 为什么PATH不适用于从Xcode执行的自定义shell脚本?

    我观察到Xcode在运行脚本阶段执行的自定义shell脚本没有设置任何环境变量.他们有很多其他变量,但不是PATH.有可能解决这个问题,怎么样?我只想运行一个应该在路径中的工具,我不想开始手动检查可能的位置.解决方法你可以明确地找到用户.bashrc,.profile等.或者更好的是,运行类似的东西这不会有污染其他变量的风险.

  2. ios – Xcode Server 4.0 git从构建触发脚本推送

    我为一个托管在github上的项目安装了一个XcodeBot.我按照步骤和设置机器人来使用我现有的SSH密钥.验证成功,项目结算和建立.然后,我在预触发器操作中添加了一个shell脚本,它增加了plist中的版本,将其标记,并将该更改提交到github.但是当我尝试从shell脚本执行gitpush时,我得到:–推送到git@github.com:spex-app/spex-ios.git权限被拒

  3. ios – 超时等待120秒的模拟器启动

    看起来像Teamcity代理(TC版本是9.0EAP)不能通过测试shell脚本运行iOS模拟器.我正在使用BuildStep:命令行,它运行自定义脚本并将参数传递给它.通过使用shell脚本../bin/mac.launchd.sh,在MacOSXYosemite10.10上启动了Teamcity代理.构建日志错误:我的shell脚本进行测试:我也试过从这个question的解决方案,但没有帮助

  4. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  5. 在附加到XCode项目的shell脚本中无法识别$SRCROOT

    尝试运行附加到我的xcode项目的简单脚本,如下所示……如果我在XCode之外运行脚本似乎运行正常但是从XCode运行时我收到以下错误…似乎SRCROOT变量在脚本中是不可检测的,但我的理解是这是应该传递并可由脚本访问的环境变量之一.任何想法?解决方法原来这是我的错.该剧本实际上根本没有被调用.在XCode中,我指的是使用脚本的路径…更正了问题,我现在可以从我的脚本访问$SRCROOT.

  6. swift – Xcode 8 Shell脚本调用错误

    我试图解决这个问题几个小时,但它仍然存在.在论坛上尝试了一切,没有任何帮助.我正在使用Cocoapods最新版本1.2.0.beta.1当我尝试构建项目时,它给了我:再次安装pod并运行该项目.使用命令:

  7. android – 来自adb的’grep’命令的问题

    当我用adb写的时候:我得到错误输出:但如果我将它拆分为两个操作符:它工作正常.如果唯一的方法是将它拆分为两个–首先进入adbshell,然后运行Inquire,有一种方法可以从c#中执行此操作吗?

  8. 如何在Android Shell中获得以毫秒为单位的时间?

    3个我正在尝试制作一个在Android上运行的shell脚本.我需要以比秒更精确的时间来测量时间–毫秒或纳秒.我怎样才能在AndroidShell中执行此操作?id=stericson.busybox&hl=en然后你可以这样做:adbshell“busyBoxdate%s”以秒为单位获得时间:adbshell“busyBoxdate%N”获得纳秒秒.

  9. android – 通过ADB更改设备语言

    我想通过亚行改变语言.我试试:但我得到错误:怎么了?我想在物理设备上执行此操作解决方法您的错误与adb无关.您只是不了解本地shell如何处理命令.您正在做的是在本地运行这些命令:您看到的错误消息来自本地shell(即系统上没有setprop可执行文件,启动和停止命令具有非可选参数.正确的命令是或者在最近的Android版本中:

  10. android – adb shell和adb推送特定的avd

    我有一个在eclipse中启动的模拟器,还有一个通过usb在我的计算机上连接的真实设备.所以在我的DDMS中,它显示了2个具有2个不同名称的设备如何指定将在哪个设备上执行ADB命令?解决方法如果只有一个设备和一个仿真器,则可以使用-d和-e选项将命令定向到实际设备和仿真器.设备:仿真器:或者,您可以使用-s将命令定向到特定模拟器/设备实例的选项:对于其他选项,请阅读docs.希望这会有所帮助.

随机推荐

  1. delphi – 主窗口按进程名称处理

    DelphiXe,Win7x64如何从进程名称(exe文件的完整路径)获取主窗口句柄,或至少一个类或窗口名称(如果该进程只有一个窗口).例:解决方法我同意Petesh的说法,你需要枚举顶级窗口并检查创建它的进程的模块文件名.为了帮助您开始枚举顶级窗口,这是一个delphi实现.首先,当你回调给你时,你需要一些与EnumWindows方法通信的方式.为此声明一条记录,该记录将保存您要查找的模块的文件

  2. 如何在Delphi中纯粹通过RTTI信息(即不使用任何实际对象实例)获取TObjectList的子项类型?

    我正在使用RTTI实现用于流式传输任意Delphi对象的通用代码,并且为了使其工作(更具体地说,为了使加载部分工作),我需要以某种方式获得TObjectList的子项类型<T>不使用任何实际对象实例的字段.要求不使用任何实际对象实例的明显原因是,在从流加载对象的情况下(仅基于要加载的对象的类类型的知识),我将不会有任何实例在加载完成之前完全可用–我宁愿只能访问相关类的纯RTTI数据.我希望能

  3. inno-setup – Inno Setup – 安装程序背景图片

    图像作为安装程序背景如何用inno5.5.9做到这一点?

  4. inno-setup – Inno Setup – 如何添加多个arc文件进行解压缩?

    使用InnoSetup解压缩弧文件.我希望有可能解压缩多个arc文件以从组件选择中安装文件(例如).但仍然显示所有提取的整体进度条.这可能吗?的回答的修改预备是相同的,参考其他答案.在ExtractArc中,为要提取的每个存档调用AddArchive.

  5. delphi – 如何在DataSet的帮助下在TAdvStringGrid中显示数据库中的BLOB图像

    解决方法CreateBlobStream正在创建一个TStream对象,而不是TMemoryStream.由于您不想将JPG写入数据库,因此应使用bmRead而不是bmReadWrite.我不习惯sqlite,但你必须确保使用合适的二进制日期类型.为了确保存储的图像真的是JPG,您应该编写JPG以进行测试,例如:

  6. inno-setup – 在Inno Setup的Code部分下载程序后运行程序

    如何运行我通过Internet下载的应用程序,在代码部分中使用,并等待该应用程序完成运行.我有,使用InnoTools下载程序,下载这两个文件,我想,在第二个完成下载后运行该下载,或jdk-8u111-windows-x64.exe,然后继续安装.解决方法使用其他下载插件,而不是ITD(请参阅下面的原因).例如,InnoDownloadPlugin.当您包含idp.iss时,它定义了一个全局IDP

  7. progress-bar – Inno Setup Run部分的简单进度页面

    我的安装程序非常简单,它基本上是:>欢迎页面>进展页面>最终页面欢迎页面和最终页面是标准页面.在Progress页面,我正在静默安装一堆其他程序.实际的脚本是在[Run]部分中安装每个程序.问题是酒吧达到100%然后停留在那里.我只能更改消息文本.我想要实现的是使用Pascal脚本显示进度,例如:这样我就可以显示更准确的进度条.这就是我所拥有的:问题是,当我构建安装程序时,它不显示欢迎页面.我做错了什么?

  8. delphi – 如何使“显示/隐藏桌面图标”设置生效?

    下面的代码调用SHGetSetSettings函数来隐藏桌面图标但它只是从视图菜单中取消选中“显示桌面图标”.我打电话给SHChangeNotify;更新桌面,但这不起作用?解决方法isa,要刷新桌面,您可以将F5键发送到progman窗口隐藏桌面图标的另一种方法是再次显示

  9. inno-setup – Inno Setup – 避免显示子安装程序的文件名

    我试图使用InnoSetup–Howtohidecertainfilenameswhileinstalling?(FilenameLabel)的想法Theonlysuresolutionistoavoidinstallingthefiles,youdonotwanttoshow,usingthe[Files]section.Installthemusingacodeinstead.UsetheEx

  10. inno-setup – Inno Setup磁力链接下载实施

    我目前正在使用InnoDownloadPlugin为我的安装程序下载文件,这个问题最大的问题是faila正确下载文件.因为连接不良等诸多原因.我想添加一种替代方法来下载文件,因此用户可以选择是否需要常规方式或torrent方式.我知道我可以使用aria2c.exe应用程序(https://aria2.github.io/),有人可以帮我实现它的inno设置代码吗?我需要的是使用torrent(ar

返回
顶部