Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Progressbar Min Max richtig setzen
Knulli - Mo 26.05.08 15:26
Titel: Progressbar Min Max richtig setzen
Hi Leute,
die Progressbar macht mich fertig...
Ich will zur Laufzeit Min und Max setzen und Position dazwischen hochlaufen lassen.
Es kann 1..10, aber auch 25..37 oder auch 200..200 vorkommen, je nachdem was der Benutzer gerade macht.
Ich bekomme es immer wieder hin, daß ich eine Exception um die Ohren gehauen bekomme, wenn ich entweder Min oder Max setze.
z.B. Min steht vom letzten Mal noch auf 1, Max auf 10. Wenn ich Min=200 setzen will krachts
in diesem Fall wäre es bestimmt besser gewesen erst Max zu setzen.
Aber wenn ich Min/Max auf 200/200 zu stehen habe und wieder 1/10 draus machen will krachts bei Max=10
hier wäre es besser erst Min zu setzen.
Gibts nicht eine Möglichkeit die immer klappt OHNE, daß ich mir vorher X-UND-NEUNZIG mögliche Sonderfälle überlegen muß?
Knulli
ZeitGeist87 - Mo 26.05.08 15:29
Delphi-Quelltext
1: 2: 3:
| Progressbar1.Progress/Position:= 0; Progressbar1.Min:= Min; Progressbar1.Max:= Max; |
Min und Max sind Varibalen vom Typ Integer mit den entsprechenden Werten..
Knulli - Mo 26.05.08 15:46
Nee, das wars nicht. Knallt trotzdem:
Min/Max von 0/100 --> 1/10 geht noch
dann
Min/Max von 1/10 --> 200/200 Exception
Knulli
ZeitGeist87 - Mo 26.05.08 15:48
Zeig mal den Quelltext..
Knulli - Mo 26.05.08 16:37
Hab selber ne Lösung gefunden:
Hab mal in die Komponente reindebuggt, was da los ist:
Delphi-Quelltext
1: 2:
| if AMax < AMin then raise EInvalidOperation.CreateFmt(SPropertyOutOfRange, [Self.Classname]); |
ich muß also nur verhindern, daß Min größer Max wird:
das mache ich jetzt so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if (aFrom > aProgressBar.Max) then begin aProgressBar.Max := aTo; aProgressBar.Min := aFrom; end else begin aProgressBar.Min := aFrom; aProgressBar.Max := aTo; end; |
Danke für die Mithilfe.
Knulli
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!