Warten und Statusanzeige #
Funktionen zum Warten auf Bedingungen und zur Anzeige von Statusmeldungen. Besonders nützlich bei der Integration mit externen Prozessen, die Dateien schreiben oder löschen.
ShowWaitMessage #
ShowWaitMessage(Text: String)
Zeigt eine Wartemeldung mit Fortschrittsanzeige an. Die Meldung bleibt sichtbar, bis HideWaitMessage aufgerufen wird.
ellib.ShowWaitMessage "Daten werden verarbeitet..."
' ... lange Operation ...
ellib.HideWaitMessage 0
ShowWaitMessageAsync #
ShowWaitMessageAsync(Text: String): Integer
Wie ShowWaitMessage, gibt aber ein Handle zurück, mit dem die Meldung gezielt geschlossen werden kann.
Dim handle
handle = ellib.ShowWaitMessageAsync("Export läuft...")
' ... Verarbeitung ...
ellib.HideWaitMessage handle
ShowWaitMessageEx #
ShowWaitMessageEx(Title: String, Text: String, Delay: Integer, Async: Boolean): Integer
Erweiterte Wartemeldung mit Titel und Verzögerung. Die Meldung erscheint erst nach Delay Millisekunden, um bei schnellen Operationen ein Flackern zu vermeiden.
Dim handle
handle = ellib.ShowWaitMessageEx("Export", "Rechnungen werden exportiert...", 500, True)
' ... Verarbeitung ...
ellib.HideWaitMessage handle
HideWaitMessage #
HideWaitMessage(Handle: Integer)
Schließt eine zuvor angezeigte Wartemeldung. Bei Handle = 0 wird die über ShowWaitMessage angezeigte Meldung geschlossen.
WaitForFileExistsEx #
WaitForFileExistsEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer
Wartet, bis eine Datei existiert. Nach DialogDelay Millisekunden wird ein Wartedialog angezeigt. Bei Timeout wird -1 zurückgegeben, bei Abbruch durch den Benutzer -2.
Dim result
result = ellib.WaitForFileExistsEx( _
"C:\Import\daten.csv", _
"stopwatch", _
"Warte auf Import-Datei", _
2000, _
60000)
If result >= 0 Then
MsgBox "Datei nach " & result & " ms gefunden"
ElseIf result = -1 Then
MsgBox "Timeout - Datei nicht gefunden"
ElseIf result = -2 Then
MsgBox "Vom Benutzer abgebrochen"
End If
WaitForFileAvailableEx #
WaitForFileAvailableEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer
Wartet, bis eine Datei existiert UND nicht mehr gesperrt ist. Nützlich wenn ein externer Prozess eine Datei schreibt und man warten muss, bis der Schreibvorgang abgeschlossen ist.
ellib.WaitForFileAvailableEx "C:\Export\report.pdf", "", _
"Warte auf PDF-Erstellung", 1000, 30000
WaitForFileDeleteEx #
WaitForFileDeleteEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer
Wartet, bis eine Datei gelöscht wurde. Nützlich bei Übergabe-Szenarien, wo ein externer Prozess eine Datei abholt und löscht.
WaitMessage #
WaitMessage(Text: String, Timeout: Integer)
Zeigt eine Meldung für die angegebene Zeit (in Millisekunden) an. Der Benutzer kann den Dialog vorher schließen.
' Meldung für 5 Sekunden anzeigen
ellib.WaitMessage "Bitte warten...", 5000
WaitForCondition #
WaitForCondition(Condition: Object, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer
Wartet auf eine benutzerdefinierte Bedingung. Das Condition-Objekt muss eine Methode IsTrue implementieren, die True oder False zurückgibt.
' Eigene Bedingungsklasse definieren
Class TMyCondition
Function IsTrue
' Hier eigene Prüflogik
IsTrue = (Hour(Now) >= 18)
End Function
End Class
Dim cond, result
Set cond = New TMyCondition
result = ellib.WaitForCondition(cond, "stopwatch", _
"Warte auf Feierabend", 1000, 60000)
Set cond = Nothing
Rückgabewerte:
| Wert | Bedeutung |
|---|---|
| >= 0 | Wartezeit in Millisekunden bis die Bedingung erfüllt war |
| -1 | Timeout erreicht |
| -2 | Vom Benutzer abgebrochen |