Zum Hauptinhalt springen

EvtFsiMonitor

EvtFsiMonitor

Überwachen von externen Verzeichnissen

Details

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:

info

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:

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);
}