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;
Listagem 1. Código da Função ParamStr

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.

Figura 1. Layout do projeto
procedure TForm2.FormShow(Sender: TObject); begin lbl1.Caption:=ParamStr(0); lbl2.Caption:=ParamStr(1); lbl3.Caption:=ParamStr(2); end;
Listagem 2. No evento onShow do Form

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.

Figura 2. Resultado do código

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