logotipo Blog Giovani Da Cruz
C#

Recuperar Parâmetros da Linha de Comando em Executáveis

3 min de leitura · publicado em 29/06/2024 141 visualizações

obter os parâmetros de executáveis passados por linha de comando

Fala galera de programação, tudo beleza?

Quando estamos criando um programa, temos a possibilidade de recuperar os valores informados nos parâmetros da linha de comando. Normalmente existe alguma que função retorna os argumentos passados ao programa quando ele é executado, permitindo que você lide com diferentes cenários de entrada de dados.

Exemplo Prático

Considere o exemplo onde um executável é iniciado com a seguinte linha de comando:

start C:\teste\meuexe.exe -10 homologacao sp

Exemplo em Delphi / Lazarus

Para demonstrar como recuperar esses parâmetros em um aplicativo Delphi ou Lazarus, podemos usar o seguinte código:

procedure Button1Click(Sender: TObject);
begin
  ShowMessage(ParamStr(1)); // Irá mostrar -10
  ShowMessage(ParamStr(2)); // Irá mostrar homologacao
  ShowMessage(ParamStr(3)); // Irá mostrar sp
end;

Explicação do Código

  1. ParamStr(1): Retorna o primeiro parâmetro após o nome do executável. Neste caso, -10.
  2. ParamStr(2): Retorna o segundo parâmetro, homologacao.
  3. ParamStr(3): Retorna o terceiro parâmetro, sp.

Observação

  • O índice 0 (ParamStr(0)) sempre retorna o caminho completo do executável.
  • Certifique-se de que o número de parâmetros recuperados não exceda o número de parâmetros passados, para evitar erros de acesso a índices inexistentes.

 

Exemplo em C# / C Sharp

using System;
using System.Windows.Forms;

public class Program
{
 
    public static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
         
        MessageBox.Show(args[1]); // Irá mostrar -10
        MessageBox.Show(args[2]); // Irá mostrar homologacao
        MessageBox.Show(args[3]); // Irá mostrar sp
        
    }
}

Explicação do Código

  1. args[0]: Lembrando que (args[0]) é sempre o caminho completo do executável. Portanto, os parâmetros da linha de comando começam em args[1].
  2. args[1], args[2], args[3]: Representam os parâmetros -10, homologacao, e sp, respectivamente.

 

Exemplo em Python

import sys

def main():
    # Verifica se há parâmetros suficientes
    if len(sys.argv) >= 4:
        print(sys.argv[1])  # Irá mostrar -10
        print(sys.argv[2])  # Irá mostrar homologacao
        print(sys.argv[3])  # Irá mostrar sp
    else:
        print("Parâmetros insuficientes.")

if __name__ == "__main__":
    main()

Explicação do Código

  1. sys.argv: É uma lista em Python que contém os argumentos da linha de comando passados para o script. O primeiro elemento (sys.argv[0]) é sempre o nome do script.
  2. sys.argv[1], sys.argv[2], sys.argv[3]: Representam os parâmetros -10, homologacao, e sp, respectivamente.
  3. if len(sys.argv) >= 4:: Verifica se há pelo menos 4 elementos na lista sys.argv (incluindo o nome do script).

 

Conclusão

Utilizar as funções disponíveis, como por exemplo, ParamStr, são mecanismos eficientes de recuperar e manipular os parâmetros passados na linha de comando. Isso é especialmente útil em aplicações que precisam adaptar seu comportamento com base em diferentes entradas fornecidas pelo usuário ou por scripts automatizados.

 

Beleza pessoal? Espero que possa ajudar.

 

Dúvidas ou sugestões? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

 

#Programação

#DesenvolvimentoDeSoftware

#Delphi

#Lazarus

#CSharp

#Python

#DicasDeProgramação

#GiovaniDaCruz

Deixe um comentário

Seu e-mail não será publicado.