Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: ira83 - 03 Settembre 2009, 19:41:48

Titolo: implementare programma gambas con altri programmi
Inserito da: ira83 - 03 Settembre 2009, 19:41:48
Ciao a tutti.. dopo un po di giorni a usar gambas a convertire script bash o altro in forma grafica, volevo fare una domandona,(io sto su linux), è possibile attaccare un riquadro al mio programma contenete un terminale?

spiego meglio, ho un comando che per forza di cose devo lanciarlo con
shell ------------------- wait

volevo sapere se è possibile visualizzare il terminale finche viene eseguita l'operazione, meglio ancora se unito al programma stesso...

è difficile da spiegarsi ehhe

è possibile?
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: - 03 Settembre 2009, 23:03:58
prova a guardare tra gli esempi di gambas "embedder"

prova a guardare tra gli esempi di gambas "console"

prova a cercare nei vecchi post , di discussioni simili ce ne sono a bizzeffe

prova a provare prima di postare

ciao
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 03 Settembre 2009, 23:06:36
Potresti usare xterm....lo lanci con

Codice: [Seleziona]
SHELL "xterm -e " & comando_da_eseguire_nel terminale


lo stesso xterm ha una funzione per inglobarlo in un altra finestra...dai

Codice: [Seleziona]
man xterm


nel terminale e leggi meglio.
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 00:54:33
mi è stato utile il consiglio di giac_fab...

ho creato una "txtConsole"

solo che
Codice: [Seleziona]

PUBLIC SUB Button1_Click()

    IF nomefile.text = "" THEN
  Message.Error("Non hai inserito alcun nome per il file", "exit")
  RETURN
  ENDIF


    SHELL comando WAIT

come faccio a fare finire l'output di questo comando in nella mia txtConsole PRESENTE NELLA STESSA FORM...

graziemille
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 00:57:29
Codice: [Seleziona]

SHELL comando TO txtConsole
WAIT
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 01:04:00
non è che magari dopo txtConsole va un .qualcosa? xke cosi nn mi va..

mi da

type mismatch_ wanted TextArea got string instead
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 01:58:37
Ovviamente...ho sbagliato a scrivere ci va txtConsole.text

Quindi il comando corretto è:
Codice: [Seleziona]

SHELL comando TO txtConsole.text
WAIT


Scusami per la svista.
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 11:48:22
mmm qualcosa sembra andare storto, ho chiamato la textarea gigi

Codice: [Seleziona]

    SHELL "/usr/bin/comando" & " " & "opzione" & " " & link.text TO gigi.text
    WAIT 0.1


1) non mi compare il log del comando nella textarea
2) mi salta il wait continuando in contemporanea il resto del programma..


noto invece che cosi funziona:
Codice: [Seleziona]

    SHELL "ls" TO gigi.text
    WAIT 0.1
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: - 05 Settembre 2009, 14:47:37
mhhmm sembrerebbe OK , se il comando che stai scrivendo è corretto

prova a vedere cosa esce da

Codice: [Seleziona]

PRINT "/usr/bin/comando" & " " & "opzione" & " " & link.text


e da terminale prova a eseguire il risultato .... a me è successo di essermi intrippato in qualche modo oppure di aver bisogno di mettere le virgolette sul nome del file
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 15:27:19
il comando da shell parte, non mi compare nella textarea...
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 16:57:07
Prova a togliere WAIT 0.1 e mettere solo WAIT...non è detto che il comando da shell duri 0.1 secondi..potrebbe durare anche di più....
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 17:03:17
niente da fare mi ignora il wait, ed inoltre non mostra l'output nella textarea
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 17:27:04
Prova così...


Codice: [Seleziona]

PRINT "/usr/bin/comando " & opzione & " 2>&1" TO gigi.text
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 17:45:49
Codice: [Seleziona]

    PRINT "/usr/bin/comando" & " " & link.text & "2>&1" TO gigi.Text


ora mi da errore di sintassi  :-o  :cry:
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 17:54:54
Per forza! ci vuole uno spazio....la sintassi corretta è:

Codice: [Seleziona]
PRINT "/usr/bin/comando" & " " & link.text & " " & "2>&1" TO gigi.Text
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 17:58:01
avevo gia provveduto ma lo stesso mi da

syntax error alla linea 43 (riportata sopra) IN FMain.class
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 05 Settembre 2009, 18:22:43
Scusa, mi diresti qual'è il comando che usi nel codice? che programma è?
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 05 Settembre 2009, 18:31:42
sono un po tutti :) ho fatto prove con unrar con i comandi base e con programmi completi, o script bash ma niente da fare persiono il banale "echo" non va

    PRINT "echo" & " " & link.text & " " & "2>&1" TO xxxxxx.text

quindi dev'esser qualche errore di sintassi (come consiglia appunto l'output dell'errore... )
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: fsurfing - 05 Settembre 2009, 18:48:53
ci credo che ti da errore tu non stai cercando di lanciare un programma ma solo di scrivere una riga nella console di gambas percui ti da errore quando arriva al to

devi usare il comando shell per lanciare il programma, poi collegarlo ad un processo.

a questo punto leggi nel processo quello che il programma scriverebbe in console, inoltre riesci anche a capire quando il programma termina


ti lascio un programmino di esempio
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: - 06 Settembre 2009, 00:21:29
Solo per la cronaca

Codice: [Seleziona]

PRINT "/usr/bin/comando" & " " & link.text & " " & "2>&1" TO gigi.Text



può essere

Codice: [Seleziona]

PRINT "/usr/bin/comando " &  link.text " 2>&1" TO gigi.Text


con un notevole risparmio di virgolette e &
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 06 Settembre 2009, 02:27:59
@ giac_fab

ovviamente quello che dici tu è correttissimo (e per chiarezza si dovrebbe fare così) ma volevo evidenziare il fatto che aveva omesso uno spazio e pertanto il terminale interpretava una cosa diversa...
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 06 Settembre 2009, 02:28:39
nn va nemmeno con lo spazio  :-)

sempre e solo syntax error alla linea 43 (riportata sopra) IN FMain.class
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: Ceskho - 06 Settembre 2009, 03:14:53
Hai seguito il consiglio di fsurfing?
Titolo: Re: implementare programma gambas con altri programmi
Inserito da: ira83 - 06 Settembre 2009, 14:31:05
yes quello funziona, l'altro metodo invece, nos...

grazie mille intanto per l'esempio... non ce nulla meglio di un esempio x capire come funziona una cosa...