Ricevere dati da un programma esterno mediante un file

Da Gambas-it.org - Wikipedia.

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. Il nostro programma Gambas leggerà il file in comune e raccoglierà i dati appena scritti.

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.