Differenze tra le versioni di "Ricevere dati da un programma esterno mediante un file"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Un programma Gambas può comunicare e ricevere dati da un altro programma, scritto in Gambas o in altro linguaggio, usando in comune un file. <BR>In particolare consideriamo q...")
 
Riga 3: Riga 3:
  
  
===Esempio  di comunicazione fra due programmi Gambas===
+
===Esempio  di comunicazione fra due programmi===
Mostriamo un esempio pratico, nel quale sia il programma esterno a creare il file, sul quale scriverà un valore numerico.
+
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.
 
 
Il programma esterno sarà scritto in Gambas e avrà il seguente codice, con il quale scriverà nel file in comune l'orario ogni secondo:
 
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
Riga 38: Riga 36:
 
   
 
   
 
  End
 
  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.

Versione delle 19:51, 4 dic 2023

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.