Einzelnen Beitrag anzeigen

Dyvil

Registriert seit: 6. Okt 2007
14 Beiträge
 
#1

EAccessViolation bei Bubblesort

  Alt 6. Okt 2007, 17:30
Hi, ich bekomme folgende Fehlermeldung beim Button-Klick, der Bubblesort eines array of records durchführen soll. Es geht, wie ihr sehen könnt, um einen Abiturrechner, bei dem durch Bubblesort die Noten sortiert werden sollen!


http://img120.imageshack.us/img120/6119/fehlerle8.jpg
Delphi-Quellcode:
var
  Abiturrechner: TAbiturrechner;
  List : TStringList;

type
  TNoteneintrag = record
    Editfeld: string;
    Notenpunkte: Integer;
       end;
  Blg = array[1..10] of TNoteneintrag;


implementation

uses fAbout;

{$R *.dfm}

procedure BubbleSort(var List: Blg);
var
  done: boolean;
  i, n: integer;
  Dummy: string;
begin
  //n := List[i].Count;
  n := 5;
  repeat
    done := true;
    for i := 0 to n - 1 do
      if List[i].Notenpunkte > List[i + 1].Notenpunkte then
      begin
        Dummy := List[i].Editfeld;
        List[i].Notenpunkte := List[i + 1].Notenpunkte;
        List[i + 1].Editfeld := Dummy;
        done := false;
      end;
  until done;
end;

procedure TAbiturrechner.Button1Click(Sender: TObject);
var noten : Blg;
var s : string;
var i,u : integer;

begin
for i := 1 to 5 do begin
s := Edit1.Text;
u := StrToInt(s);
noten[i].Notenpunkte := u;
noten[i].Editfeld := s;
end;
Bubblesort(noten);
end;

end.
  Mit Zitat antworten Zitat