Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
lettura parametri da windows form in c#
Ultimo Post 04 giu 2010 10.58 by Cristina. 15 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:7

--
03 giu 2010 14.30  
Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille.

Posts:5

--
03 giu 2010 14.53  
devi gestire l'evento startup. i dati sono in "e".

Marcelo.

using System.Windows; // Application, StartupEventArgs

namespace TEstApplication
{
public partial class App : Application
{
public App()
{
this.Startup += this.Application_Startup;
InitializeComponent();
}

private void Application_Startup(object sender, StartupEventArgs e)
{
// Detect when the application starts up.
}
}
}

Posts:7

--
03 giu 2010 15.22  
ciao grazie per la risposta, ho provato a riprodurre l'esempio così come lo hai scritto tu ma mi da un errore su StartUpEventArgs (naturalmente ho messo la direttiva System.Windows.Forms come mi hai detto tu).

Posts:7

--
03 giu 2010 15.32  
mi da anche un altro errore testApplication.App non può derivare dal tipo sealed System.Windows.Forms.Application

Posts:5

--
03 giu 2010 15.47  
Ciao, prova in questo modo....

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
foreach (string arg in Environment.GetCommandLineArgs())
{
Console.WriteLine(arg);
}
}

}
}


Marcelo.

Posts:7

--
03 giu 2010 16.21  
funziona mi ridà il nome del file devo provare ad eseguirlo da linea di comando e vedere se mi restituisce anche eventuali ulteriori parametri

Posts:29

--
03 giu 2010 17.17  
Inserito da Cristina su 03 giu 2010 15.30
Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille.

Ciao

devi far comunicare i 2 programmi via sockets, praticamente devi implementare una comunicazione di tipo client-server.

il server dovrà far perte dell' applicazione console, il client di quella Windows Form, quando dal windows form, per es., clicchi un bottone, il comando lo fai ricevere dal server sull' applicazione console, il server risponde al client dell' allplicazione windows e ne registra la risposta.

Buon divertimento






Posts:29

--
03 giu 2010 17.19  
Ops, scusate, non avevo letto che avevi già risolto col suggerimetno di Marcelo.

Pardon ^^

Posts:811

--
03 giu 2010 19.51  
Non ho capito dove vogliate andare a parare con i sockets e gli eventi di startup ma in C# esattamente come in C per leggere i parametri da linea di comando (sempre che lavoriate in modo normale e non usando modalità esoteriche)

[StaThread]
public static void Main( string[] Args)
{
}

fa in modo che all'interno dell'array Argv vengano resi leggibili tutti i parametri della linea di comando in stringhe separate sul carattere spazio, oppure se non erro sulle virgolette doppie così come accade in qualsiasi applicazione con parametri da linea di comando in tutto l'universo.

saluti
Sabrina
Sabrina

Posts:29

--
03 giu 2010 20.03  
Credo che si parli di inserire un dato (o comunque leggere il risultato di una elaborazione) in un programma, per es.in Programma_1.exe e leggerlo da un altro programma, per es. in Programma_2.exe. Io uso sempre i Socket per farlo, se ci sono altre soluzioni, non lo so

non tutto mi è dato sapere xD (naturalmente, da buon informatico, sono ironico ^^ )

Saluti

Posts:29

--
03 giu 2010 20.36  
Rligendo bene

[quote="Cristina"]Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille.
[/qote]

Credo proprio che come al solito xD abbia ragione Sabrina!

p.s. quello che ho detto funziona!ma mi sono accorto di aver interpretato male la domanda. A quanto pare non si parla di 2 programmi differenti, uno console e uno winform, come avevo interpretato io, ma dello stesso programma winform lanciato dal prompt dei comandi di windows (cmd.exe).

Credo proprio che abbia ragione sabrina!

Rispettosi saluti a tutti

Mimmo


Posts:7

--
04 giu 2010 07.47  
L'ultima volta che ho creato un'applicazione windows form è stato tanti anni fa con vb6 ora sono un pò in difficoltà tanto da non capire come faccio a creare il mio file exe?

