Hallo miteinander
Ich habe folgenden Code programmiert. Er soll mir Daten in ein 3 Dimensionales Array schreiben.
Die Textdatei sieht folgendermassen aus.
XML-Code:
0
0
0
0
0
g1
12
233
34
21
12
fd
fg
fdg
fg
fg
g2
....
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var sl,sx: TStringList;
zeilennr,i,j,kontrollnummer :integer;
temp,kontrollstring : String;
gebaude : Array [0..17,0..20,0..5] of String;
begin
sx:=TStringList.Create; //Objekt erzeugen
sx.LoadFromFile('c:\gebaude1.txt'); //Datei in Stringliste laden
zeilennr:=0;
i:=0;
j:=0;
kontrollnummer:=1;
while zeilennr<sx.Count-1 do begin
kontrollstring:='g'+inttostr(kontrollnummer);
temp:=sx[zeilennr];
//kontrollstring=temp
if (pos('g',temp))<>0 then begin
i:=i+1;
kontrollnummer:=kontrollnummer+1;
j:=0;
end
else begin
gebaude[i,j,0]:=sx[zeilennr];
gebaude[i,j,1]:=sx[zeilennr+1];
gebaude[i,j,2]:=sx[zeilennr+2];
gebaude[i,j,3]:=sx[zeilennr+3];
gebaude[i,j,4]:=sx[zeilennr+4];
gebaude[i,j,5]:=sx[zeilennr+5];
j:=j+1;
end;
zeilennr:=zeilennr+6;
end;
sx.free;
end;
Dummerweise läuft jedoch irgendwie immer dieses Array über wobei ich hierfür keine Erklärung habe, da nie mehr als 6*21 Zeilen kommen bevor wieder eine Zeile mit einem g am Anfang kommt.
Außerdem kommen nicht mehr als 17 Zeilen mit g am Anfang.
Woran kann das vielleicht liegen?
MfG Michael