Chciałbym zapisać rekord zawierający tablicę do pliku. Wygląda on tak:
type
tAkcja = (up, down, right, left, esc, enter, none);
tSnake =
record
x, y: byte;
end;
tBonus =
record
x, y: byte;
r: word;
end;
tReplay =
record
akcje: array of tAkcja;
przeszkody: array of tSnake;
bonusy: array of tBonus;
ruchy, bon: word;
szer, wys, prz: byte;
end;
Chodzi o tReplay. Kiedy mam już wszystkie dane zapisane w zmiennej zapisuje tablicę do pliku za pomocą ReWrite;
Problem pojawia się kiedy chce użyć tablicy "Przeszkody" w pętli. Najczęściej rezultatem jest run-time error 216.
Fragment poniższej procedury rysuje przeszkody dla węża i oznacza ich współrzędne jako granice, przez które nie może przejść.
for k := 0 to prz-1 do
begin
readkey;
i:= R.przeszkody[k].x;//Używając readkey'ów ustaliłem, że w tym momencie program się wysypuje
readkey;
j:= R.przeszkody[k].y;
gotoxy(i, j);
write('╔╗');
gotoxy(i, j+1);
write('╚╝');
border[i-1, j-1]:=true;
border[i-1, j]:=true;
border[i, j-1]:=true;
border[i, j]:=true;
end;
Metodą prób i błędów odkryłem, że po wczytaniu pliku tablica ma zawsze długość = 1, nawet jak próbuje zmienić jej zakres przed wczytaniem z pliku.
Z góry dziękuję.