none
Abrir Referencias ao Executar RRS feed

  • Pergunta

  • Pessoal sei que isso deve ser bem simples, mais não sei qual o nome técnico para realizar a pesquisa, é o seguinte:

    Ao executar meu Aplicativo.exe,

    gostaria que, por exemplo:

    Se eu utilizar a certas referencias esses dados fossem retornados dentro do meu aplicativo:

    c:\programa\aplicativo.exe -um -dois -arquivo xxxxxxxxx

    ***** APLICATIVO.exe

    um = true

    dois = true

    tres = false

    arquivo = xxxxxxxxx

    sábado, 23 de dezembro de 2017 18:51

Respostas

  • Olá Charles,

    Obrigado por participar do fórum.

    Pois bem, chamamos isso de argumentos e podemos recuperar essas informações no main da aplicação que é o método principal para inicializar o programa, fiz um pequeno exemplo para você, com as mesmas informações que foram fornecidas para uma melhor compreensão.

    static void Main(string[] args)
    {
        bool um, dois, tres;
        string arquivo = string.Empty;
    
        for (int i = 0; i < args.Length; i++)
        {
            var info = args[i].Split('=');
            switch(info[0])
            {
                case "-um":
                    um = true;
                    break;
                case "-dois":
                    dois = true;
                    break;
                case "-tres":
                    tres = true;
                    break;
                case "-arquivo":
                    arquivo = info[1];
                    break;
            } 
        } 
    }

    Então ficaria assim:

    c:\programa\aplicativo.exe -um -dois -arquivo="Arquivo....."


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Charles Martins domingo, 24 de dezembro de 2017 02:54
    sábado, 23 de dezembro de 2017 23:28

Todas as Respostas

  • Olá Charles,

    Obrigado por participar do fórum.

    Pois bem, chamamos isso de argumentos e podemos recuperar essas informações no main da aplicação que é o método principal para inicializar o programa, fiz um pequeno exemplo para você, com as mesmas informações que foram fornecidas para uma melhor compreensão.

    static void Main(string[] args)
    {
        bool um, dois, tres;
        string arquivo = string.Empty;
    
        for (int i = 0; i < args.Length; i++)
        {
            var info = args[i].Split('=');
            switch(info[0])
            {
                case "-um":
                    um = true;
                    break;
                case "-dois":
                    dois = true;
                    break;
                case "-tres":
                    tres = true;
                    break;
                case "-arquivo":
                    arquivo = info[1];
                    break;
            } 
        } 
    }

    Então ficaria assim:

    c:\programa\aplicativo.exe -um -dois -arquivo="Arquivo....."


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Charles Martins domingo, 24 de dezembro de 2017 02:54
    sábado, 23 de dezembro de 2017 23:28
  • Olá Charles,

    Obrigado por participar do fórum.

    Pois bem, chamamos isso de argumentos e podemos recuperar essas informações no main da aplicação que é o método principal para inicializar o programa, fiz um pequeno exemplo para você, com as mesmas informações que foram fornecidas para uma melhor compreensão.

    static void Main(string[] args)
    {
        bool um, dois, tres;
        string arquivo = string.Empty;
    
        for (int i = 0; i < args.Length; i++)
        {
            var info = args[i].Split('=');
            switch(info[0])
            {
                case "-um":
                    um = true;
                    break;
                case "-dois":
                    dois = true;
                    break;
                case "-tres":
                    tres = true;
                    break;
                case "-arquivo":
                    arquivo = info[1];
                    break;
            } 
        } 
    }

    Então ficaria assim:

    c:\programa\aplicativo.exe -um -dois -arquivo="Arquivo....."


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    Muito Obrigado!
    domingo, 24 de dezembro de 2017 02:54
  • Para VB:

        Public Sub Main(ByVal args As String())

            Dim um, dois, tres As Boolean
            Dim arquivo As String = String.Empty
            For i As Integer = 0 To args.Length - 1
                Dim info = args(i).Split("="c)
                Select Case info(0)
                    Case "-um"
                        um = True
                    Case "-dois"
                        dois = True
                    Case "-tres"
                        tres = True
                    Case "-arquivo"
                        arquivo = info(1)
                End Select
            Next

            msgbox(um & " - " & dois & " - " & tres & " - " & arquivo)

        End Sub

    domingo, 24 de dezembro de 2017 03:16