EvtFsiMonitor
EvtFsiMonitor
Überwachen von externen Verzeichnissen
Details
- Name: Typ Beschreibung
- aEvt:
eventEreignisinformationen - aAction:
intAktion_FsiMonActionCreateEine Datei wurde angelegt._FsiMonActionDeleteEine Datei wurde gelöscht._FsiMonActionModifyEine Datei wurde geändert._FsiMonActionRenameEine Datei wurde umbenannt. - aFileName:
alphaPfad- und Dateiname - aFileAttrib:
intAttribute der Datei - aFileSize:
bigintDateigröße - aFileCT:
caltimeDatum und Uhrzeit der letzten Änderung - aFileNameOld:
alphaAlter Pfad- und Dateiname, wenn Datei umbenannt wurde - Resultat:
logicWird nicht ausgewertet - Siehe: Liste , Objekte ,
FsiMonitorOpen (), Ereignisbefehle , Verzeichnissüberwachung (Blog)
Dieses Ereignis wird ausgelöst, wenn in einem überwachten Verzeichnis eine Datei angelegt, gelöscht, kopiert oder verändert wird. Das zu überwachende Verzeichnis muss zuvor mit dem Befehl FsiMonitorAdd () angegeben werden.
Definition des Funktionskopfes:
sub EvtFsiMonitor
(
aEvt : event; // Ereignis
aAction : int; // Dateioperation
aFileName : alpha; // Dateiname
aFileAttrib : int; // Dateiattribute
aFileSize : bigint; // Dateigröße
aFileCT : caltime; // Datum-/Uhrzeit der Änderung
aFileNameOld : alpha; // Alter Dateiname beim Umbenennen
)
: logic; // Wird nicht ausgewertet
{
return(true);
}
aEvt
In diesem Parameter vom Typ event wird unter anderem der Deskriptor des auslösenden Objekts, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.
aAction
In diesem Parameter wird die Aktion übergeben, die zu einer Änderung im Verzeichnis geführt hat. Der Übergabeparameter kann mit folgenden Konstanten verglichen werden:
_FsiMonActionCreate: In dem überwachten Verzeichnis wurde eine neue Datei angelegt. Der Name der Datei ist im ParameteraFileNameangegeben._FsiMonActionDelete: In dem überwachten Verzeichns wurde eine Datei gelöscht. Der Name der Datei ist im ParameteraFileNameangegeben._FsiMonActionModify: In dem überwachten Verzeichnis wurde eine Datei verändert. Der Name der Datei ist im ParameteraFileNameangegeben._FsiMonActionRename: In dem überwachten Verzeichnis wurde eine Datei umbenannt. Der neue Name der Datei ist im ParameteraFileNameangegeben. InaFileNameOldsteht der vorherige Name der Datei.
Die stattgefundene Aktion in dem Verzeichnis wird vom Betriebssystem ermittelt. Je nach Programm können unterschiedliche Aktionen zum Beispiel bei der Änderung von einer Datei ermittelt werden. Schreibt ein Programm die Änderungen direkt in die Datei, wird _FsiMonActionModify übergeben. Wird von dem Programm die alte Datei gelöscht und eine neue Datei angelegt, wird _FsiMonActionCreate übergeben.
aFileName
In diesem Parameter wird der Name der Datei, welche die Aktion in aAction betrifft, übergeben.
aFileAttrib
Dies sind die Datei-Attribute der neuen oder veränderten Datei. Die Datei-Attribute können mit folgenden Konstanten verglichen werden:
_FsiAttrArchive: Archiv-Attribut ist gesetzt._FsiAttrDir: Verzeichnis-Attribut ist gesetzt._FsiAttrExec: Die Datei / Das Verzeichnis ist ausführbar._FsiAttrHidden: Die Datei / Das Verzeichnis ist versteckt._FsiAttrRead: Die Datei kann nur gelesen werden._FsiAttrSystem: System-Attribut ist gesetzt.
aFileSize
In diesem Parameter wird die Größe der Datei in Byte übergeben.
aFileCT
Hier wird das Datum und die Uhrzeit der letzten Änderung der Datei angegeben.
aFileNameOld
Dieser Parameter ist nur bei der Aktion _FsiMonActionRename gesetzt und enthält den Namen der Datei vor der Umbenennung.
Resultat
Der Rückgabewert der Funktion wird nicht ausgewertet.
Beispiel:
sub EvtFsiMonitor
(
aEvt : event; // Ereignis
aAction : int; // Dateioperation
aFileName : alpha; // Dateiname
aFileAttrib : int; // Dateiattribute
aFileSize : bigint; // Dateigröße
aFileCT : caltime; // Datum-/Uhrzeit der Änderung
aFileNameOld : alpha; // Alter Dateiname beim Umbenennen
) : logic; // Wird nicht ausgewertet
{
switch (aAction)
{
case _FsiMonActionCreate : $Label->wpCaption # aFileName + ' erzeugt';
case _FsiMonActionModify : $Label->wpCaption # aFileName + ' geändert';
case _FsiMonActionDelete : $Label->wpCaption # aFileName + ' gelöscht';
case _FsiMonActionRename : $Label->wpCaption # aFileNameOld + ' umbenannt nach ' + aFileName;
}
return(true);
}