Differenze tra le versioni di "Arrestare temporaneamente l'intercettazione del flusso di dati da un file-device"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Qualora si intenda arrestare temporaneamente l'intercettazione di dati provenienti da un file-device, senza doverlo necessariamente chiudere, potremo utilizzare almeno due mod...') |
|||
Riga 8: | Riga 8: | ||
− | + | Public Sub Button1_Click() | |
<FONT color=gray>' ''Apre (o consente nuovamente l'intercettazione dei dati, se precedentemente bloccata) il flusso di dati:''</font> | <FONT color=gray>' ''Apre (o consente nuovamente l'intercettazione dei dati, se precedentemente bloccata) il flusso di dati:''</font> | ||
− | fl = Open "''percorso/del/file/device''" For Read Watch | + | fl = Open "<FONT color=darkgreen>''percorso/del/file/device''</font>" For Read Watch |
− | + | End | |
− | + | Public Sub File_Read() | |
− | + | Dim by As Byte | |
<FONT color=gray>' ''Intercetta i dati dal file device:''</font> | <FONT color=gray>' ''Intercetta i dati dal file device:''</font> | ||
Riga 26: | Riga 26: | ||
Print by | Print by | ||
− | + | End | |
− | + | Public Sub Button2_Click() | |
<FONT color=gray>' ''Si procede a bloccare l'intercettazione del flusso di dati dal file-device.'' | <FONT color=gray>' ''Si procede a bloccare l'intercettazione del flusso di dati dal file-device.'' | ||
' ''<SPAN style="text-decoration:underline">Si dà un percorso qualsiasi con un nome di file qualsiasi, entrambi a piacere</span>:''</font> | ' ''<SPAN style="text-decoration:underline">Si dà un percorso qualsiasi con un nome di file qualsiasi, entrambi a piacere</span>:''</font> | ||
− | fl = Lock "''percorso/qualsiasi/con/un/nome/file''" | + | fl = Lock "<FONT color=darkgreen>''percorso/qualsiasi/con/un/nome/file''</font>" |
− | + | End | |
− | + | Public Sub Button3_Click() | |
<FONT color=gray>' ''Chiude definitivamente il flusso:''</font> | <FONT color=gray>' ''Chiude definitivamente il flusso:''</font> | ||
fl.Close | fl.Close | ||
− | + | End | |
− | |||
Dopo aver bloccato il flusso, per sbloccarlo basterà riaprire il flusso cliccando su ''Button1''. | Dopo aver bloccato il flusso, per sbloccarlo basterà riaprire il flusso cliccando su ''Button1''. | ||
Riga 55: | Riga 54: | ||
− | + | Public Sub Button1_Click() | |
<FONT color=gray>' ''Apre (o sblocca se precedentemente bloccato) il flusso di dati:''</font> | <FONT color=gray>' ''Apre (o sblocca se precedentemente bloccato) il flusso di dati:''</font> | ||
− | pr = Exec ["cat", "''/percorso/del/file/device''"] For Read As "processo" | + | pr = Exec ["cat", "<FONT color=darkgreen>''/percorso/del/file/device''</font>"] For Read As "processo" |
− | + | End | |
− | + | Public Sub processo_Read() | |
Dim by As Byte | Dim by As Byte | ||
Riga 71: | Riga 70: | ||
Print by | Print by | ||
− | + | End | |
− | + | Public Sub Button2_Click() | |
<FONT color=gray>' ''Chiude il flusso di dati dal processo in corso:''</font> | <FONT color=gray>' ''Chiude il flusso di dati dal processo in corso:''</font> | ||
pr.Kill | pr.Kill | ||
− | + | End | |
− | |||
Per riaprire il flusso basterà cliccare nuovamente su ''Button1''. | Per riaprire il flusso basterà cliccare nuovamente su ''Button1''. |
Versione attuale delle 13:27, 23 giu 2024
Qualora si intenda arrestare temporaneamente l'intercettazione di dati provenienti da un file-device, senza doverlo necessariamente chiudere, potremo utilizzare almeno due modalità, di seguito descritte .
Uso di Open
Aprendo il file-device con Open, come un qualsiasi file, per bloccare temporaneamente il flusso si sfrutterà, ancorché non in modo proprio, la capacità della funzione Lock come segue:
Private fl As Stream
Public Sub Button1_Click()
' Apre (o consente nuovamente l'intercettazione dei dati, se precedentemente bloccata) il flusso di dati:
fl = Open "percorso/del/file/device" For Read Watch
End
Public Sub File_Read()
Dim by As Byte
' Intercetta i dati dal file device:
Read #fl, by
' Li mostra in console:
Print by
End
Public Sub Button2_Click()
' Si procede a bloccare l'intercettazione del flusso di dati dal file-device.
' Si dà un percorso qualsiasi con un nome di file qualsiasi, entrambi a piacere:
fl = Lock "percorso/qualsiasi/con/un/nome/file"
End
Public Sub Button3_Click()
' Chiude definitivamente il flusso:
fl.Close
End
Dopo aver bloccato il flusso, per sbloccarlo basterà riaprire il flusso cliccando su Button1.
Uso di Process
Anche l'uso di Process consente di aprire, chiudere e riaprire un flusso di dati da un file-device:
Private pr As Process Public Sub Button1_Click() ' Apre (o sblocca se precedentemente bloccato) il flusso di dati: pr = Exec ["cat", "/percorso/del/file/device"] For Read As "processo" End Public Sub processo_Read() Dim by As Byte Read #pr, by Print by End Public Sub Button2_Click() ' Chiude il flusso di dati dal processo in corso: pr.Kill End
Per riaprire il flusso basterà cliccare nuovamente su Button1.