| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Fortschrittsanzeige mit vollem Balken
goto weiter das goto weiter erlaubt das überspringen des Textes und damit das
Ausführen dieses Testprogrammes.
Fortschrittsbalken (Progressbar) erstellen, laufend anzeigen und beenden.
Version 3.0 29.9.2002. Die Prozedur kann frei benutzt werden, für
Schäden kann keine Haftung übernommen werden.
Autor: Gerhard Putschalka
email: g.putschalka@web.de
homepage: http://members.telering.at/g.putschalka/index.html
Es gibt 2 verschiedene Includedateien:
- QFAnzge.inc zeigt im Fortschrittsbalken blaue Kästchen (Standard)
und läuft ab Profanversion 5
- QFAnzgeV.inc zeigt den Fortschrittsbalken als vollen blauen Balken
und läuft ab Profanversion 5
Anzeige eines Fortschrittbalkens.
Wird, als Beispiel, in einem Programm eine Datei geladen ist es unter Umständen
sinnvoll anzuzeigen, daß das Programm sich nicht aufgehängt hat, sondern daß das
Laden der Datei fortschreitet.
Mit den 3 Prozeduren in der Include-Datei ist es möglich auf einfache Weise einen
Balken anzuzeigen, der den Fortschritt eines Ablaufes anzeigt.
Der Dialog mit dem Fortschrittsbalken ist in der Größe aus dem Programm frei definierbar,
ausgenommen die Höhe des Dialogfeldes.
Die Prozeduraufrufe der zwei verschiedenen Includedateien sind gleich.
Es gibt 3 Prozeduren:
- Fortschritt_Beginn
damit wird der Dialog erstellt.
Parameter 1: Handle des übergeordneten Fensters (LongInteger)
2: linker Rand der Dialogbox (Integer) (X-Koordinate)
3: oberer Rand der Dialogbox (Integer) (Y-Koordinate)
4: Text für die Kopfzeile des Dialoges (wahlweise
5: Text für erste Zeile im Dialogfeld (wahlweise)
6. Endwert. Der Wert, der den 100% beim Erreichen der laufenden Anzeige
entspricht.
- Fortschritt_Anzeige
damit wird der Fortschritt angezeigt.
Parameter 1: Wert für die laufende Anzeige (LongInteger)
2: anzuzeigender Text in der zweiten Zeile im Dialogfeld (wahlweise)
- Fortschritt_Ende
damit wird der Dialog wieder beendet.
Parameter: keine
weiter: hier beginnt das Testprogramm
==================================================================================
Declare EndWert&
Declare TNOME$,AP_Val&,XX$
entsprechend der gewünschten Version ist EINE der beiden Includedateien zu aktivieren:
$I QFanzgeV.inc Version mit vollem Balken
$I QFanzge.inc Version mit unterbrochenem Balken
Def XSleep(1) ! Kernel32,Sleep
SetTrueColor 1
CLS @RGB(255,255,212)
Let EndWert& = 80 dieser Wert ist mit 100% anzusehen (entsprechend setzen)
Öffnen Fortschritt-Anzeige, setze P_Val% auf Null
Fortschritt_Beginn %Hwnd,40,60,250,Dateien werden geladen,
Erste Zeile fixer Text (wahlweise),EndWert&
P_Val& wird pro Ereignis um 1 erhöht, bis das Maximum der Ereignisse (in EndWert&
definiert) erreicht ist. P_Val% ist in der Includedatei global deklariert.
While @Lt(P_Val&,EndWert&)
beachte: der Balken läuft bis 100%, der Dateiname nn läuft bis zum Wert EndWert&
Let P_Val& = P_Val& + 1
Let XX$ = Datei-;@Str$(P_Val&)
Fortschritt_Anzeige P_Val&,XX$
diese Verzögerung ist nur notwendig um in diesem Testprogramm die Anzeige zu
verlangsamen. Abhängig vom Programm kann der Wert geändert werden bzw. kann
@XSleep ganz entfallen.
@XSleep(100) Verzögerung 100 Millisekunden
EndWhile
WaitInput nur zum Ansehen des Endstandes in diesem Testprogramm
Fortschritt_Ende beende die Anzeige
end
|
|
|
| |
|
|