IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Запись в файл, чтение из файла
Павел
сообщение 18.05.2004 16:12
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Написал функции записи в файл и чтения из файла
Запись:
Код

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 килобайт ) Кол-во скачиваний: 201
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
BlackShadow
сообщение 18.05.2004 16:28
Сообщение #2


Гость






Сразу в глаза бросается стадо загадочных WriteLn'ов в f_save. Ты наверно хотел написать WriteLn(f_p). Может в этом дело?
 К началу страницы 
+ Ответить 
APAL
сообщение 18.05.2004 16:36
Сообщение #3


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Может проще:

Код
var
 ...
 f_p: File of massiv;
 m1: massiv;
 ...
Begin
...
 Write(f_p,m1);    // Запись всего массива в файл "одним махом"
...
 Read(f_p,m1);    // Чтение всего массива из файла "одним махом"
...
End;


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
FreeMan
сообщение 18.05.2004 16:56
Сообщение #4


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


А слабо одним махом в текстовый и из него??? smile.gif


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Павел
сообщение 20.05.2004 6:59
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Так сохраняется и загружается, вроде, но на экран выводится только 1 элемент массива, если с перечислением писать то нули.
Код

f_p: File of massiv;
m1, m2, m3, m4: massiv;
...
Begin
...
Write(f_p,m1);    // Запись всего массива в файл "одним махом"
...
Read(f_p,m1);    // Чтение всего массива из файла "одним махом"
...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"