Devo trasformare un'applicazione in modo che se lanciata da riga di comando (cmd nomeprogramma.exe par1) sia in grado di riconoscere il parametro passato.

Per il momento sto cercando di:
1) capire come leggere il parametro.
2) creare l'eseguibile.

Posts:811

--
04 giu 2010 09.55  
capisco
non ti preoccupare, siamo qui per quello

per capire come creare l'applicazione, ti consiglio di leggere l'articolo:
http://www.dotnetwork.it/Articoli/tabid/62/ctl/Detail/mid/478/xmid/22/language/it-IT/Default.aspx

Iniziare da zero con visual studio, parla di VS 2008 ma in 2010 non è diverso se non per l'aspetto degli screenshot.

Quando tu crei un progetto Windows forms application in C#
ti viene creata una classe Program.cs
all'interno della quale trovi il Main dell'applicazione
ovvero la funzione che ti ho scritto io,
modificando i parametri della funzione (di solito è parameterless)
aggiungi un Array di Stringhe ed il compilatore sa che in quell'array deve mettere i parametri da linea di comando.

All'interno del metodo Main, poi puoi leggerli ed  usarli per fare ciò che ti serve.
Se non hai frettissima, nel fine settimana preparo una piccola demo e ve la posto.

saluti
Sabrina

Posts:7

--
04 giu 2010 10.07  

grazie, sei gentilissima!
Ora sto cercando di capire come posso leggere in qualsiasi form i parametri recuperati. Insomma dovrei avere a disposizione una sorta di variabile globale.... uff con vb6 era tanto semplice!


Posts:811

--
04 giu 2010 10.25  
E' molto semplice,
all'interno di Program.cs

Crei una variabile a livello di classe che chiami

private static string[] mArguments;

e una property pubblica

public static string[] Arguments
{
   get
   {
        return( mArguments );
    }
}

e nel main, assegni  a mArguments l'array passato al main

mArguments = Args;

a questo punto da ogni punto del programma puoi accedere
agli argomenti usando

Program.Arguments

Se poi vuoi fare qualcosa di + sofisticato, ad esempio se ogni parametro ha un proprio uso e può non essere sempre nello stesso punto della lista

c:> myapp /c /v /y
oppure
c:> myapp /v /y /c

è possibile che sia fatto da chi usa l'applicazione, puoi creare delle singole variabili nominate per cortesia usa sempre la coppia variabile property come gentilezza verso di me

Oppure, se i parametri possono essere molti, puoi creare un Dictionary generico e dare un nome ad ogni parametro inserendolo nel dictionary per poi leggerlo con una chiamata di tipo

Program.Arguments[Nome]
Program.Arguments[Pippo]
ecc.

saluti


Sabrina

Posts:7

--
04 giu 2010 10.58  

grazie sei fantastica!

 

Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Fritto Misto - Classi di uso comune(parte 4)
Helper: Una classe per il log di eventi, con evento, event handler, enumerazione.
2007/10/24 | Autore: Sabrina Cosolo
ASP.NET immagini dinamiche con HttpHandler
Costruiamo un HttpHandler per la creazione di immagini dinamiche
2007/10/24 | Autore: Rudy Azzan
Bitmap, GDI+,Collezioni,Classi
Classi e oggetti per usare la GDI+ per disegnare delle forme.
2009/06/06 | Autore: Sabrina Cosolo
Panoramica del Sistema dei Comandi
Come iniziare a capire com'è fatto WPF (parte 5)
2007/09/30 | Autore: Patrizia Cosolo
Unit testing del codice (parte 2)
Generiamo alcuni unit test per la libreria Helper base ADO.NET
2008/03/09 | Autore: Sabrina Cosolo
ADO.NET Funzionalità di base
Effettuare una ricerca su recordset disconnessi tramite DataView
2007/12/02 | Autore: Andrea Zingoni
Stampare Una DatagridView
Come utilizzare gli oggetti di stampa forniti dal framework per stampare il contenuto di una DatagridView con l'ausilio della GDI+
2008/12/07 | Autore: Andrea Zingoni
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.