Ricevere dati da un programma esterno mediante un file
Un programma Gambas può comunicare e ricevere dati da un altro programma, scritto in Gambas o in altro linguaggio, usando in comune un file.
In particolare consideriamo qui il caso in cui il programma esterno scrive dei dati nel file e il nostro programma Gambas va a leggere il file subito dopo, per raccogliere e utilizzare quei dati.
Esempio di comunicazione fra due programmi
Mostriamo un esempio pratico, nel quale anche il programma esterno è scritto in Gambas. Esso creerà il file in comune e vi scriverà dei dati, in questo caso l'orario ogni secondo, che sqranno raccolti dal nostro programma Gambas.
Public Sub Form_Open() Dim fl As File fl = Open "/tmp/file_in_comune" For Write Create Do Write #fl, Str(Time) Wait 1 Loop End
Il nostro programma Gambas, invece, aprirà il file in comune e lo porrà sotto osservazione con la parola-chieve "WATCH". Potrà così leggere nel file ogni qual volta viene scritto qualcosa (in questo esempio l'orario):
Private fl As File Public Sub Form_Open() fl = Open "/tmp/file_in_comune" For Read Watch End Public Sub File_Read() Dim s As String Read #fl, s, 8 Print s End
Se il programma esterno, scritto in altro linguaggio, utilizzerà un file - sia pur un file-device - leggibile dal nostro programma Gambas, il codice i quest'ultimo sostanzialmente non cambia.