Hi,
muss für jgst 12, informatik nen reaktionstester machen.
Die Reaktionszeiten werden in einem Memofeld ausgegeben.
SORTIERPROBLEM:
Folgendes Problem, um im Memo-Feld die Ergebnisse auszugeben muss ich (so weit ich weiß) INTTOSTR verwenden. Dann wird Bubble-Sort angewendet um die Ergebnisse zu sortieren.
ABER: Dann wird zum Beispiel die Zeit 1121 ms vor der Zeit 258 ms einsortiert, obwohl diese ja viel langsamer ist.
Ich müsste denke ich Integer-Zahlen vergleichen und nicht String-Variablen, aber wie realisier ich das in dem Programm? Würd mich über Tipps freuen!
Hier 2 ausschlaggebende (gekürzte) Prozeduren:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| procedure TForm1.Shape3MouseDown
begin ... reaktion:=zeit2-zeit1; edit1.text:=inttostr(reaktion) + 'ms';
memo1.lines.add(inttostr(reaktion) + ' ms ' + Spielername); sortieren; end;
procedure tform1.sortieren; var hilf:string; lauf,durchgang:integer;
begin
with memo1 do begin for durchgang :=0 to lines.count-2 do for lauf:=0 to lines.count-2 do
if lines[lauf] > lines[lauf+1] then
begin hilf:=lines[lauf+1]; lines[lauf+1]:=lines[lauf]; lines[lauf]:=hilf; end;
end; end; |