procedure tform1.sort_4(dvdfile: string);
procedure tform1.sort_5(dvdfile: string);
Процедуры, перечисленные выше почти одинаковы различны только по полям сортировки Во всех процедурах используется алгоритм сортировки методом вставки. Параметр dvdfile – директория файла.
Таблица 8. Локальные переменные.
Идентификатор | Тип | Назначение |
f | file of disk | Типизированный файл с записями |
q | file of disk | Типизированный файл с записями |
c | integer | Счётчик записей |
i | integer | Элемент массива |
n | integer | Элемент массива |
buf | disk | Запись |
el | tdvd | Массив с записями |
procedureTform1.editzap;
Данная процедура осуществляет редактирование данных записанных в файл.
Алгоритм.
Открываем на чтение основной файл с информацией и в переменную nameзаносим название dvd, один из параметров которого нам необходимо заменить.
Пока нет конца файла, запускаем счётчик n. Сравниваем введённое название, с имеющимися в dvd. При совпадении присваиваем переменной mзначение счётчика. Переменная mбудет отвечать за позицию записи в фале. Далее переменной newприсваиваем данные, которые надо записать в вместо исходных.
Переходим с помощью функции seekна позицию m-1, то есть над необходимой записью. Читаем из файла запись.
Затем в case comboBox3.ItemIndex выбираем поле которое необходимо заменить и присваиваем ему значение переменной new. Если параметр не символьный переводим переменную newв цифровой формат при помощи функции.
Перезаписываем запись в файле. Закрываем его и выводим на экран при помощи процедуры vivod.
Таблица 9. Локальные переменные.
Идентификатор | Тип | Назначение |
f1 | recordfile | Временный файл с записями |
q | disk | Запись |
s | disk | Запись |
new | string | Новые введённые данные |
name | string | Введённое название dvd |
procedure TForm1.FormCreate(Sender: TObject);
Данная процедура вызывается при создании окна и запускает процедуру nanol. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.ComboBox2Change(Sender: TObject);
В данной процедуре осуществляется выбор и запуск необходимой процедуры сортировки, путём нажатия одного из пунктов выпадающего списка ComboBox. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N8Click(Sender: TObject);
Данная процедура завершает работу программы из меню в случае положительного ответа на появляющееся сообщение. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N7Click(Sender: TObject);
Данная процедура выводит информацию из файла при помощи при помощи процедуры vivod из меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N14Click(Sender: TObject);
procedure TForm1.N15Click(Sender: TObject);
procedure TForm1.N16Click(Sender: TObject);
procedure TForm1.N17Click(Sender: TObject);
procedure TForm1.N18Click(Sender: TObject);
Процедурыприведённыевышеотвечаютзазапускпроцедурсортировкиsort_1(derect+'db_disk.db'),sort_2(derect+'db_disk.db'), sort_3(derect+'db_disk.db')sort_4(derect+'db_disk.db'), sort_5(derect+'db_disk.db'), изменю, соответственно. Процедуры содержат входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N5Click(Sender: TObject);
Данная процедура отвечает за запуск процедуры удаления deletefи вывод обновлённой информации с помощью процедуры vivod из меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N4Click(Sender: TObject);
Данная процедура отвечает за добавление информации в файл с помощью процедуры input из меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N2Click(Sender: TObject);
Данная процедура запускает процедуру вывода vivod, путём нажатия на необходимый пункт во всплывающем меню над областью таблицы. Процедура содержит входную переменную Sender- тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N10Click(Sender: TObject);
procedure TForm1.N11Click(Sender: TObject);
procedure TForm1.N12Click(Sender: TObject);
procedure TForm1.freg1Click(Sender: TObject);
procedure TForm1.fcincom1Click(Sender: TObject);
Процедуры, приведенные выше, сходны по своему принципу. Каждая из них вызывает конкретную процедуру сортировки (sort_1,sort_2,sort_3,sort_4,sort_5), путём нажатия на пункт, всплывающего меню над областью таблицы. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N9Click(Sender: TObject);
Данная процедура запускает процедуру очистки списка clearlist, путём нажатия на необходимый пункт во всплывающем меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N23Click(Sender: TObject);
Данная процедура запускает процедуру очистки списка clearlist, путём нажатия на необходимый пункт в меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N6Click(Sender: TObject);
Данная процедура запускает процедуру редактирования redactorиз меню. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N21Click(Sender: TObject);
Данная процедура отображает окно с информацией о программе.
procedure tform3.input(var f:recordfile; var dvdfile:string);
Данная процедура осуществляет запись данных в файл.
Параметр “f” – типизированный файл типа recordfile. Dvdfile – деректория файла.
Алгоритм:
Привязываем к файловой переменной “g” временный файл derect+'buffer.db' и перезаписываем его. Привязываем к файловой переменной “f” переменную dvdfile и открываем на чтение.
Если в файле находится что-либо, копируем содержимое “f” в “g” и закрываем “f”, если нет, перезаписываем и закрываем “f”.
Присваиваем переменным записей введенные поля.
Проверяем наличие введённого dvd в файле, путем сравнения названия введённой диска с уже находящимися в файле в цикле достижения конца файла. Если поля равны, присваиваем переменной k значение 1, если нет, то оставляем по умолчанию равной нулю.
Далее проверяем значение переменой k. Если k=1, то выводится сообщение о том что данный диск существует и запись не осуществляется, если иначе, то происходит запись в файл.
В конце закрываем “g” и удаляем “f”. Переприсваиваем директорию dvdfileпеременной “g”. И выводим обновлённый список с помощью процедуры vivod.
Таблица 10. Локальные переменные.
Идентификатор | Тип | Назначение |
s | disk | Запись |
q | disk | Запись |
procedure tform1.search_1(dvdfile:string; var g:recordfile);
procedure tform1.search_2(dvdfile :string; var g:recordfile);
procedure tform1.search_3(dvdfile:string; var g:recordfile);
procedure tform1.search_4(dvdfile:string; var g:recordfile);
procedure tform1.search_5(dvdfile:string; var g:recordfile);
Процедуры, приведены выше, почти одинаковы и различается лишь поле, по которому происходит поиск. Во всех процедурах, кроме второй, на экран выводится только те записи, поля которых полностью совпадают, с введёнными нами данными. В третьей, четвёртой и пятой процедурах список выводится отсортированным по названию модели. Параметр “g” – типизированный файл типа recordfile. Параметр dvdfile – директория файла.
procedure TForm1.Button4Click(Sender: TObject);
Данная процедура отвечает за функцию изменения информации. При нажатии на кнопку курсором вызывается процедура editzap.
procedureTForm1.Button7Click(Sender: TObject);
Данная процедура закрывает полностью программу. При нажатии на кнопку отображается окно подтверждения.
Расчёт объёма оперативной памяти
Для определения потребляемой памяти, я использовал стандартный диспетчер задач Windows. Исходя из данных показанных в нём, в процессе работы программа максимально потребляет 5000 кб.
Интерфейс программы
При запуске программы появляется окно, с дружественным интерфейсом рис. 1. Все операции выполняются в данном окне. При вызове информации о программе в пункте меню появляется окно, содержащее необходимую информацию рис. 2. Функция добавления изображена на рис. 3. Функция поиска изображена на рис. 4.
Рисунок 1. Главное окно
Рисунок 2.. Информация о программе.
Рисунок 3. Окно добавления новой информации.
Рисунок 4. Окно поиска информации
Граф перехода между элементами интерфейса.
Вход