Huhu
Ich hab grad ein Problem:
Ich habe eine Textdatei, die so aufgebaut ist:
Code:
1-0,1-0,1-0,1-0, .... (Das ganze 80 Mal)
1-0,1-0,1-0,1-0, .... (80 Mal...)
und hier nach unten hin das ganze Spiel auch 80 mal
Jetzt will ich jeweils die zahl vor dem "-" in ein 2D-Array einlesen, wobei eben [x,y] so ist, dass x der zeilennummer entspricht und y, die wievielte ziffer das in der zeile ist.
Bei folgendem Code bekomm ich aber einen Stream-lesefehler
Kann mir jemand sagen was ich falsch mache?
Delphi-Quellcode:
procedure LoadMap(FN: string);
var
FileS: TStream;
Buf, Save: String;
CPos, Spos: Integer;
x,y,j: integer;
begin
try
FileS := TFileStream.Create(FN, fmOpenWrite);
FileS.ReadBuffer(Buf, FileS.Size);
x := 0;
y := 0;
for j := 0 to (80*80) do
begin
Inc(y);
if y=80 then
begin
Inc(x);
y := 0;
end;
CPos := pos(',',Buf);
Save := Copy(Buf, 1, CPos-1);
SPos := pos('-',Save);
uMain.Map1.Fields[x,y] := StrToInt(Copy(Save, 1, SPos-1));
Delete(Buf, 1, CPos);
end;
finally
FileS.Free;
end;
end;
MfG,
air