System zeigt einen Fortschritt an

(Darstellen eines Fortschrittes oder zur Verwendung von Füllstandsanzeigen)

- eine neue Klasse (z.B. Option1) erstellen, die von der Applikation aufgerufen wird und die GUI mit der Fortschrittsanzeige aufruft

1. Attribute der Klasse:

ok : UglButton
abbruch : UglButton
push : bool = false
progress : UglProgressBar

2. Methodeninhalt:

- onInit()-Methode, die bei Aufruf ausgeführt wird
dim_t width = 130;
Rect r( 10, 45, width, 0 );
 
ok.createControl(this, r, "Ok");
ok.clickEvent = 'o';
 
r.top += 50;
abbruch.createControl(this, r, "Abbruch");
abbruch.clickEvent = 'a';
 
r.top += 100;
progress.createControl(this, r, "%d%%" );
- Anwender betätigt Button “ok” und übergibt dem Eventhandler das Ereignis “o”.
- In der Methode „onEvent“ wird das übergebene Event abgefragt
if( nr == 'o' )
{
    push = true;
}
 
if( nr == 'a' )
{
    push = false;
}
- Der bool-Wert “push” wird dadurch auf “true” gesetzt.
- Die erzeugte UglProgressBar wird durch die Methode „onTimer1s“ gefüllt.
static uint8_t val=0;
progress.setValue( val%100 );
 
if (push)
{
    val+=10;
}
else
{
    val = 0;
}
- Durch Setzen der Variable “push” auf “true” wird die Variable “val” pro Sekunde um 10 erhöht, wodurch der Füllwert der ProgressBar erhöht wird bis die Bearbeitung abgeschlossen ist.

Oder:

- Der Prozessfortschritt kann während der Bearbeitung durch Betätigen des Buttons „abbruch“ gestoppt werden.
- Anwender betätigt Button “abbruch” und übergibt dem Eventhandler das Ereignis “a”.
- Der bool-Wert “push” wird dadurch auf “false” und die Variable „val“ wird wieder auf „0“ gesetzt, wodurch die ProgressBar wieder geleert wird.
- die notwendige uglProgressBar aus der Bibliothek

Nächstes Thema

Wechselt den Screen