low(Balken)+1 to high(balken)+1
lass die +1 weg
uppss da sind noch mehr bugs drin
Canvas.Create;
erzeugt bei jedem Click auf Start neue Fonts, Pens und Brushes und macht so sicher nichts sinnvolles
Delphi-Quellcode:
Procedure TForm1.FreeBalken;
var
i: Integer;
begin
// wenn es eine Liste und kein Array ist rückwärts löschen
For i:= high(Balken) downto low(Balken) do Balken[i].Free;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FreeBalken;
end;
procedure TForm1.ResetClick(Sender: TObject);
var
i: Integer;
begin
PaintBox1.Invalidate;
Start.Enabled:=True;
FreeBalken;
end;
Jetzt funktioniert leider mein BubbleSort nicht mehr.
Ich muss mich echt nochmal in die Arrays einlesen. Grundlage >.<
Peinlich :S
Delphi-Quellcode:
procedure TForm1.BubbleSortClick(Sender: TObject);
var
i: Integer;
done: boolean;
temp: integer;
begin
repeat
done:= True;
For i:= 1 to high(Balken) do
begin
If Balken[i].Wert > Balken[i+1].Wert then
begin
temp := Balken[i].wert;
Balken[i].Wert := Balken[i+1].Wert;
Balken[i+1].Wert := temp;
done := false;
end;
end;
until done;
Memo1.Lines.clear;
For i:= 1 to high(Balken) do Memo1.Lines.add(IntToStr(Balken[i].wert));
Form1.PaintBox1.Invalidate;
Form1.PaintBox1Paint(BubbleSort);
end;