Автор: Павел 18.05.2004 20:12
Написал функции записи в файл и чтения из файла
Запись:
Код
function f_save: word;
var i, j: word; f_p: text;
begin
assign (f_p,'_!!!_.txt');
rewrite (f_p);
for i:=1 to a1 do
begin
for j:=1 to b1 do
write (f_p,m1[i,j]:4:0);
writeln;
end;
writeln;
for i:=1 to a2 do
begin
for j:=1 to b2 do
write (f_p,m2[i,j]:4:0);
writeln;
end;
writeln;
for i:=1 to a3 do
begin
for j:=1 to b3 do
write (f_p,m3[i,j]:4:0);
writeln;
end;
writeln;
for i:=1 to a4 do
begin
for j:=1 to b4 do
write (f_p,m4[i,j]:4:0);
writeln;
end;
writeln;
close (f_p);
f_save:=0;
end; {f_save}
Чтение:
Код
function f_read: word;
var i, j: word; f_p: text; s: string;
begin
assign (f_p,'_!!!_.txt');
reset (f_p);
while not eof (f_p) do
begin
clrscr;
readln (f_p, s);
writeln (s);
end;
close(f_p);
f_read:=0;
end; {f_read}
Можно сделать так, что бы сохраненный массив читался нормально, как массив, а не просто символы считывались?
Сам делал по другому, но не выводится на экран.
Код
function f_read: word;
var i, j: word; f_p: text; m1: massiv;
begin
assign (f_p,'_!!!_.txt');
reset (f_p);
while not eof (f_p) do
begin
clrscr;
readln (f_p, m1[i,j]);
for i:=1 to a1 do
begin
writeln;
for j:=1 to b1 do
writeln (m1[i,j]:4:0);
readln;
end;
end;
close(f_p);
f_read:=0;
end; {f_read}
А вот так только первое значение выводится.
Код
function f_read: word;
var i, j: word; f_p: text; m1: massiv;
begin
assign (f_p,'_!!!_.txt');
reset (f_p);
while not eof (f_p) do
begin
clrscr;
readln (f_p, m1[i,j]);
writeln (m1[i,j]:4:0);
end;
close(f_p);
f_read:=0;
end; {f_read}
Всю программку прикрепил, может кто что подскажет.
Прикрепленные файлы
KURS2.PAS ( 16.16 килобайт )
Кол-во скачиваний: 294
Автор: BlackShadow 18.05.2004 20:28
Сразу в глаза бросается стадо загадочных WriteLn'ов в f_save. Ты наверно хотел написать WriteLn(f_p). Может в этом дело?
Автор: APAL 18.05.2004 20:36
Может проще:
Код
var
...
f_p: File of massiv;
m1: massiv;
...
Begin
...
Write(f_p,m1); // Запись всего массива в файл "одним махом"
...
Read(f_p,m1); // Чтение всего массива из файла "одним махом"
...
End;
Автор: FreeMan 18.05.2004 20:56
А слабо одним махом в текстовый и из него???
Автор: Павел 20.05.2004 10:59
Так сохраняется и загружается, вроде, но на экран выводится только 1 элемент массива, если с перечислением писать то нули.
Код
f_p: File of massiv;
m1, m2, m3, m4: massiv;
...
Begin
...
Write(f_p,m1); // Запись всего массива в файл "одним махом"
...
Read(f_p,m1); // Чтение всего массива из файла "одним махом"
...