Newsgroup: it.comp.lang.delphi
Titolo: Monitor di Cartelle

Ciao, ho bisogno di monitorare una cartella per vedere quali file vengono
creati, modificati o cancellati ... come posso fare? Non esiste un evento di
Win? Fare il controllo in polling mi pare TROPPO oneroso, se poi sono più
cartelle o files .. grazie ... ciao
..::[ Panz ]::..
ps: sapete se si può fare lo stesso lavoro anche per le chiavi del registro
di Win stesso? Grazie ancora

Win? 
Tra i componenti di esempio di D6 c'č il "TShellChangeNotifier" che
potrebbe esserti d'aiuto.  Con D5 puoi ricostruire qualcosa del genere
interfacciando le funzioni della shell di Windows.  Consulta MSDN alla
voce "Shell Functions" per maggiori informazioni.
-- 
Andrea Laforgia
"God is dead." -- Nietzsche
"Nietzsche is dead." -- God

Ciao, ho bisogno di monitorare una cartella per vedere quali file vengono
creati, modificati o cancellati ... come posso fare? Non esiste un evento di


 creati, modificati o cancellati ... come posso fare? 
nelle RX libraries c'č il componente TRxFolderMonitor che fa questo
-- 
Mauro Falzari ( 
http://digilander.libero.it/mauro.falzari
 )
"Se guardi nell'abisso, anche l'abisso guarda in te." (Friedrich Nietzsche)

| >Ciao, ho bisogno di monitorare una cartella per vedere quali file vengono
| >creati, modificati o cancellati ... come posso fare? Non esiste un evento
di
| >Win?
|
| Tra i componenti di esempio di D6 c'č il "TShellChangeNotifier" che
| potrebbe esserti d'aiuto.  Con D5 puoi ricostruire qualcosa del genere
| interfacciando le funzioni della shell di Windows.  Consulta MSDN alla
| voce "Shell Functions" per maggiori informazioni.
|
| --
| Andrea Laforgia
|
| "God is dead." -- Nietzsche
| "Nietzsche is dead." -- God
Come mai a me risulta che il mio messaggio di richiesta č in realtą la
risposta alla tua rispost? Boh!
Io uso D6 ... ma dove li trovo i componenti di esempio? Lo so che non lo so
usare molto l'IDE di D6 ma riusciresti a dirmi dove li posso trovare? Magari
anche dove posso trovare i documeti dell MSDN?
Grazie ancora!
..::[ Panz ]::..

anche dove posso trovare i documeti dell MSDN?
http://msdn.microsoft.com


| >Come mai a me risulta che il mio messaggio di richiesta è in realtà la
risposta alla tua rispost? Boh!
| Che vuoi dire ?
Niente. lasciamo perdere ... è solo che usando OE il primo messaggio dal
quale iniziano le risposte è il tuo di risposta, mentre il mio di "inizio
discussione" è il child dell' elemento ...
esempio
 - Re: Monitor di cartelle
  |--- Il mio messaggio
  |--- le altre risposte
 + Altri post
 + Altri Post
sono riuscito a rendere l'idea? Lasciamo perdere!
| >Io uso D6 ... ma dove li trovo i componenti di esempio?
| Nella tabsheet "Samples", della palette dei componenti.
Nella Samples non ho ancora guardato ... ho trovato tra le RELibrary un
FolderMonitor, ma questo componente scatena l'evento del cambiamento di
qualcosa in una cartella e basta! Mi servirebbe sapere anche qual'è il file
interessato dal cambiamento o la cartella interessata ... Come dicevi tu
nella MSDN ho trovato la funzione che mi indica l'ultimo Notify avvenuto e
mi permette di sapere anche qualcosa in più sull'evento, come il nome del
file o della cartella ... la funzione che ho trovato è sotto (sempre come
dicevi tu) le Shell Functions ed è definita come segue:
Syntax
void SHChangeNotify( LONG wEventId,
                                    UINT uFlags,
                                    LPCVOID dwItem1,
                                    LPCVOID dwItem2
);
ok ... fin quì tutto ok, ho le idee chiare anche sui parametri ... ma ora
come faccio a richiamarla da Delphi? Scusa lo stress, ma voglio imparare!
:-)
Grazie ancora!
..::[ Panz ]::..
ps: bella la tua firma ... anzi ... "nice"... scusa la battuta ... :-)

come faccio a richiamarla da Delphi? Scusa lo stress, ma voglio imparare!
Devi includere la unit "ShlObj".


| >ok ... fin quì tutto ok, ho le idee chiare anche sui parametri ... ma ora
| >come faccio a richiamarla da Delphi? Scusa lo stress, ma voglio imparare!
|
| Devi includere la unit "ShlObj".
Ok ... proverò ... ma come faccio a sapere di volta in volta quali unit devo
includere? Grazie ancora
..::[ Panz ]::..

includere? 
Ti basta guardare il nome dell'header file (in questo caso "shlobj.h")
riportato da MSDN.  Borland ha costruito le unit sulla scia delle
definizioni di Microsoft.
-- 
Andrea Laforgia
"640kb of memory should be enough for anyone." -- Bill Gates.

"640kb of memory should be enough for anyone." -- Bill Gates.
Infatti.... *should* be.. !!!!
--
Morde. 
morde[at]programmer[.]net

Infatti.... *should* be.. !!!!
In inglese, *should* <> *ought* ;-)
