Executando Aplicações Delphi com parâmetros

Tradução do artigo Running Delphi Applications With Parameters do site delphi.about.com cujo autor é Zarko Gajic.

Como passar parâmetros por linha de comando para sua aplicação e como manipulá-los.

Nos dias do DOS esta foi uma prática comum executar aplicações (programas por linhas de comando) com algum tipo de parâmetro que irá especificar o quê nós queremos fazer. Ainda hoje, no mundo do Windows, nós podemos ir ao prompt do MS-Dos e executar programas baseados no MS-DOS como DIR /?. Este ‘/?’ após o nome do programa (DIR) irá nos informar alguma ajuda sobre o uso do comando DIR.

Neste artigo, nós iremos encontrar como responder aos parâmetros de linha de comando passados para uma aplicação Delphi.

Parâmetros

Nós podemos passar o parâmetro através da linha de comando do Windows ou através do ambiente de desenvolvimento no Delphi na opção do menu Run-Parameters.

Nós iremos usar a caixa de diálogo Parameter para passar os parâmetros de linha de comando para uma aplicação quando nós formos executá-la (para propósitos de teste – a partir do Delphi), como se estivéssemos executando a aplicação pelo Windows Explorer.

ParamCount, ParamStr()

Simplificando, a função ParamCount retorna o número de parâmetros passados para o programa pela linha de comando, e ParamStr retorna um parâmetro específico da linha de comando..

Enquanto a aplicação está sendo executada, os parâmetros estão disponíveis a nós então nós podemos recuperá-los emu ma seção específica da aplicação(normalmente a partir to evento OnActivate do formulário principal).

Nota: Em um programa, a variável CmdLine contém uma string com os argumentos de linha de commando especificados quando a aplicação foi iniciada. Nós podemos utilizar a CmdLine para acessar todos os parâmetros passados para a aplicação.

Nós iremos iniciar uma aplicação simples. Inicie um novo projeto e coloque um botão no formulário. No evento OnClick do botão, escreva o seguinte código:

procedure TForm1.Button1Click(Sender: TObject) ;

begin

ShowMessage(ParamStr(0)) ;

end;

Quando você executar o programa e clicar no botão, um messagebox aparece informando o endereço e nome do arquivo do programa em execução.

Nós podemos ver, que mesmo se nós não tivermos passado algum parâmetro para nossa aplicação a função ParamStr “funciona”, a razão é que o  valor 0 do array armazena o nome do arquivo do programa em execução incluindo a pasta.

Agora, escolha a opção Parameters do Menu Run e adicione ‘Delphi Programming’ para o drop down (sem apóstofros).

Nota: quando você passa parâmetros para sua aplicação separe-os com espaços ou tabs. Use aspas duplas para tornar múltiplas palavras com um parâmetro (como um nome de arquivo contendo espaços).

Nós iremos fazer um loop pelos parâmetros usando ParamCount() para pegar o valor dos parâmetros passados, com ParamStr(i).

Altere o evento OnClick do botão para:

procedure TForm1.Button1Click(Sender: TObject) ;

var

j:integer;

begin

for j := 1 to ParamCount do

ShowMessage(ParamStr(j)) ;

end;

Quando você executar o programa e clicar no botão, uma caixa de mensagem aparece exibindo ‘Delphi’ (primeiro parâmetro) e ‘Programming’ (segundo parâmetro).

Nota: Trabalhando com parâmetros passados para a aplicação em modo de console é o mesmo.

É isto aí, simples como só o Delphi pode ser!

Anúncios
Categorias:Delphi, Parâmetros

Usando Multithreading no delphi para que ?

Há pouco tempo atrás Zarko Gajic fez uma enquete direcionada aos programadores  Delphi no canal delphi.about.com querendo saber se já desenvolveram utilizando  os benefícios da programação multithread, e 80% dos desenvolvedores que  participaram disseram que já desenvolveram aplicações multithread.

E mais recentemente escreveu um novo artigo convidando os desenvolvedores  mais experientes a compartilharem suas experiências do mundo real nas quais  a programação multithread tem feito parte e assim ajudar os iniciantes em delphi.

Clique aqui para COMPARTILHAR suas experiências.

Clique aqui para ver as histórias já compartilhadas.

Categorias:Delphi