Differenze tra le versioni di "Sapere in tempo reale se un file di nome conosciuto viene modificato o distrutto"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per sapere in tempo reale se un file, di cui si conosce il percorso ed il nome, viene modificato o distrutto, si può adottare un codice come il seguente: Private tempus As...")
 
Riga 26: Riga 26:
 
     s = File.Load(dr)
 
     s = File.Load(dr)
 
     If lun <> s Then Print "Si sta modificando il file: "; dr
 
     If lun <> s Then Print "Si sta modificando il file: "; dr
      lun = s
+
    lun = s
 
   Else
 
   Else
 
     Print "\nIl file '"; dr; "' è stato distrutto !"
 
     Print "\nIl file '"; dr; "' è stato distrutto !"
 
     tempus.Stop
 
     tempus.Stop
 +
  Endif
 +
   
 +
'''End'''
 +
 +
 +
oppure un codice simile al precedente, ma ponendo il file da verificare sotto ''osservazione'' con la parola chiave ''Watch'':
 +
Private dr As String
 +
Private lun As String
 +
Private fl As File
 +
 +
 +
'''Public''' Sub Main()
 +
 
 +
  dr = "''<FONT Color=gray>''/percorso/del/file''</font>"
 +
  lun = File.Load(dr)
 +
 
 +
  fl = Open dr For Read Watch
 +
 
 +
'''End'''
 +
 +
 +
'''Public''' Sub File_Watch()
 +
 
 +
  Dim s As String
 +
 
 +
  If Exist(dr) Then
 +
    s = File.Load(dr)
 +
    If lun <> s Then Print "Il file "; dr; " è stato modificato !"
 +
    lun = s
 +
  Else
 +
    Print "\nIl file '"; dr; "' è stato distrutto !"
 +
    fl.Close
 
   Endif
 
   Endif
 
      
 
      
 
  '''End'''
 
  '''End'''

Versione delle 02:05, 9 set 2016

Per sapere in tempo reale se un file, di cui si conosce il percorso ed il nome, viene modificato o distrutto, si può adottare un codice come il seguente:

Private tempus As Timer
Private dr As String
Private lun As String


Public Sub Main()
 
 dr = "/percorso/del/file"
 lun = File.Load(dr)
 
 With tempus = New Timer As "Tempus"
   .Delay = 250
   .Start
 End With
  
End


Public Sub Tempus_Timer()
 
 Dim s As String
  
  If Exist(dr) Then
    s = File.Load(dr)
    If lun <> s Then Print "Si sta modificando il file: "; dr
    lun = s
  Else
    Print "\nIl file '"; dr; "' è stato distrutto !"
    tempus.Stop
  Endif
   
End


oppure un codice simile al precedente, ma ponendo il file da verificare sotto osservazione con la parola chiave Watch:

Private dr As String
Private lun As String
Private fl As File


Public Sub Main()
 
 dr = "/percorso/del/file"
 lun = File.Load(dr)
 
 fl = Open dr For Read Watch
  
End


Public Sub File_Watch()
 
 Dim s As String
  
  If Exist(dr) Then
    s = File.Load(dr)
    If lun <> s Then Print "Il file "; dr; " è stato modificato !"
    lun = s
  Else
    Print "\nIl file '"; dr; "' è stato distrutto !"
    fl.Close
  Endif
   
End