Função ParamStr - Passando Parâmetros via comando do Windows
Iremos nesse artigo aprender a usar a função do delphi ParamStr, Que pode ser usada para se passar para um .exe parâmetros provenientes de um comando do windows.
Olá pessoal, veremos neste artigo de Delphi a função ParamStr.
Para que server essa função?
Podemos usar essa função para varias tarefas em nossa aplicação, uma delas que uso muito e inserir parâmetros em minha aplicação usando o comando do Windows, como mostra a Listagem 1.
function ParamStr(Index: Integer): string;
{$IFDEF MSWINDOWS}
var
P: PChar;
Buffer: array[0..260] of Char;
begin
Result := '';
if Index = 0 then
SetString(Result, Buffer, GetModuleFileName(0, Buffer, Length(Buffer)))
else
begin
P := GetCommandLine;
while True do
begin
P := GetParamStr(P, Result);
if (Index = 0) or (Result = '') then Break;
Dec(Index);
end;
end;
{$ENDIF MSWINDOWS}
{$IF defined(LINUX) or defined(MACOSX)}
begin
if Index < ArgCount then
Result := PCharArray(ArgValues^)[Index]
else
Result := '';
{$IFEND LINUX or MACOSX}
end;
Podemos perceber que essa função pede um valor de entrada do tipo inteiro e me retorna uma string, vamos criar um exemplo simples para entender a função.
Crie uma nova aplicação VCL em Delphi, insira nesse form criado 3 componentes TLabes. Configure os componentes para ficar conforme a Figura 1.
procedure TForm2.FormShow(Sender: TObject);
begin
lbl1.Caption:=ParamStr(0);
lbl2.Caption:=ParamStr(1);
lbl3.Caption:=ParamStr(2);
end;
Click em F9 para compilar. Em seguida, salve o seu projeto, abra o prompt de comando do seu windows e digite o seguinte:
ParamStr.exe “JOSELUIZ” “DEVMEDIA”
Veja o resultado na Figura 2.
Podemos ver que a posição 0 da função buscou o path do .exe, enquanto a posição 1 e 2 pegou as informações passadas entre aspas duplas: "PARAMETRO 1" e ESPAÇO "PARAMETRO 2".
Lembrando que temos que inserir espaço entre os parâmetros.
Abraços e até o próximo artigo.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo