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 |
|