![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Организация работы с последовательными файламиСодержание книги Поиск на нашем сайте
Под последовательными файлами понимают такие файлы, в которых искать необходимую информацию можно только последовательно читая компоненты файла, начиная с начала файла, а записывать новые компоненты только в конец файла. Причем из файла можно либо только читать информацию, либо только записывать информацию. В последовательных файлах не существует понятия номер компонента файла. Поэтому при работе с последовательными файлами можно использовать все процедуры и функции, определенные для файлов прямого доступа, за исключением процедуры установки на компонент файла seek, функций, связанных с определением номера и количества компонентов filesize и filepos, процедуры усечения файла truncate. Разработка комплекса программ СУБД Комплекс программ системы управления базами данных предназначен для создания, ведения и использования баз данных пользователями. Программы – это реализация функций, возложенных на СУБД. В простейшем случае база данных хранится в виде файла прямого доступа. В качестве примера базы данных возьмем базу данных с информацией об учащихся: - фамилия (строка из 20 символов); - дата рождения (день, месяц, год); - год поступления в учебное учреждение (целое без знака); - средний балл за период обучения (вещественное число). База данных хранится в файле прямого доступа, компонентами файла являются данные типа запись: type tdata=record d:1..31; m:1..12; g:word end;
{тип компонента файла} tinfstud=record fam:string[20]; dr:tdata; gp:word; sb:real end;
{файловый тип} tfileinfstud=file of tinfstud; Реализуем следующие функции базы данных: - создание БД (создание файла прямого доступа); - просмотр БД на экране (вывод на экран содержимого файла прямого доступа); - сортировка БД (сортировка записей файла прямого доступа по какому-то полю записи); - выборка из БД (поиск и выборка информации из файла с БД и создание нового файла прямого доступа с выбранными записями). Обычно каждая функция БД реализуется в виде отдельной программы, выбор необходимой пользователю функции реализуется с помощью программы-меню. В данном примере реализуем только функции БД в виде отдельных программ и определим технологию работы с ними. Все описания поместим в отдельный текстовый файл (дадим ему имя FILE0.PAS), который будем подключать к тексту каждой программы с помощью директивы компилятору – включить текстовый файл {$I <имя файла>}. В этом же текстовом файле разместим подпрограмму проверки существования файла, так как эта подпрограмма потребуется во всех программах комплекса.
Разработка подпрограммы для проверки существования файла Спецификация 1. Назначение: проверка существования физического файла вне зависимости от его вида 2. Имя: FS 3. Вид: процедура 4. Перечень параметров: Таблица 24.3. Перечень параметров
Метод решения В основу метода решения положено условие выполнения процедуры открытия существующего файла для работы reset(<илф>). Если физический файл соответствующий заданному логическому существует, то файл открывается для работы, если отсутствует, то возникает ошибка ввода-вывода. Поэтому метод решения следующий: 1) связываем физический и логический файлы assign(f, name), где f – имя логического нетипизированного файла. Нетипизированный файл позволяет сделать подпрограмму независимой от вида файла (но с таким файлом нельзя выполнять стандартные операции чтения и записи); 2) отключаем систему прерываний по ошибкам ввода-вывода {$I-}; 3) выполняем вызов процедуры reset(f); 4) включаем систему прерываний по ошибкам ввода-вывода {$I+}; 5) анализируем наличие ошибки при выполнении последней операции ввода-вывода. Это может быть только одна ошибка – перед выполнением процедуры reset физический файл, соответствующий логическому отсутствует. Если ошибка есть, то формируем результат функции false. Если ошибки нет, то формируем результат функции true и демонополизируем файл Информационная модель Таблица 24.4. Информационная модель
Текст подпрограммы function fs(name:string):boolean; var f:file; begin assign(f,name); {$I-} reset(f); {$I+} if ioresult<>0 then fs:=false else begin fs:=true; close(f) end end; Реализация функции создания БД Постановка задачи Создать файл прямого доступа с информацией об учащихся. Имя создаваемого физического файла определяет пользователь. Компоненты файла представляют собой записи типа tinfstud.
Метод решения 1) получить от пользователя имя физического файла (namebd) для хранения базы данных; 2) если файл с таким именем существует, то сообщить об этом пользователю и прекратить выполнение программы 3) связать логический и физический файлы assign(fbd,namebd); 4) открыть файл прямого доступа в режиме создания нового файла 5) повторять до ответа пользователя не продолжать создание файла: a) ввод информации об очередном студенте (ввод записи r); b) запись информации в файл write(fbd,r); c) получение ответа на запрос – продолжать создание базы данных?[Y/N] 6) закрыть файл для работы close(fbd). Предложенный метод можно использовать и для создания последовательных файлов, так как никаких особенностей файлов прямого доступа не используется. Информационная модель Таблица 24.5. Информационная модель
Программная модель {программа создания базы данных (файл Z1.pas)} program z1; {$I FILE0.PAS} var otvet:char; begin writeln('Введите имя создаваемого файла с базой данных'); readln(namebd); if fs(namebd) then begin writeln('ОШИБКА!!! Файл с именем ',namebd,' уже существует'); halt end; assign(fbd,namebd); rewrite(fbd); repeat writeln('Введите информацию об очередном студенте?'); with r do begin writeln('Фамилия?'); readln(fam); writeln('День, месяц, год рождения, год поступления, средний балл ', 'для студента ',fam); readln(dr.d, dr.m, dr.g, gp, sb); write(fbd,r) end; writeln('Продолжать?[y/n/]'); readln(otvet) until (upcase(otvet)='N') or (otvet='т') or (otvet='Т'); close(fbd) end.
|
|||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-06-26; просмотров: 432; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.68.181 (0.008 с.) |