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

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
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:
 
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 tempus As Timer
 
  Private dr As String
 
  Private dr As String
Riga 6: Riga 5:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
   dr = "''<FONT Color=gray>''/percorso/del/file''</font>"
+
   dr = "<FONT Color=gray>''/percorso/del/file''</font>"
 
   lun = File.Load(dr)
 
   lun = File.Load(dr)
 
    
 
    
Riga 16: Riga 15:
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Tempus_Timer()
+
  Public Sub Tempus_Timer()
 
    
 
    
 
   Dim s As String
 
   Dim s As String
 
    
 
    
  If Exist(dr) Then
+
  If Exist(dr) Then
    s = File.Load(dr)
+
    s = File.Load(dr)
    If lun <> s Then Print "Si sta modificando il file: "; dr
+
    If lun <> s Then
    lun = s
+
      Print "Il file '"; dr; "' è stato modificato !\n"
  Else
+
      Print s
    Print "\nIl file '"; dr; "' è stato distrutto !"
+
    Endif
    tempus.Stop
+
    lun = s
  Endif
+
  Else
 +
    Print "\nIl file '"; dr; "' è stato distrutto !"
 +
    tempus.Stop
 +
  Endif
 
      
 
      
  '''End'''
+
  End
 
 
 
 
 
oppure un codice simile al precedente, ma ponendo il file da verificare sotto ''osservazione'' con la parola chiave ''Watch'':
 
oppure un codice simile al precedente, ma ponendo il file da verificare sotto ''osservazione'' con la parola chiave ''Watch'':
 
  Private dr As String
 
  Private dr As String
Riga 41: Riga 41:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
   dr = "''<FONT Color=gray>''/percorso/del/file''</font>"
+
   dr = "<FONT Color=gray>''/percorso/del/file''</font>"
 
   lun = File.Load(dr)
 
   lun = File.Load(dr)
 
    
 
    
 
   fl = Open dr For Read Watch
 
   fl = Open dr For Read Watch
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub File_Watch()
+
  Public Sub File_Read()
 
    
 
    
 
   Dim s As String
 
   Dim s As String
 
    
 
    
  If Exist(dr) Then
+
  If Exist(dr) Then
    s = File.Load(dr)
+
    s = File.Load(dr)
    If lun <> s Then Print "Il file "; dr; " è stato modificato !"
+
    If lun <> s Then
    lun = s
+
      Print "Il file '"; dr; "' è stato modificato !\n"
  Else
+
      Print s
    Print "\nIl file '"; dr; "' è stato distrutto !"
+
    Endif
    fl.Close
+
    lun = s
  Endif
+
  Else
 +
    Print "\nIl file '"; dr; "' è stato distrutto !"
 +
    fl.Close
 +
  Endif
 
      
 
      
  '''End'''
+
  End

Versione attuale delle 16:23, 11 set 2023

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 "Il file '"; dr; "' è stato modificato !\n"
     Print s
   Endif
   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_Read()
 
 Dim s As String
  
 If Exist(dr) Then
   s = File.Load(dr)
   If lun <> s Then
     Print "Il file '"; dr; "' è stato modificato !\n"
     Print s
   Endif
   lun = s
 Else
   Print "\nIl file '"; dr; "' è stato distrutto !"
   fl.Close
 Endif
   
End