Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

FXPELIVE

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

program z10;   {В ПРОЦЕССЕ РАЗРАБОТКИ}
  Uses
CRT;
  Const
FileName='z10.dat';     {Первые два байда выделим под число записей файле, далее записи в формате BOOK}
  Type
BOOK=record
 Details:record
  Title:string[128];
  UDCcode:String[8];  {Код УДК подробнее смотреть: http://teacode.com/online/udc/68/681.3.06.html}
  End;
  surname:String[24];
  name:String[24];
  OrderDate,ReturnDate:record
  Day: Byte;
  Month: Byte;
  Year: Word;
  End;
End;
Books = Array[1..64] of Book;
  Var
Buffer:Word;
a:books;
f:File;
error:Boolean; Result:Word;  n:byte;
 
{Процедура добавления записей в файл}
procedure AddRec;
 var i:Byte;
Begin
Reset(f);
i:=0;
Repeat
inc(i);
ClrScr;
Write('Название книги '); ReadLn(a[i].details.title);
Write('Код УДК '); ReadLn(a[i].details.UDCcode);
 Write('Фамилия Имя  '); ReadLn(a[i].surname,a[i].name);
 Write('Дата заказа '); ReadLn(a[i].OrderDate.day, a[i].OrderDate.month, a[i].OrderDate.year);
 Write('Дата возврата '); ReadLn(a[i].ReturnDate.day, a[i].ReturnDate.month, a[i].ReturnDate.year);
BlockWrite(f, a[i], Buffer{*64}, Result);
Writeln(result=buffer);
Until Ord(readkey)=27;
Close(f);
End;
procedure printrec(i:byte);
Begin
Write('Название книги ',a[i].details.title);
Write('Код УДК ',a[i].details.UDCcode);
 Write('Фамилия Имя  ',a[i].surname,a[i].name);
 Write('Дата заказа ',a[i].OrderDate.day,a[i].OrderDate.month, a[i].OrderDate.year);
 Write('Дата возврата ',a[i].ReturnDate.day,a[i].ReturnDate.month, a[i].ReturnDate.year);
End;
procedure ReadRec;
var i:byte;
Begin
FillChar(A, sizeof(a),0);
Reset(f,buffer);
i:=0;
Repeat
inc(i);
BlockRead(f,a[i],buffer{*64},result); Writeln(buffer=result);
                                printrec(i);
Until EoF(f);
Close(f);
End;
 
BEGIN
Buffer:=sizeof(a[1]); {Вычисляем размер блока данных под одну запись}
{writeln(buffer);}
Assign(f,FileName);
{Rewrite(f); close(f);   AddRec; }
ReadRec;
 Writeln('Are You SURE???');
ReadLn;
END.

Всего записей: 348 | Зарегистр. 27-04-2006 | Отправлено: 12:11 10-12-2010 | Исправлено: FXPELIVE, 12:04 19-12-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru