Hey Leute, mich plagt zur Zeit ein Problem und selbst bin ich mir nicht sicher woran das liegen kann...
Ich habe ein Auswerteprogramm für meinen Verein geschrieben, kurz zur Funktion die mir Sorgen macht:
Durch ein Enter in einer Edit-Box wird mit Hilfe dieser Funktion
Delphi-Quellcode:
procedure Tfrm_main.edt_zeitKeyPress(Sender: TObject; var Key: Char);
var
minuten : string;
sekunden : string;
millisekunden : string;
fehlersekunden : string;
begin
if ord(key) = 13 then //Enter Taste
begin
begin
minuten := copy(edt_zeit.Text,1,1);
sekunden := copy(edt_zeit.Text,2,2);
millisekunden := copy(edt_zeit.Text,4,2);
fehlersekunden := copy(edt_zeit.Text,7,2);
lbox_zeitwert.Items.Strings[lbox_fahrername.ItemIndex] :=
minuten+'.'+sekunden+'.'+millisekunden+' '+fehlersekunden;
lbox_fahrername.ItemIndex := lbox_fahrername.ItemIndex+1;
edt_zeit.Clear;
end;
end;
end;
ein Zeitwert in eine Listbox eingetragen.
So, da ich nun die Daten der Listbox auswerten möchte mache ich dies mit folgender Funktion:
Delphi-Quellcode:
procedure zeiteintragen(typ:integer;fahreranzahl:integer);
//Eintragen der Gesamtzeit(mit FS!) und der Fehlersekunden in Array
//Type 1: 1. Lauf, Type 2: 2. Lauf
var
i : integer;
begin
case typ of
1:
begin
for i := 1 to fahreranzahl do
begin
a_wertung[i,2] := zeitpicker(frm_main.lbox_zeitwert.Items.Strings[i-1]);
a_wertung[i,5] := copy(frm_main.lbox_zeitwert.Items.Strings[i-1],9,2);
end;
end;
2:
begin
for i := 1 to fahreranzahl do
begin
a_wertung[i,3] := zeitpicker(frm_main.lbox_zeitwert.Items.Strings[i-1]);
a_wertung[i,6] := copy(frm_main.lbox_zeitwert.Items.Strings[i-1],9,2);
end;
end;
end;
end;
Nun bekomme ich in der Zeile
a_wertung[i,2] := zeitpicker(frm_main.lbox_zeitwert.Items.Strings[i-1]);
Den Fehler, daß der Listenindex das Maximum (0) überschreitet, obwohl sich in der Listbox die Zeitwerte befinden.
Kann es sein sein das ich von einer Funktion heraus nicht ohne weiteres auf die Daten zugreifen kann? Ich bräuchte dringend Hilfe, da ich das Programm in ca. einer Woche bräuchte. Wäre sehr dankbar für jeden Tip.
Sebastian