Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2014, 19:51   #1
pascal009
 
Регистрация: 16.10.2014
Сообщений: 7
По умолчанию Из текстового файла сохранить данные в типизированный тип

Данные представлены в виде записи, имеющей 3 поля(автор, название и количество). Нужно прочитать эти данные из текстового файла и сохранить в типизированном файле.
Вот код, здесь данные просто вводятся с клавиатуры и сохраняются в типизированный файл, а как сделать, чтобы читался текстовый файл и затем уже в типизированный сохранялись данные?

Код:
uses crt;
const N=2;
type tbook=record
           autor:string[40];
           title:string[80];
           count:word;
          end;
 
var b:tbook;
f:file of tbook;
i:integer;
books:array[1..N] of tbook;
begin
 
 
assign(f,'books.dat');
rewrite(f);
for i:=1 to N do begin
with b do begin
write('Введите автора: ');
readln(autor);
clrscr;
write('Введите название: ');
readln(title);
clrscr;
write('Введите количество: ');
readln(count);
clrscr;
end;
write(f,b);
end;
close(f);
 
assign(f,'books.dat');
reset(f);
 
while not eof(f) do
 begin
  read(f,b);
  writeln(b.autor,' ',b.title,' ',b.count);
  end;
 close(f);
 
 
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
pascal009 вне форума Ответить с цитированием
Старый 17.10.2014, 20:02   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
как сделать, чтобы читался текстовый файл
Код:
f1: text;
...
assign(f1,'books.txt');
reser(f1);
while not eof(f1) do begin
  with b do begin
    readln(f1, autor);
    readln(f1, title);
    readln(f1, count);
  end;
  write(f, b);
end;
close(f1);
Цитата:
затем уже в типизированный сохранялись данные?
Задание такое.
Arigato вне форума Ответить с цитированием
Старый 17.10.2014, 20:03   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если формат текстового файла не задан и нужно сделать максимально просто и быстро,
то
1) создаёте текстовый файл, в котором каждое поле помещаете в отдельную строку:
Булгаков М.А.
Мастер и Маргарита
20
Пушкин А.С.
Руслан и Людмила
5


2) описываете переменную
Код:
 f1 : Text;
3) изменяете код на такой

Код:
Assign(f1,'ИмяФайла.txt');
Reset(f1);
Assign(f,'books.dat');
Rewrite(f);
while Not eof(f1) do begin
  readln(f1, b.autor);
  readln(f1, b.title);
  readln(f1, b.count);
  write(f,b);
end;
close(f);
close(f1);

если же текстовый файл содержит каждую записи в виде одной строки, то нужно писать чтение этой строки из файла и парсинг (разбор) на отдельные поля.
Это тоже не сложно, я писал примеры подобного кода тут, на форуме...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать данные из текстового файла, в двоичный код StE111 Общие вопросы Delphi 7 28.11.2013 07:39
Данные из текстового файла в excel vovchik_lazarev Microsoft Office Excel 9 12.09.2011 21:14
Как импортировать данные из текстового файла? Androgen13 Microsoft Office Excel 0 08.08.2011 15:44
Как передать данные из текстового файла в массив (с++) impossible Помощь студентам 0 04.05.2011 18:56
Как из текстового файла перенести данные в excel файл hunter05 Microsoft Office Excel 1 08.09.2009 06:30