PDA

View Full Version : [VB] Come ricevere un flusso di testo in VB??


AndreKap
18-04-2005, 21:43
Ciao a tutti,
qualcuno mi sa dire come fare a ridirezionare da linea di comando un flusso di testo e a riceverlo in VB?

Quello che mi serve è lanciare un'applicazione dalla mio programma VB e leggerne il risultato: se uso il comando SHELL per lanciarla aggiungendo "> testo.txt" alla fine della linea di comando dell'applicazione ottengo la ridirezione dell'output in un file di testo, invece io vorrei ricevere in qualche modo il testo nel mio programmino VB....

Spero di non essere stato troppo contorto nella spiegazione.

grazie
andrea

Brigante
19-04-2005, 12:19
Mica ho capito che vuoi fare! :wtf:
Quando tu lanci il tuo programma, i risultati il programma li può scrivere in un file di testo che tu successivamente potrai andare a leggere, quindi che c'entra la linea di comando?

matpez
19-04-2005, 12:28
:confused:

AndreKap
19-04-2005, 12:42
Sì, lo so, volendo posso lasciare che l'applicazione che lancio scriva il risultato in un file e quindi aprirlo dal mio programma, ma mi piaceva di più l'idea di intercettare il flusso di testo direttamente.... :cool:

Comunque cercando in giro su internet ho trovato un controllo sviluppato da qualcuno che permette di fare quello che mi serve.
Si chiama Redirect, l'ho già provato e funziona.
Se a qualcuno può interessare:
http://www.codeproject.com/atl/redirect.asp

Mi chiedo però se non esista un metodo più semplice, senza usare controlli e librerie esterne.... :confused:

ciao
Andrea

rbianco
19-04-2005, 12:44
Ciao a tutti,
qualcuno mi sa dire come fare a ridirezionare da linea di comando un flusso di testo e a riceverlo in VB?


Parlo da profano... può esserti utile redirezionare l'output come dici tu, e poi leggerlo al volo col tuo programma VB e cancellando il file TXT usato come temporaneo?

^TiGeRShArK^
19-04-2005, 22:33
non sono sicuro funzioni ancora, cmq una volta dal dos, e ancora oggi da linux, era possibile utilizzare il carattere | per creare un pipe....
tnt x fare un esempio type readme.txt | more nn faceva altro ke reindirizzare l'output del comando type (ovvero il contenuto del file d testo) al comando more.com ke provvedeva a formattarlo fermandosi alla fine d ogni skermata.

Il prob è ke nn so sotto quale forma ti arrivi il pipe.... forse come una stdin... ma è solo una supposizione... vedi se trovi qualcosa in rete sui pipe e magari riesci a risolvere il prob....

AndreKap
19-04-2005, 23:55
In effetti ero proprio partito da quell'idea, ma non sono riuscito a trovare nulla in giro che spiegasse come realizzarla.... anzi a dire il vero ho trovato in giro la stessa domanda posta da altri, ma senza risposta o con risposte negative... pare che non sia possibile usare il pipe per reindirizzare un'uscita in VB... :(

71104
20-04-2005, 09:59
analogamente al simbolo ">" nella linea di comando (sia in linux che in windows) esiste anche "<" per leggere l'input da un file; cioè:
nomeprogramma.exe < input.txt > output.txt
spero di aver azzeccato :)
ciao

cionci
20-04-2005, 11:55
Sì, ma il problema è come leggere lo stdin...