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.