Witam, otóż mam taki problem. Zacznę od tego, że piszę w pascalu, bo to ważne. Kombinuje jak zapisać dwuwymiarową tablicę do pliku tekstowego, przy czym żeby w wierszu znajdowało się max N określonych elementów oddzielonych ; (średnikami). Dodatkowo najlepiej żeby na końcu każdego wiersza nie było już ; ani innego znaku, ale nie jest to (w tej chwili chyba). Plik i tablica zawierają wartości liczbowe.
Zawartość jednego z moich przykładowych plików po zapisie powinien wyglądać tak:
1;1;1;1;1;1;1;1;1;1;1;1
1;0;0;0;1;0;0;0;0;0;42;1
1;0;1;0;1;0;1;1;0;1;1;1
1;54;1;0;1;0;1;1;0;0;0;1
1;1;1;0;0;0;0;1;0;1;0;1
1;0;0;41;1;1;0;1;0;1;0;1
1;52;1;0;1;1;0;1;0;0;0;1
1;0;1;0;1;1;0;1;0;1;42;1
1;51;1;0;1;1;0;1;0;1;0;1
1;0;1;0;1;1;0;1;0;1;3;1
1;2;1;0;0;0;0;1;42;42;1;1
1;1;1;1;1;1;1;1;1;1;1;1
Niestety jak przepuszczam tablicę przez mój kod, zapisany plik wygląda tak:
1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;42;1;1;0;1;0;1;0;1;1;0;1;1;1;1;54;1;0;1;0;1;1;0;0;0;1;1;1;
1;0;0;0;0;1;0;1;0;1;1;0;0;41;1;1;0;1;0;1;0;1;1;52;1;0;1;1;0;1;0;0;0;1;1;0;1;0;1;1;0;1;0;1;42;1;1;51;1;0;1;1;0;1
;0;1;0;1;1;0;1;0;1;1;0;1;0;1;3;1;1;2;1;0;0;0;0;1;42;42;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
(entery wrzucone żeby nie wydłużać posta, normalnie jest to ciąg w '1 lini', poza tym 'potrójnym')
Żeby było śmieszniej, mimo widocznej przerwy tutaj w poście, w notatniku jej nie widzę, tak jak we wcześniej podanym 'docelowym wyglądzie'.
Mój kodzik którego używam do tej czynności wygląda następująco:
const
N = 12;
var
curposx,curposy:integer;
[...]
procedure save_p;
var
file_to_save : text;
begin
Assign(file_to_save, 'D:\_CO\plik.txt');
ReWrite(file_to_save);
for curposx := 1 to N do
begin
if curposx = 12 then write(file_to_save, #10#13);
for curposy := 1 to N do write(file_to_save, tab[curposx][curposy], ';');
end;
Close(file_to_save);
delay(10000);
end;
No i problem w tym, jak widać że niby wstawia mi ten 'enter' w dodatku tylko w 1 miejscu, ale nie do końca, albo raczej nie taki jaki bym chciał mieć.
Jakaś wskazówka, gdzie powinienem pomyśleć, bądź z jaką funkcją pascala popróbować?
@Edit
zapomniałem dodać że każdy element to liczba, tak jak są oddzielone średnikami, czyli np 1 element tablicy to '1', inny to '42' itd.