Создание программ с ключами например myprog.exe /a
т.е. если в коммандной строке пишешь myprog.exe /a (myprog.exe -a) - выполняется одно действие, myprog.exe /b (myprog.exe - другое действие.
Нигде ни одного примера не нашел.
Как создать программу с ключами?
т.е. если в коммандной строке пишешь myprog.exe /a (myprog.exe -a) - выполняется одно действие, myprog.exe /b (myprog.exe - другое действие.
Нигде ни одного примера не нашел.
в классе TApplication есть свойство типа AppName или что-то вроде того. так вот, в нем хранится строка вызова проги. можешь сделать ее разбор на предмет параметров. ручками
Как создать программу с ключами?
т.е. если в коммандной строке пишешь myprog.exe /a (myprog.exe -a) - выполняется одно действие, myprog.exe /b (myprog.exe - другое действие.
Нигде ни одного примера не нашел.
используй ParamCount и ParamStr
используй ParamCount и ParamStr
СПАСИБО:!!!:
Я реализовал это следующим образом:
[FONT=courier new]procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := [COLOR=blue]1[/COLOR] to ParamCount do
begin
if (LowerCase(ParamStr(i)) = [COLOR=blue]'beep'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/beep'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-beep'[/COLOR]) then
Beep
else if (LowerCase(ParamStr(i)) = [COLOR=blue]'exit'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/exit'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-exit'[/COLOR]) then
Application.Terminate;
end;
end;[/FONT]
Если кто-нибудь тоже столкнулся с этой проблемой то прилагаю исходник.
Осокин Сергей Владимирович. 07.08.2003
используй ParamCount и ParamStr
СПАСИБО:!!!:
Я реализовал это следующим образом:
[FONT=courier new]procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := [COLOR=blue]1[/COLOR] to ParamCount do
begin
if (LowerCase(ParamStr(i)) = [COLOR=blue]'beep'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/beep'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-beep'[/COLOR]) then
Beep
else if (LowerCase(ParamStr(i)) = [COLOR=blue]'exit'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/exit'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-exit'[/COLOR]) then
Application.Terminate;
end;
end;[/FONT]
Если кто-нибудь тоже столкнулся с этой проблемой то прилагаю исходник.
Осокин Сергей Владимирович. 07.07.2003
используй ParamCount и ParamStr
СПАСИБО:!!!:
Я реализовал это следующим образом:
[FONT=courier new]procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := [COLOR=blue]1[/COLOR] to ParamCount do
begin
if (LowerCase(ParamStr(i)) = [COLOR=blue]'beep'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/beep'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-beep'[/COLOR]) then
Beep
else if (LowerCase(ParamStr(i)) = [COLOR=blue]'exit'[/COLOR]) or (LowerCase(ParamStr(i)) = [COLOR=blue]'/exit'[/COLOR])
or (LowerCase(ParamStr(i)) = [COLOR=blue]'-exit'[/COLOR]) then
Application.Terminate;
end;
end;[/FONT]
Если кто-нибудь тоже столкнулся с этой проблемой то прилагаю исходник.
Осокин Сергей Владимирович. 07.07.2003
СПАСИБО:!!!:
Я реализовал это следующим образом:
Чтобы вам так сильно не мучаться, есть в VCL такая функция - FindCmdLineSwitch. 8)