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

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

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 29 de junho de 2024

Os comentários estão desativados.

Posts Relacionados a Categoria C#

Continue aprendendo

Aumente o seu conhecimento
Entendendo Métodos Deprecated: O Que São e Como Lidar com Eles

Fala galera de programação, tudo beleza? No desenvolvimento de software, é comum nos depararmos com o termo “deprecated” (ou “obsoleto” em português). Mas o que isso significa exatamente? Vamos explorar esse conceito e entender sua importância no ciclo de vida do desenvolvimento de software.   O Que São Métodos Deprecated? Quando uma biblioteca ou framework […]

25 de maio de 2024
Título: Entendendo Variáveis Não Nulas e Não Descartáveis em C#

Fala galera da programação, tudo beleza? Hoje vamos descubra como lidar com variáveis nulas e não descartáveis em C#! Aprenda sobre os operadores is not null e is {}, e fortaleça suas habilidades de programação defensiva.   Introdução Em C#, a gestão de variáveis nulas e a liberação de recursos são aspectos importantes da programação. […]

3 de abril de 2024
Dominando Laços de Repetição “Para” com Objetos em C#

Fala galera da programação, tudo beleza? Hoje vamos falar sobre o comando “for”, em especial o “foreach”. Venha descobrir como dominar laços de repetição “Para” com objetos em C# neste artigo! Aprenda a aprimorar sua programação orientada a objetos e escrever código mais eficiente e elegante.   Introdução Os laços de repetição são uma parte […]

3 de março de 2024
Recursividade: Uma Jornada Profunda no Mundo da Programação

  Fala galera da programação, tudo beleza? Hoje vamos fazer sobre recursividade e de como podemos ganhar agilidade em nossos códigos ao utilizar ela.   Introdução A recursividade é um conceito fundamental na ciência da computação que desencadeia uma abordagem poderosa e elegante para resolver problemas. Desde sua introdução nos primeiros dias da programação, a […]

13 de janeiro de 2024
Como trocar o título de uma janela em modo console?

Fala galera da programação, tudo beleza? É muito comum em nossos exercício de algoritmos criamos aplicativos em modo console para ir exercitando a lógica de programação. Legal, mas conforme a gente vai aprendendo, vamos também querendo deixar nossos programas mas completos, e uma das melhorias possíveis é alterar o título da janela. Bem e como […]

9 de dezembro de 2023
Como fazer um parse de string para JsonArray em C#?

Fala galera, tudo beleza? Converter um texto ou uma string que contém um json é uma tarefa que pode ser muito necessária, ainda mais quando precisamos se comunicar com WebServices. Mas como fazer uma conversão em C++?   Parse string em JsonArray Em C#, você pode usar a biblioteca System.Text.Json para analisar uma string JSON […]

26 de agosto de 2023