Einzelnen Beitrag anzeigen

tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#4

Re: Zerlegesortieren - Probleme (ungültige Zeigeroperation)

  Alt 4. Jan 2007, 17:20
So, da bin ich wieder..

Gerne würde ich jetzt einen Mauszeiger einfügen, der eine Sanduhr beinhaltet, solange das Programm sortiert. Warum funktioniert meine Idee nicht?




Delphi-Quellcode:
procedure TForm1.btaustauschClick(Sender: TObject);
var
  ws,i:integer;
  tt: boolean;
begin
// bubble sort
  // Das Feld wird von vorne durchgegangen, die Elemente werden bei Größenunterschied getauscht.
  // Dieses wird solange durchgeführt, bis kein Feld -2 vom Ende aus mehr zu tauschen ist.
 mausae(0);
zeitmessung(0,2);
   repeat
     tt:=true;
     for i:=0 to max-2 do begin
       if nummern[i]>nummern[i+1] then begin
         ws:=nummern[i];
         nummern[i]:=nummern[i+1];
         nummern[i+1]:=ws;
         tt:=false;
       end;
     end;
   until tt;
  zeitmessung(1,2);
  schreibediebox;;
end;

procedure TForm1.mausae(ws:integer);
begin
  if ws=0 then begin
    btaustausch.Cursor:=crAppStart;
    Form1.Cursor:=crAppStart;
  end;
  if ws=1 then begin
    Form1.Cursor:=crDefault;
    btaustausch.Cursor:=crDefault;
  end;
end;

procedure TForm1.schreibediebox;
var w:integer;
begin
  form1.listbox1.Clear;
  for w:=0 to max-1 do
   form1.ListBox1.Items.Add(inttostr(nummern[w]));
  stringgrid1.Refresh;
  mausae(1);
end;
Wieland S.
  Mit Zitat antworten Zitat