Passare un argomento tramite prompt di comandi

di il
8 risposte

Passare un argomento tramite prompt di comandi

 static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string t = "";

            Form1 y = new Form1();
            y.mia = "";

            if (args.Length > 0)
            {
                y.mia = args[0];
            }

            Application.Run(y);
      
            //t = args[0];
            int uu = 4;
        }

Devo richiamare l'exe tramite prompt di comandi e vorrei passare l'argomento e scriverlo nella mia textbox, l'argomento lo passo alla classe Form1 tramite la variabile  “y.mia” come scritto nel codice soprastante, infatti la variabile “y.mia” è posta uguale all'argomento..nella prompt di comandi ho scritto il path del mio exe e premuto invio e parte..però come faccio se devo passare l'argomento?

8 Risposte

  • Re: Passare un argomento tramite prompt di comandi

    Non toccare il Main che viene generato automaticamente e scrivi solamente  nel costruttore del Form1

            public Form1()
           {
               InitializeComponent();
               string[] args = Environment.GetCommandLineArgs();
               if(args.Length >0 )
                   mia.Text = args[1];
           }
  • Re: Passare un argomento tramite prompt di comandi

    30/03/2023 - oregon ha scritto:


    InitializeComponent(); string[] args = Environment.GetCommandLineArgs(); if(args.Length >1 ) mia.Text = args[1];

    ok, però poi per passare l'argomento da fuori come devo scrivere nel prompt di comandi? Se ad esempio nella mia texbox voglio scrivere la stringa “ciao” come gliela passo dal prompt di comandi? Sto utilizzando visual studio 2015

  • Re: Passare un argomento tramite prompt di comandi

    Nel prompt scrivi

    tuoeseguibile.exe  ciao

  • Re: Passare un argomento tramite prompt di comandi

    30/03/2023 - oregon ha scritto:


    Nel prompt scrivi

    tuoeseguibile.exe  ciao

    ho scritto così ma dentro il prompt invece di scrivere ciao ci scrive il path dell'exe

    ecco il codice :

      public Form1()
            {
                string[] args = Environment.GetCommandLineArgs();
                if (args.Length > 0)
                    mia = args[0];
    
                InitializeComponent();
                DymoSDK.App.Init();
                dymoSDKLabel = DymoLabel.Instance;
                var Printers = DymoPrinter.Instance.GetPrinters();
    
                textBox1.Text = mia;
            }
  • Re: Passare un argomento tramite prompt di comandi

    Ma “ci scrive” chi?

    Devi scriverlo tu 

    tuoeseguibile.exe  ciao

    E' banale … nel mio caso, una volta che sono dentro alla cartella debug dove ho l'eseguibile …

  • Re: Passare un argomento tramite prompt di comandi

    30/03/2023 - oregon ha scritto:


    Ma “ci scrive” chi?

    Devi scriverlo tu 

    tuoeseguibile.exe  ciao

    E' banale

    volevo dire dentro il textbox..il programma invece di scrivere ciao mi scrive il path dell'exe…riscrivo il codice:

      public Form1()
            {
                string[] args = Environment.GetCommandLineArgs();
                if (args.Length > 0)
                    mia = args[0];
    
                InitializeComponent();
                DymoSDK.App.Init();
                dymoSDKLabel = DymoLabel.Instance;
                var Printers = DymoPrinter.Instance.GetPrinters();
    
                textBox1.Text = mia;
    
               // string mytext;
    
               // mytext = "C:\\Users\\Valentina De Santis\\Desktop\\PrintDymo1.xml";
    
               // PrintLabelAction(mytext);
            }
  • Re: Passare un argomento tramite prompt di comandi

    Non ti ho scritto

    args[0]

    leggi bene

  • Re: Passare un argomento tramite prompt di comandi

    30/03/2023 - oregon ha scritto:


    Non ti ho scritto

    args[0]

    leggi bene

    ok perfetto, grazie

Devi accedere o registrarti per scrivere nel forum
8 risposte