procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
if ParamCount>0 then //先检测有无带参数,ParamStr(0)就是程序名本身
for i := 1 to ParamCount do
begin
if (Pos('.txt',LowerCase(ParamStr(i)))>0) or //如果是.TXT文件就打开
(Pos('.pas',LowerCase(ParamStr(i)))>0) or //如果是.PAS文件就打开
(Pos('.bat',LowerCase(ParamStr(i)))>0) or //如果是.BAT文件就打开
(Pos('.log',LowerCase(ParamStr(i)))>0) or //如果是.LOG文件就打开
(Pos('.diz',LowerCase(ParamStr(i)))>0) or //如果是.DIZ文件就打开
(Pos('.ini',LowerCase(ParamStr(i)))>0) or //如果是.INI文件就打开
(Pos('.inf',LowerCase(ParamStr(i)))>0) or //如果是.INF文件就打开
(Pos('.htm',LowerCase(ParamStr(i)))>0) or //如果是.HTM文件就打开
(Pos('.html',LowerCase(ParamStr(i)))>0) or//如果是.HTML文件就打开
(Pos('.asm',LowerCase(ParamStr(i)))>0) or //如果是.ASM文件就打开
(Pos('.cpp',LowerCase(ParamStr(i)))>0) or //如果是.CPP文件就打开
(Pos('.c',LowerCase(ParamStr(i)))>0) or //如果是.C文件就打开
(Pos('.h',LowerCase(ParamStr(i)))>0) //如果是.H文件就打开
then
begin
FlatMemo1.Lines.LoadFromFile(Paramstr(i));
Break;
end;
end;
end;
var
i: Integer;
if paramCount>0 then//先检测有带参数,ParamStr(0)就是程序名
for i := 1 to ParamCount do
begin
if pos('.txt',LowerCase(ParamStr(i)))>0 then//如果是文本文件就打开
begin
Memo1.loadfromfile(Paramstr(i);//
break;
end;
end;
end;
1. 取得命令列参数的个数: ParamCount 函数
2. 呼叫 ParamStr(0), 传回执行档的档名(含路径)
3. 呼叫 ParamStr(n), 传回第n个参数的内容
例子:
procedure TForm1.FormCreate(Sender: TObject);
var
ix: integer;
begin
Memo1.Lines.Clear;
if ParamCount = 0 then
Memo1.Lines.Add('??统??.')
else
begin
Memo1.Lines.Add('档名:' + ParamStr(0));
for ix := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(ix));
end;
end;
var
i: Integer;
for i := 1 to ParamCount do
begin
if LowerCase(ParamStr(i)) = 'beep' then
Beep
else if LowerCase(ParamStr(i)) = 'exit' then
Application.Terminate;
end;
end;