Come passare informazioni da un applicazione di Visual Basic a un altro

November 11

Ci sono una varietà di modi per passare le informazioni tra le diverse applicazioni Visual Basic. Questi variano in complessità da semplicemente copiando le informazioni negli appunti comunemente usato per le operazioni di cut-and-paste per la creazione di rapporti / client / server di interfaccia complesse. Una buona via di mezzo è la "named pipe", che permette sia a senso unico e la comunicazione bidirezionale tra le applicazioni che utilizzano le stringhe semplici.

istruzione

1 Creare un nuovo progetto facendo clic su "File", "New Project" dal menu principale. Quando richiesto, dare il nome di "PipeServer." Mantenere tutte le altre impostazioni ai valori predefiniti e fare clic su "OK".

Verrà presentato con una finestra vuota nella Interface (GUI) di design utente grafica.

2 Aggiungere un pulsante per l'interfaccia trascinando l'icona "Button" dalla lista dei componenti a sinistra e cadere sulla vostra finestra.

Poiché si tratta di un semplice tutorial, non è necessario preoccuparsi di rinominandolo o personalizzando il testo.

3 Fare doppio clic sul pulsante. Questo vi porterà fuori dal progettista GUI e nel codice editor di origine per l'applicazione. Sarà inoltre possibile creare un evento per quando l'utente fa clic con il pulsante.

Aggiungere questo codice a tale evento:

Dim pipe As New System.IO.Pipes.NamedPipeServerStream("testPipe", IO.Pipes.PipeDirection.Out)
pipe.WaitForConnection()

sw fioco come nuovo System.IO.StreamWriter (tubo)
sw.AutoFlush = True
sw.WriteLine (& quot; Stiamo inviando questa scheda & quot;)

Andando riga per riga, questo crea un nuovo PipeServer e lo nomina "testPipe." E 'dichiara che questa applicazione può solo scrivere le informazioni fuori al tubo e non leggerlo di nuovo.

E poi si ferma ad aspettare un'applicazione client per connettersi ad esso. Non appena questo accade, apre una StreamWriter, che renderà più facile scrivere informazioni al tubo. Si dice StreamWriter per scrivere automaticamente le informazioni al tubo non appena riceve, e scrive una semplice stringa al tubo da leggere dal client.

Che termina il server.

4 Aprire una nuova copia di Visual Basic e creare un nuovo progetto denominato "PipeClient." Proprio come prima, le opzioni di default sono sufficienti.

5 Aggiungere una casella di testo trascinando l'icona "casella di testo" dalla lista dei componenti nella finestra.

6 Aggiungere un pulsante trascinandolo dalla lista dei componenti.

7 Fare doppio clic sul pulsante per passare alla editor di codice sorgente e creare un evento.

Aggiungere questo codice a tale evento:

Dim pipe As New System.IO.Pipes.NamedPipeClientStream("localhost", "testPipe")
pipe.Connect()

lettore fioco come nuovo System.IO.StreamReader (tubo)

Dati Dim As String

Dati = reader.ReadLine ()

TextBox1.Text = dati

Andando riga per riga, questo apre un PipeClient e, utilizzando lo stesso nome del tubo, come si è utilizzato nel server, si connette a questo tubo.

Si apre una StreamReader per rendere più facile la lettura dei dati dalla pipe in stringhe, e legge una singola linea dal tubo. E allora cambia la casella di testo per visualizzare la stringa ha ricevuto dal server.

8 Fare clic sulle frecce verdi in entrambi i progetti per eseguire ciascuna applicazione allo stesso tempo. Dopo che sono entrambi in esecuzione, fare clic sui pulsanti in ogni applicazione. L'ordine non ha importanza.

In breve tempo, la stringa "Stiamo inviando questi dati." Dovrebbe comparire nella casella di testo dell'applicazione PipeClient.