Einzelnen Beitrag anzeigen

Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#3

AW: Zugriffsverletzung. Doch warum ?

  Alt 24. Sep 2012, 18:19
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;
  Mit Zitat antworten Zitat