Zitat:
wenn du meinst er hätte den Max-Wert auf die Array-Länge gesetzt?
Sein Max-Wert ist 100, nicht die Array-Länge.
Du hast eben noch geschrieben "hat er doch schon", als ich meinte dass der Max-Wert auf Array-Länge gesetzt werden sollte.
Was ist an meinem Code kompliziert?
Seine Frage war wie man mitbekommt, dass der neue ProgressBar-Wert größer als der alte ist.
Und genau das macht mein Code. Er überprüft das und nur wenn der neue Wert größer ist als der alte wird die ProgressBar.Position neu gesetzt.
Verstehe nicht was daran kompliziert sein soll
Ich bin mir sicher das hier reicht dem OP völlig.
Delphi-Quellcode:
begin
ProgressBar1.Max := Length(myArray);
ProgressBar1.Position := 0;
for i := 0 to High(myArray) do begin
doCalculations();
ProgressBar1.StepIt;
// wahrscheinlich Application.ProcessMessages um Update anzuzeigen?
// Alternativ: Berechnung in einem Thread, dann wird's aber komplizierter
end;
end;