Autore Topic: [RISOLTO]mettere il risultato di SHELL in una variabile  (Letto 1393 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
ciao a tutti, ho il seguente problema:
con questo codice:
Codice: gambas [Seleziona]

SHELL "dir" to TextArea.text


visualizzo il risultato del comando dir sulla textarea

con il seguente codice:
Codice: gambas [Seleziona]

SHELL "mdb-export"


visualizzo il risultato che vedrei sul terminale, sulla console di gambas

 con il seguente codice:
Codice: gambas [Seleziona]

SHELL "mdb-export" to TextArea.text


nella textarea non vedo nulla
« Ultima modifica: 09 Marzo 2011, 16:30:29 da doublemm »
Matteo DoubleMM Mion

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #1 il: 09 Marzo 2011, 08:22:24 »
Hai provato a mettere il comando:

Codice: gambas [Seleziona]

SHELL "mdb-export nomefile" to TextArea1.Text


Nel senso che forse l'interprete non considera output l'help del comando.
 :2birre:
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #2 il: 09 Marzo 2011, 09:16:00 »
se non  metto to textarea.text, nella console di gambas vedo il risultato
Matteo DoubleMM Mion

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #3 il: 09 Marzo 2011, 09:27:41 »
Ma hai provato a mettere nel comando shell anche il nomefile e la tabella?
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #4 il: 09 Marzo 2011, 10:22:42 »
si ti posto un file con quello che mi compare con il seguente codice
Codice: gambas [Seleziona]

Public Sub Form_Open()

Shell "mdb-export movimenti"

End


se invece scrivo
Codice: gambas [Seleziona]

Public Sub Form_Open()

Shell "mdb-export movimenti" to textarea.text

End


nella textarea non compare nulla.

se scrivo:
Codice: gambas [Seleziona]

Public Sub Form_Open()

Shell "dir" to textarea.text

End

nella textarea trovo il risultato di dir
Matteo DoubleMM Mion

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: mettere il risultato di SHELL in una variabile
« Risposta #5 il: 09 Marzo 2011, 15:50:57 »
Non conosco mdb ma quello postato ha tutta l'aria di essere un errore..prova a dare

Codice: gambas [Seleziona]
Public Sub Form_Open()  
  
   TRY Shell "mdb-export movimenti"
   IF ERROR THEN Textare1.text = Error.Text
  
End  

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #6 il: 09 Marzo 2011, 15:54:38 »
Non conosco mdb ma quello postato ha tutta l'aria di essere un errore..prova a dare

Codice: gambas [Seleziona]
Public Sub Form_Open()  
 
   TRY Shell "mdb-export movimenti"
   IF ERROR THEN Textare1.text = Error.Text
 
End 


L'ho provato io e non mette nessun valore nella textarea.
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: mettere il risultato di SHELL in una variabile
« Risposta #7 il: 09 Marzo 2011, 15:56:05 »
risolto così:
Codice: gambas [Seleziona]

Public $mainProcess As Process

Public Sub _new()
 
End

Public Sub Form_Open()
 
  $mainProcess = Shell "mdb-export liste.mdb Documenti_Testa" For Input Output As "Process"
 
End

Public Sub Process_Read()

  Dim sLine As String
 
  Line Input #$mainProcess, sLine
 
  TextArea1.Text &= sLine & gb.newline
 
End


purtroppo c'è poca documentazione sui cambiamenti della SHELL su G3
Matteo DoubleMM Mion