Autor Beitrag
lord.paddington
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Mi 06.04.05 18:39 
Folgender Code erzeugt die im Anhang liegende Fehlermeldung!

Mir unbegreiflich!

ausblenden volle Höhe Delphi-Quelltext
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:
//Statistikprozedur
procedure TForm2.Statistik;
var index : Integer;
begin
  //Stoerung wird einer Variablen zugewiesen
  stoerdummy := ComboBox1.Text + ComboBox2.Text + ComboBox4.Text + ComboBox5.Text;

  //Störungsdatei wird geladen
  Memo2.Lines.LoadfromFile('Statistik\Stoerungen'+'.txt');

  //zähle die Zeilen der geladenen Statistik
  anzahlStoerungen := Memo2.Lines.Count;

  //ordne jede Störung einer Variablen zu
  for index := 0 to anzahlStoerungen do begin
                                          stoerung[index] := Memo2.Lines[index];
                                        end;
  //Zählerdatei wird geladen
  Memo3.Lines.LoadfromFile('Statistik\Zaehler'+'.txt');

  //zähle die Zeilen der geladenen Zaehler
  anzahl := Memo3.Lines.Count;

  //ordne jede Störung einer Variablen zu
  for index := 0 to anzahl do begin
                                zaehler[index] := StrToInt(Memo3.Lines[index]);
                              end;
  //Dateien werden wieder abgespeichert
  Memo2.Lines.SaveToFile('Statistik\Stoerungen'+'.txt');
  Memo3.Lines.SaveToFile('Statistik\Zaehler'+'.txt');
end;


Moderiert von user profile iconAXMD: Code- durch Delphi-Tags ersetzt.
Einloggen, um Attachments anzusehen!
_________________
pfutsch ist hin und hin ist pfutsch
sahib
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 117

Win 2000 SP4+
Delphi 5 Prof.
BeitragVerfasst: Mi 06.04.05 19:33 
Hallo Lord.

Vielleicht ersteinmal eine Anmerkung zu den von Dir verwendeten Indizes. Wenn Du die Anzahl von Einträgen über die Count-Eigenschaft ermittelst, solltest Du nur bis Pred(Count) arbeiten. Die Zählung fängt immer bei 0 an:

ausblenden Delphi-Quelltext
1:
for index := 0 to anzahlStoerungen do begin					

sollte heißen
ausblenden Delphi-Quelltext
1:
for index := 0 to pred(anzahlStoerungen) do begin					


Ok. Aber der Fehler dürfte in der Zeile
ausblenden Delphi-Quelltext
1:
zaehler[index] := StrToInt(Memo3.Lines[index]);					

liegen. Hier wandelst Du einen String in einen Integer-Wert um. Dieser String darf aber wirklich nur Ziffern beinhalten, keine weiteren Zeichen. Wenn Du keine weiteren (sichtbaren) Zeichen drinnen hast, könnte es daran liegen, dass Du eine RichEdit-Komponente verwendest? Gab es da nicht eine Einstellung wie PlainText?

Viele Grüße,
Christian