Leider habe ich die Selbe Fehlermeldung auch an einer 2. Stelle (diesmal mit dem Wert 2) wobei ich jedoch nichts lösche...
Zur Erläuterung: Mein Programm soll aus einem Spielerpool selbst einigermaßen faire Teams erstellen, und diese später in einen Turnierbäume eintragen. Dabei gibt man eine pro Spieler eine Wertung ein (max. 4 Stellige Zahlen) und einen Spielernamen. Vor die Spielerwertung werden automatisch die entsprechende Anzahl Nullen gestellt. Nun soll das Programm die Spielerwertung durchgehen, per zufall einen der Spieler mit der besten Wertung bestimmen. Hinterher soll diesem "besten" Spieler dann ein schlechter Spieler nach dem selben prinzip zugeordnet werden.
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var letzter,Spieler1,Spieler2,i,i2,i3,i4,gleichcounter,rest,skill,skill2,choose:integer; check,check2,choosenname,choosenname2,choosenname3:string;
begin
gleichcounter:=0;
if ListBox2.Items.Count mod strtoint(edit5.text) = 0 then begin
choosenname2:='';
choosenname:='';
gleichcounter:=0;
status.caption:='Spielerzahl passt';
for i:=0 to (ListBox2.Items.Count)
do begin
[color=#ff001f]check:=listbox2.items[i-1];[/color] //<--hier wird der Fehler angezeigt - ersten Namen samt Wertung holen
for i2:= 1 to 4 do
skill:= skill + strtoint(check[i2]); // Wertung isolieren
if i<listbox2.items.count-1 then
begin
check2:=listbox2.items[i+1]; // Wertung des nächsten auslesen
for i3:= 1 to 4 do
skill2:= skill2 + strtoint(check2[i3]); // Wertung isolieren
if skill=skill2 then //Wertung vergleichen
gleichcounter:=gleichcounter+1 // Anzahl gleicher Wertungen
else
begin // sobald der nächste Spieler eine andere Wertung hat, wird unter jenen mit gleicher Wertung gelost
choose:=random(gleichcounter)+1;
choosenname:=ListBox2.Items.Strings[choose-1]; //choosenname ist Wertung + Name des auserwählten
for i4:=6 to length(choosenname) do // Auserwählten Name wird von Wertung isoliert
choosenname2:= choosenname2 + choosenname[i4];
//........
end;
end;
end;
end
else
status.caption:='error';
showmessage('Unpassende Spieleranzahl!');
end;
Sry für die Smileyflut...