Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: sub078 - 23 Gennaio 2009, 11:32:14

Titolo: Aprire un lettore video
Inserito da: sub078 - 23 Gennaio 2009, 11:32:14
Prima di tutto un grosso saluto a tutto il forum.... e poi....
è da tempo che provo ma non riesco proprio! Ecco il mio problema:
In una finestra metto un bottone.... voglio che al click del mouse mi si apra vlc con un indirizzo mms (il canale di RAI 1 via web per capirsi!) ma non riesco proprio a farlo!

Io faccio una cosa del genere:


PUBLIC SUB ToggleButton1_Click()

SHELL vlc mms:// ecc. ecc.

END

MA NON VUOLE PROPRIO ANDARE
Titolo: Re: Aprire un lettore video
Inserito da: fsurfing - 23 Gennaio 2009, 12:35:55
fai in questo modo:
 


Codice: [Seleziona]

PUBLIC SUB Button1_Click()


    SHELL "vlc" & " " & "mms://212.162.68.163/prodtvr3"
   
   
END

 


oppure :
Codice: [Seleziona]


PUBLIC SUB Button1_Click()
DIM canale as string

canale="mms://212.162.68.163/prodtvr3"

    SHELL "vlc " & canale
   
   
END
Titolo: Re: Aprire un lettore video
Inserito da: md9327 - 23 Gennaio 2009, 13:05:52
Infatti, la riga di comando deve essere racchiusa tra doppi apici, tutto qui...
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 24 Gennaio 2009, 11:52:00
Grazie mille ma ora il problema è un altro. Se dovessi inviare al terminale il comando dato da "CTRL C" come faccio? Grazie mille!
Titolo: Re: Aprire un lettore video
Inserito da: Ceskho - 24 Gennaio 2009, 12:48:43
CTRL + C indica sempre il comando COPIA del sistema....ti conviene usare un altra combinazione di tasti per facilità
Titolo: Re: Aprire un lettore video
Inserito da: fsurfing - 24 Gennaio 2009, 12:50:27
prova a guardare la funzione desktop.sendkeys  invia  un segnale corrispondente ad un tasto o piu alla finestra che ha il focus

quarda nella guida,  io non ho mai provato
http://www.gambasdoc.org/help/comp/gb.desktop/desktop/sendkeys (http://www.gambasdoc.org/help/comp/gb.desktop/desktop/sendkeys)
Titolo: Re: Aprire un lettore video
Inserito da: md9327 - 25 Gennaio 2009, 01:32:12
Se devi inviare dei signali ad altre applicazioni, tramite sistema operativo, devi usare il comando "kill", seguito da un'apposito parametro.
Se dai un'occhiata a "man kill", vedrai quali parametri usare.

Un esempio e un riassunto, tenendo conto che non funzionano allo stesso modo su tutti i sistemi Unix-like:

Codice: [Seleziona]

kill -9 'uccide il processo senza attendere la sua fine

kill -TERM 'dice al processo che è ora di farla finita,
                          'ma solo quando ha terminato quello che stava facendo


per sapere qual'è il numero del processo, basta fare il comando:

Codice: [Seleziona]

ps -ef | grep


il è il primo numero che trovi nella riga, partendo da sinistra.

In ogni caso ti suggerisco di dare uno sguardo alla documentazione su linux (vedi pagine "man").
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 25 Gennaio 2009, 19:01:29
Grazie mille per la pazienza e le risposte!
Ma ora avrei un piccolo altro problema!!!!
Come faccio a far aprire una nuova finestra a gambas? Spiego meglio.... in una finestra ci deve essere un pulsante che rimanda ad un'altra finestra con i CREDIT! diciamo! Grazie mille per tutte le risposte!
Titolo: Re: Aprire un lettore video
Inserito da: madnessmike - 25 Gennaio 2009, 20:41:30
Semplicemente usi il comando:
Codice: [Seleziona]
NomeForm.Show()


dove NomeForm è il nome della finestra che devi far visualizzare. ;-)
Titolo: Re: Aprire un lettore video
Inserito da: Ceskho - 25 Gennaio 2009, 23:20:54
Il comando esatto è
Codice: [Seleziona]

NomeForm.Show


senza le parentesi...
Titolo: Re: Aprire un lettore video
Inserito da: md9327 - 25 Gennaio 2009, 23:58:40
E' uguale...

Gambas, come per il Basic, permette l'uso di chiamate a funzioni, o procedure, con o senza apici, a differenza della struttura più rigida di altri linguaggi. Questo, ovviamente, è vero se non si debbano passare parametri, oppure nella creazione di una classe senza opzioni. In quest'ultimo caso, Gambas, si arrabbia molto se sono presenti parentesi senza nulla in mezzo...
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 26 Gennaio 2009, 10:36:22
Grazie! Funziona PERFETTAMENTE, pero' ho una cosa che non va!
Io vorrei che cliccando su un bottone mi aprisse un terminale e mi mandasse una serie di comandi, funziona tutto ma il terminale non lo apre quindi non ho modo di controllare cosa stia facendo il programma!
Il file in questione è il seguente:
' Gambas class file

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()

END

PUBLIC SUB TextLabel1_MouseDown()

 

END

PUBLIC SUB ToggleButton1_Click()

  SHELL "wvdial" & " m600"
 

END

PUBLIC SUB ToggleButton2_Click()

  SHELL "CTRL C"

END

PUBLIC SUB ToggleButton3_Click()

  info.Show

END
Titolo: Re: Aprire un lettore video
Inserito da: leo72 - 26 Gennaio 2009, 14:49:29
Shell non è che ti apre un terminale, ti esegue un comando da terminale.
Dovresti reindirizzare l'output del comando e poi visualizzarlo.
Ad esempio SHELL "comando" TO variabile.
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 26 Gennaio 2009, 15:49:54
Uhm.... non ho capito cosa devo scrivere quindi.....
Titolo: Re: Aprire un lettore video
Inserito da: leo72 - 26 Gennaio 2009, 15:56:50
Comando contiene il comando da eseguire mentre variabile è la variabile in cui reindirizzare l'output.
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 26 Gennaio 2009, 16:28:36
Uhm..... e se voglio l'output nel terminale???
Titolo: Re: Aprire un lettore video
Inserito da: leo72 - 27 Gennaio 2009, 00:36:53
Come ti ho detto, non è che apri un terminale nel vero senso della parola... Puoi gestire l'input e l'output, come se il comando fosse in un terminale virtuale.
Qui ci sono un po' di spiegazioni più dettagliate:
http://gambasdoc.org/help/lang/shell
Titolo: Re: Aprire un lettore video
Inserito da: sub078 - 27 Gennaio 2009, 08:50:14
Ti ringrazio mi studiero' un po la cosa.... nel caso chiedo! Grazie mille e a presto allora :P