КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
While true do
End. Begin while true do With recbooks do While true do Begin writeln('укажите ключ обрабатываемой записи'); readln(k); if k=9999 then Begin close(booksfile); exit; end; seek(booksfile,k-1); with recbooks do Begin read(booksfile,recbooks); writeln(nomer:5,avtor:16,nazv:15,index:4); end; end; end; Написать процедуру корректировки файла произвольного доступа в которой будут предусмотрены режимы корректировки: 1. Замена всех полей компоненты. 2. Расширение файла в пределах отформатированного пространства. все это делает процедура Кооr, записанная в c:\turbo\koor.pas. Procedure Koor; Var nevavtor:string[16]; nevnazv:string[30]; nevindex:integer; Begin writeln('дайте имя файла'); readln(filname); assign(booksfile,filname); reset(booksfile); Begin writeln('сколько записей будете корректировать?'); readln(k); for i:=1 to k do Begin writeln('дайте номер корректируемой записи'); readln(k1); nevavtor:=' '; nevnazv:=' '; nevindex:=0; writeln('введите имя автора'); readln(nevavtor); writeln('введите название книги'); readln(nevnazv); writeln('введите индекс'); readln(nevindex); avtor:=nevavtor; nazv:=nevnazv; index:=nevindex; seek(booksfile,k1-1); write(booksfile,recbooks); end; end; close(booksfile); end; В программе Prim 50, с помощью меню рассматриваются работа с файлами произвольного доступа во всех режимах; форматирование файла, его загрузка, обработка, корректировка. Здесь следует заметить, что программа универсальна в том смысле, что может работать с различными файлами. Program Prim50; Type books=record nomer:integer; avtor:string[16]; nazv:string[30]; index:integer; end; Var booksfile:file of books; recbooks:books; razmer,k,k1,i,reg:integer; filname:string[12]; {$i c:\turbo\form.pas} {$i c:\turbo\zagruz.pas} {$i c:\turbo\obrab.pas} {$i c:\turbo\koor.pas} Begin writeln('укажите режим'); writeln('1: форматизация'); writeln('2: загрузка по ключу'); writeln('3: обработка по ключу'); writeln('4: корректировка'); writeln('5: выход из программы'); readln(reg); case reg of 1:form; 2:zagruz; 3:obrab; 4:koor; 5:halt; end; end; 10.6. Текстовые файлы
Компонентами текстовых файлов являются строки. Длина строки – 0-255 символов. Каждая строка завершается маркером строки, а файл – маркером конца файла. Для описания файловых переменных текстового типа используется зарезервированное слово text. Var instrl, instr2: text; dokulnent: text; Для работы с текстовыми файлами используются упомянутые выше функции и процедуры assign, rewrite, reset, close, read, readln, write, writeln, seekeof, однако имеются и специфические функции и процедуры: Append (fv) – открыть текстовый файл и установить указатель на маркер конца файла. Eoln (fv) – возвратить true, если указатель файла достиг маркера конца строки, в противном случае, возвратить значения false. Seekeoln(fv) – функция, аналогичная предыдущей, но указатель проходит все пробелы и знаки табуляции. возвращает true при достижении маркера конца строки. Seekeof(fv) – возвращает true, если указатель файла находится на маркере конца файла. Организация текстового файла производится по схеме: 1) объявляется файловая переменная текстового типа; 2) присваивается файлу имя (assign); 3) открывается файл (rewrite); 4) подготавливается строка - компонента для записи в файл; 5) записывается строка - компонента в файл (writeln); 6) повторяются п. 4, 5 столько раз, сколько нужно; 7) закрывается файл. Доступ к компонентам текстового файла: 1) присвоить файлу имя (assign); 2) открыть файл для чтения (reset); 3) прочитать компоненту-строку (readln); 4) обработать компоненту-строку (например вывести на экран); 5) повторить п. 3, 4 столько раз, сколько нужно. 6) закрыть файл (close); Расширение текстового файла производится путем добавления в конец файла компонент-строк: 1) присвоить имя файлу (assign); 2) установить маркер на конец файла (append); 3) подготовить строку для записи; 4) записать строку (writeln); 5) повторить нужное количество раз п. 3, 4. 6) закрыть файл (close). Замечание. При записи файлов прямого и последовательного доступа, созданных пользователем, содержимое компонент упаковывается, и поэтому посмотреть их в vc или nc по f3 или f4 нельзя, а текстовый файл не упаковывается, и его можно просмотреть. procedure sozdt; Begin writeln('дайте имя создаваемому текстовому файлу'); readln(filename); assign(stro,filename); rewrite(stro); Begin writeln('напишите содержимое строки'); readln(s); if s='zzz' then {'zzz' – признак окончания ввода } Begin close(stro); exit; end; writeln(stro,s); end;end; procedure obrt; Begin writeln('дайте имя обрабатываемого файла'); ; readln(filename); assign(stro,filename); reset(stro); repeat readln(stro,s); writeln(s); until seekeof(stro); close(stro); exit; end; procedure rasht; Begin writeln('укажите имя корректируемого файла'); readln(filename); assign(stro,filename); append(stro);
Дата добавления: 2014-12-17; Просмотров: 384; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |