ProgressBar
-
Hey,
kann mir vielleicht jemand erklären wie man eine Progressbar starten lassen kann wenn man auf einen Button klickt?
mfg monster465
-
Schau Dir mal die Eigenschaften und Methoden in der Hilfe an. Speziell ::Position und ::Min, ::Max
-
ok danke dir das werde ich mal machen
-
Hey,
ich habs mir angeschaut aber verstehen tue ich es nicht wirklich. Hast du vielleicht noch einen anderen Tipp oder jemand anders?mfg monster465
-
Ich hab es jetzt mal so gemacht:
ProgressBar1->Position=0; for (int i=0; i<100; i++) { ProgressBar1->StepIt(); for (int r=0; r<10000000; r++) { r=r+1; } }
aber wenn der der balken vertikal laufen soll funktioniert das nicht kann mir jemand helfen?
-
Hallo
"Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung.
Die Änderung in der ProgressBar wirst du auch nicht sehen, denn deine Schleife läuft durch ohne das die GUI wirklich neu gezeichnet wurde. Das kannst du so ändern :ProgressBar1->Position=0; ProgressBar1->Max=100; // Falls noch nicht vorhanden for (int i=0; i<100; i++) { ProgressBar1->StepIt(); Application->ProcessMessages(); // Erzwingt u.a. die Aktualisierung der GUI for (int r=0; r<10000000; r++) { r=r+1; } }
bis bald
akari
-
Nocheinmal eine frage:
wenn der Statusbalken oben ist wie kann ich machen das er wieder null wird?
-
Hallo
ProgressBar1->Position=0;
Das setzt die Anzeige zurück.
bis bald
akari
-
Hey ich meine das die Progressbar wieder langsam zurück geht.
Was ist daran falsch?{ ProgressBar1->Position=100; ProgressBar1->Min=0; for (int i=0; i<100; i++) { ProgressBar1->StepIt(); for (int r=0; r<10000000; r++) { r=r-1; } } }
-
Schau Dir mal an, was TProgressBar::StepIt() macht.
-
monster465 schrieb:
Hey ich meine das die Progressbar wieder langsam zurück geht.
Was ist daran falsch?{ ProgressBar1->Position=100; ProgressBar1->Min=0; for (int i=0; i<100; i++) { ProgressBar1->StepIt(); for (int r=0; r<10000000; r++) { r=r-1; } } }
Du erzeugst eine Endlosschleife! Einerseits r um 1 erhöhen, andererseits 1 abziehen. Mal ganz davon abgesehen dass die "r"-Schleife wohl eher dafür sorgen soll, dass etwas Zeit zwischen den einzelnen Steps vergeht.
VlG