Fortschrittsanzeige

Sie möchten Ihre Anwendung durch eine leicht zu programmierende Fortschrittsanzeige ergänzen Einfach zwei Objekte zur Anwendung hinzufügen, ein paar Befehle schreiben und schon den Fortschritt von Aktionen im Blick haben Kein Problem – dieser Beitrag stellt eine passende Lösung vor und zeigt auch, wie sie im Detail funktioniert.

Fortschrittlich

Es gibt nicht Schlimmeres, als auf etwas zu warten und nicht zu wissen, wann es so weit ist. Im Wartezimmer beim Arzt können Sie aufgrund der anwesenden Patienten wenigsten einigermaßen abschätzen, wie es vorangeht, aber wenn Sie gerade eine aufwendige Prozedur angeworfen haben und keine Statusmeldung über den aktuellen Stand erhalten, werden Sie vermutlich unruhig – kann ich noch einen Kaffee holen oder geht es gleich weiter Und wenn Sie selbiges Ihren Kunden vorsetzen, sind Sie diese schneller los, als es Ihnen lieb ist.

Damit dies nicht geschieht, informieren Sie den Benutzer durch eine entsprechende grafische Darstellung über den Fortschritt – und das ist recht leicht zu bewerkstelligen.

Fortschrittsbalken im Einsatz

Um das nachfolgend beschriebene Formular zur Anzeige eines Fortschrittsbalkens zu benutzen, brauchen Sie nur wenige Anweisungen. Das folgende Beispiel zeigt schon alle möglichen Befehle:

Public Sub TestFortschritt()
Dim i As Integer
FortschrittAnzeigen
For i = 0 To 100
    FortschrittAktualisieren _
    i & " % fertig", i
Next i
FortschrittBeenden
End Sub

Mit FortschrittAnzeigen öffnen Sie die Fortschrittsanzeige. Diese zeigt dann noch keinen Text an und der Fortschrittsbalken hat eine minimale Breite. FortschrittBeenden schließt die Fortschrittsanzeige wieder.

Dazwischen liegt die Festlegung des jeweiligen Status mit der Anweisung FortschrittAktualisieren, die den Parameter strText und/oder intProzent erwartet.

Dabei gibt strText den zu diesem Zeitpunkt anzuzeigenden Statustext und intProzent den Fortschritt in Teilen von Hundert an.

Beide Informationen können auch einzeln angegeben werden. Der Fortschrittsbalken sieht für dieses Beispiel etwa wie in Bild 1 aus.

pic002.tif

Bild 1: Fortschrittsbalken, hier Anzeige des Fortschritts in Prozent

Integration

In der Regel setzt man einen Fortschrittsbalken innerhalb von Schleifen ein. Damit die Fortschrittsanzeige einigermaßen aussagekräftige Informationen liefert, ermitteln Sie vor dem ersten Schleifendurchlauf die Anzahl der Durchläufe. Sie können die Fortschrittsanzeige dann innerhalb der Schleife mit den entsprechenden Prozentwerten füttern. Für das Durchlaufen eines Recordsets könnte dies so aussehen:

Set rst = db.OpenRecordset("tblArtikel", dbOpenDynaset)
rst.MoveLast
rst.MoveFirst
intCount = rst.RecordCount
FortschrittAnzeigen
Do While Not rst.EOF
'Do Something
FortschrittAktualisieren "Datensatz " _
& rst.AbsolutePosition & " von " _
& intCount, rst.AbsolutePosition _
/ intCount * 100
rst.MoveNext
Loop
FortschrittBeenden

Anders sieht dies aus, wenn Sie beispielsweise verschiedene etwas länger dauernde Abläufe mit der Fortschrittsanzeige dokumentieren möchten.

Hier sollten Sie dann einfach nach Gefühl einzelne Fortschrittsmeldungen in den Code einflechten – immerhin ist es möglich, dort beliebige Statusmeldungen und Prozentsätze einzugeben.

Das Formular zur Fortschrittsanzeige

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar