Основы программирования на языке Паскаль

Procedure form;

Begin writeln ('дайте имя форматизируемому файлу');

readln(filname);

assign(booksfile, filname);

rewrite(booksfile);

with recbooks do

Begin writeln ('насколькозаписейформатироватьфайл?');

readln(razm

er);

for i:=l to razmer do

Begin nomer:=i; avtor:=' '; index:=0; nazv:=' ';

write ( books file, recbooks)

end; end; writeln(фopматизация ',razmer,' записьвыполнена');

close(booksflle); end;

Напишем процедуру загрузки (procedure zagruz), которая будет заменять поля фиктивных записей реальными значениями, и запишем ее в c:\turbo\zagruz.pas;

procedure zagruz; Begin writeln('дать имя загружаемого по ключу файла');

readln(filname);

assign(booksfile,filname); reset(booksfile);

writeln('сколько записей будете вводить?'); readln(k);

with recbooks do

Begin for i:=1 to k do

Begin writeln('введитеномер'); readln(nomer);

writeln('введитеимяавтора'); readln(avtor);

writeln('введите название книги'); readln(nazv);

writeln('введитеиндекс'); readln(index);

seek(booksfile,nomer-1); { номера компонент начинаются с 0 }

write(booksfile,recbooks); end; end;

close(booksfile); end;

Оформить процедуру прямого доступа по ключу к компонентам файла и выдачу их на экран монитора, записать ее в C:\TURBO\OBRAB.PAS;

Procedure Obrab;

Begin writeln('дайтеимяфайла'); readln(filname);

assign(booksfile,filname); reset(booksfile);

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

withrecbooksdo

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 while true do

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;

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

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23  24  25  26  27  28  29  30 
 31 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы