通过DELPHI小程序在WINDOWS下更好地使用DOS批处理

通过DELPHI小程序在WINDOWS下更好地使用DOS批处理,第1张

我们知道 DOS 下的批处理程序中 可以用 ECHO 显示一段信息(提示信息或出错信息) 对于要接收用户输入的情况 MS DOS 本身提供的外部程序就只有 CHOICE 能让用户输入一个键 所以基本上只能用于菜单选择 对于下述两个需求 那就只有另外编程序了 .在 DOS 下的批处理程序中通过 WINDOWS 对话框显示一段提示信息或出错信息 .在 DOS 下的批处理程序中通过 WINDOWS 对话框接收用户输入的一个字符串 并对其进行后续处理

对于这两个问题 相信有些人已经有了一些解决方案 在此我提出我的解决方案 是用 DELPHI 写的程序(这些DELPHI程序都是没有 FORM 和 PAS文件的) 我觉得比较简单 作为抛砖引玉

显示提示信息 SHOWMSG DPR program ShowMsguses Windows{$R * RES} begin   if ParamCount <then begin MessageBox( 用Windows对话框显示信息 # # + 用法: ShowMsg 提示信息 对话框标题 用法说明 MB_ICONINFORMATION)HaltendMessageBox( PChar(ParamStr( )) Pchar(ParamStr( )) MB_OK)Haltend

显示出错信息 EmsgDlg DPR program EmsgDlguses Windows{$R * RES} begin if ParamCount <then begin MessageBox( 用Windows对话框显示出错信息 # # + 用法: EmsgDlg 出错信息 对话框标题 用法说明 MB_ICONINFORMATION)HaltendMessageBox( PChar(ParamStr( )) PChar(ParamStr( )) mb_IconHand)Haltend

INPUTBOX DPR通过 WINDOWS 对话框接收用户输入的一个字符串 并把用户输入作为调用一个批处理程序或其他程序的第 个参数 program INPUTBOXuses Dialogs Windows{$R * RES} var NewString: stringClickedOK: Booleanbegin if ParamCount <then begin MessageBox( 将用户输入作为 BAT或其他程序的参数调用 # # + 用法: InputBox BAT或其他程序文件名 缺省输入 对话框标题 提示信息 InputBox用法说明 MB_ICONINFORMATION)HaltendNewString := ParamStr( )//default string ClickedOK := InputQuery(ParamStr( ) ParamStr( ) NewString)if ClickedOK then WinExec(PChar(ParamStr( ) + + NewString) SW_SHOWNORMAL)Haltend

用法举例 PRT BAT文件内容: @ECHO OFF D:\POS\INPUTBOX EXE PR BAT 解压POS报表文件并用写字板打开入帐汇总表 请输入日期:

PR BAT文件内容: @ECHO OFF IF % == GOTO END D: CD \POS\INBOX IF NOT EXIST POS% ARJ GOTO NOT_FOUND D:\POS\ARJ X y POS% ARJ CD D:\POS\INBOX\pos_report IF NOT EXIST Pr B% txt GOTO PR _NOT_FOUND C:\WINDOWS\WRITE Pr B% txt D:\POS\ShowMsg 成功! OK!!! GOTO END

:NOT_FOUND D:\POS\EmsgDlg 文件D:\POS\INBOX\POS% ARJ找不到! 出错! CD D:\ GOTO END

:PR _NOT_FOUND D:\POS\EmsgDlg 文件D:\POS\INBOX\pos_report\Pr B% txt找不到! 出错! CD D:\ GOTO END

:END

lishixinzhi/Article/program/Delphi/201311/25043

以Delphi7为例

1、运行Delphi

默认会创建一个名为Project1的Application,并且有一个默认的主窗口Form1

2、从控件面板的Standard页中拖一个按钮控件到Form1上,会默认命名为Button1

3、双击Button1,写上

ShowMessage('hello,world!')

4、点击Debug工具栏上的Run按钮,或按F9功能键

5、点击Button1按钮 代码如下:unit

Unit1interfaceuses

Windows,

Messages,

SysUtils,

Variants,

Classes,

Graphics,

Controls,

Forms,

Dialogs,

StdCtrlstype

TForm1

=

class(TForm)

Button1:

TButton

procedure

Button1Click(Sender:

TObject)

private

{

Private

declarations

}

public

{

Public

declarations

}

endvar

Form1:

TForm1implementation{$R

*.dfm}procedure

TForm1.Button1Click(Sender:

TObject)

begin

ShowMessage('Hello,world!')

endend.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11192374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存