Passare un argomento tramite prompt di comandi

di vale88 il
8 risposte
 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

  • 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];
           }
  • 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

  • Nel prompt scrivi

    tuoeseguibile.exe  ciao

  • 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;
            }
  • 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 …

  • 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);
            }
  • Non ti ho scritto

    args[0]

    leggi bene

Devi accedere o registrarti per scrivere nel forum
8 risposte