Olá clipatequeiros. Neste artigo vamos entender a função "ParamStr" do Delphi.
Embora não muito utilizado, a passagem de parâmetros é muito útil quando precisamos chamar um programa passando algumas diretrizes ou informações relevantes para a execução do mesmo.
Isso acontece bastante quando se tem um aplicativo que chama outro por exemplo. Vamos imaginar a seguinte situação, onde temos um aplicativo desenvolvido em Java para enviar e-mail, e sua aplicação em Delphi, quando precisar enviar algum e-mail, chama este aplicativo em Java. Legal né, então, no momento em que o aplicativo Java for chamada, é necessário passar o e-mail do destinatário, o assunto e a mensagem propriamente dita, é aí que entra os parâmetros. Estas informações são repassadas ao aplicativo Java no momento da chamada, em linha de comando, o exemplo é bem didático, porém, perfeito para entender este recurso.
Este exemplo é interessante, porque, no momento em que o aplicativo Java for chamado, ele já tem os parâmetros necessários para poder enviar o e-mail, então, ele mostrará apenas uma barra de progresso "enviando e-mail..." automaticamente, dispensando a ação do usuário para clicar em um botão pra enviar por exemplo, isto, considerando que as informações do remetente já estejam configuradas no aplicativo Java.
Isso é muito interessante, porque podemos desenvolver pequenos aplicativos de apoio em outras linguagens e usar por meio de uma aplicação Delphi, apenas fazendo o uso de passagem de parâmetros.
Como funciona o ParamStr?
Parafraseando, no help e documentação do Delphi a respeito da função ParamStr, diz que ela retorna um parâmetro especificado da linha de comando CmdLine (nota 3) usada para chamar o programa atual por meio do seu índice ParamIndex (nota 1). Caso o índice seja inválido, como por exemplo, se o índice especificado for maior que o ParamCount (nota 2), isto é, um índice inexistente, ela retorna uma string vazia. Desta forma temos que, o índice 2 retorna o segundo parâmetro da linha de comando, o índice 3 retorna o terceiro parâmetro e assim sucessivamente, se passar um índice que não existe, é retornado uma string (texto) vazio. Acredito que com esta explicação até repetitiva, já deu pra entender esta primeira parte.
Por padrão, o ParamIndex 0 (zero), é reservado para o caminho do programa, ele representa o programa (executável) em si, portanto, não conseguimos atribuir valor a este índice, quando atribuímos algum parâmetro, ele sempre iniciará no índice 1.
Os parâmetros, são separados com um espaço em branco. Aí vem uma pergunta, e se precisar passar um valor que contenha espaço(s) em branco, como por exemplo, nomes de arquivos longos contendo espaço? Legal, no problem, basta passar o valor entre aspas duplas, com isso, ocorre um agrupamento de palavras e será interpretado como sendo o valor de um determinado parâmetro.
Notas
1 - ParamIndex
Refere-se ao índice especificado da linha de comando.
2 - ParamCount
Contabiliza e mostra a quantidade de parâmetros passados na linha de comando para o programa atual.
3 - CmdLine
Aponta para os argumentos da linha de comandos especificados ao chamar o programa, esta variável contém todo o texto da linha de comandos. Para acessar parâmetros individualmente, deve-se usar a função ParamStr.
(Por Welinton Dias)
0 comments:
Postar um comentário
Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!