schließe deinen Delphi-Code doch bitte in die Delphi-Tags ein:
[delphi ] CODE [/delphi ] (ohne Leerzeichen)
Zitat:
Delphi-Quellcode:
TkolomArray = array[0..511] of real;
TdataArray = array[0..7] of Tkolomarray;
machs doch so:
tdataarray=array[0..7,0..511] of real;
Zitat:
Delphi-Quellcode:
j: integer;
i:integer;
k:integer;
l:integer;
viel kürzer:
i,j,k,l:integer;
und formatiere deinen Code doch bitte mit Einrückungen.
nur mal als Tipp: probier readln statt read.
also jetzt nur mal der wichtige Code wie ich ihn formatieren würde:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k,l:integer;
begin
assignfile(mijntext,'open.txt');
reset(mijntext);
i:=0;
j:=0;
while not(eof(mijntext)) do begin
read (mijntext, openarray[i,j]);
for l:=0 to j do begin
read(mijntext, openarray[i,j]);
for k:=0 to i do begin
read (mijntext, openarray[i,j]);
memo1.lines.add(floattostr(openarray[i,j]));
end;
end;
end;
closefile(mijntext);
end;
und jetzt, da er lesbar ist, die Verbesserung:
Delphi-Quellcode:
var
i,j,k:integer;
t:textfile;
zeile,acttoread:string;
begin
assignfile(t,DATEINAME);
reset(t);
k:=0;
while not eof(t) do begin
readln (t, zeile);
zeile:=zeile+' '; //Leerzeichen anhängen damit am Schluss die letzte Zahl nicht ignoriert wird
i:=0;
acttoread:='';
for j:=1 to length(zeile) do begin
if zeile[j]=' ' then //wenn auf Leerzeichen gestoßen, dann aktuelle Zahl zuende -> Zahl ans Array anhängen
begin
zahlenarray[k,i]:=floattostr(acttoread);
inc(i);
acttoread:='';
end else
acttoread:=acttoread+zeile[j];
end;
inc(k);
end;
closefile(t);
end;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates