16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"DOSプログラムに引数"
この発言に対し以下のコメントが寄せられています
#00529 根岸圭一 さん RE:DOSプログラムに引数
キーワード忘れていました。
あまりかっこいい物ではありませんが、とりあえず便利に使っています。
いまだにDOSのアセンブラーとかを使用しているので作りました。動けば
いいということなので ^^;
例えば L.bat といったDOSバッチファイルが次のような時,
LNK main,init,sci, /output = %1
L.bat の起動時、簡単にパラメータ(%1)を追加して起動したい時に使用
します。
このプログラムのショートカットをWINDOWSディレクトリーのSENDTOに
作ります。そして、DOSプログラムのアイコンを右クリックして送るの
中から、このプログラムを選択すると、プログラムに引数を加えるための
FORMが表示されます。FORMにはEDITコンポーネントを一つだけ置きます。
unit parm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
cmd: string;
path: string;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
cmd := ParamStr(1);
if cmd = '' then close;
path := ExtractFilePath(cmd);
CAPTION := cmd;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
si: TStartupinfo;
pi: TProcessinformation;
begin
if Key = #$d then
begin
ZeroMemory(@si,Sizeof(si));
cmd := cmd + ' ' + Edit1.Text;
si.cb := Sizeof(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
CreateProcess(nil,pchar(cmd),nil,nil,False,0,
Nil,pchar(path),si,pi);
Close;
end;
end;
end.
98/05/12(火) 16:10 NEKO(KYT02277)
Original document by 根岸圭一 氏 ID:(KYT02277)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|