Смекни!
smekni.com

Программирование на языке высокого уровня 3 (стр. 2 из 3)

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. Окно поиска информации

Граф перехода между элементами интерфейса.

Вход