Смекни!
smekni.com

База данных DVD–фильмов (стр. 1 из 4)

Введение

Дорогой Александр Григорьевич если вы читаете это введение, значит я наконец – то закончил свой курсовой проект. Он называется «База данных DVD – фильмов». Скорее всего, он ни кому, ни будет, нужен и денег я на нем не заработаю. Это очень печально. Хотя если взглянуть на это с другой стороны, то почти у каждого человека в этом мире есть своя коллекция DVD - фильмов и мысль, что эта программа может им пригодиться, меня очень радует. Как говорится, нет худа, без добра. Программа очень проста в использовании и ест очень мало ресурсов. Работает почти на любой операционной системе и на любом компьютере. Теперь поговорим о самой программе. Она многофункциональна. Занесенную информацию о DVD – фильмах можно изменять, удалять и редактировать. Информация о дисках записывается в базу данных по пяти полям: название диска, цена, год выпуска, фамилия режиссера, кинокомпания, которая создавала фильм. Также можно сортировать диски по этим же полям. В общем, она настолько проста, что даже ребенок может в ней разобраться. А самое главное, что программа написана на русском языке да еще русским студентом третьего курса, АФРГСУ который учится на факультете ИТиР. Как это расшифровывается, я до сих пор не могу запомнить!!!


1. Общая часть

1.1 Краткое описание работы

При запуске программы отображается главное окно, в котором имеются четыре кнопки и область обработки информации, управляемые кнопками.

1. Кнопка вывода информации.

Вся информация, находящаяся в файле и выводится в данную таблицу.

2. Кнопка поиска информации.

При нажатии кнопки поиск отображается окно поиска. Поиск происходит по пяти параметрам. Выбираем один из параметров, вводим данные и начинается поиск, найденные данные выводятся в этом же окне в таблице.

3. Кнопка удаления.

Удаление происходит следующим образам: выбираем курсором, какой DVD – фильм вы хотите удалить и следовательно нажимаем кнопку удаление.

4. Область редактирования.

Для редактирования одного из полей, необходимо ввести в первое поле его название из списка, выбрать из выпадающего списка параметр для изменения и во второе поле ввести новую информацию. Обновленная информация появляется мгновенно в таблице.

5. Кнопка добавления информации.

Отображается окно добавления информации. Информация также добавляется по пяти полям. Добавленная информация мгновенно выводится в главном окне.


1.2 Выбор языка и среды программирования

Данная программа разрабатывалась в среде программирования Delphi. Она содержит богатый набор различных типов данных и компонентов, облегчающих создание программного продукта под MS Windows.

Краткость языка, легкость программирования на нем, мобильность написанных программ, возможность эффективной реализации и пригодность с точки зрения формальных методов отладки программ обеспечили языку Object Pascal и конкретно среде Delphi успех в тех делах, для которых он предназначался.


2. Основная часть

2.1 Структура данных

type disk=record

name:string[50];

reg: string[30];

cincom: string[30];

stoim:integer;

year:integer;

end;

Тип записи disk является представлением информации: stoim - стоимость DVD - фильма, name -название DVD – фильма, reg – фамилия режиссера, cincom – название кинокомпании, year – год выхода фильма на DVD.

tdvd=array[1..300] of disk

Тип tdvd является одномерным массивом, содержащим 300 элементов типа disk , т.е. этот массив содержит информацию о 300ах DVD - фильмах, полученную в результате заполнения файла с информацией.

recordfile=file of disk

Типизированный файл «recordfile» содержит записи типа disk , т.е. содержит исходную информацию о каждом DVD - фильме .

Описание файлов

При работе программа использует постоянный файл с информацией

‘db_ disk.db’ – файл с исходной информацией;

2.2 Структурные элементы программы

Описание глобальных переменных используемых в модуле kursovik.pas приведено в таблице 1.

Таблица 1. Глобальные переменные.

Идентификатор Тип Назначение
n integer Переменная – счётчик
m integer Переменная – счётчик
dvdfile string Название файла
f recordfile Файл с записями
g recordfile Файл с записями
Form1 Tform1 Идентификатор формы
but integer Определяет нажатую кнопку при появлении сообщения
h HWND Дескриптор окна
horizon integer Номер строки в таблице
k integer Проверка существования телефона

Таблица 2. Константа.

Идентификатор Значение Назначение
detect ‘savedvd\’ Путь к файлам необходимым для работы программы

Таблица 3. Глобальные переменные модуля Unit2.рas.

Идентификатор Тип Назначение
Form2 Tform2 Идентификатор формы

Таблица 3. Глобальные переменные модуля unit search.pas

Идентификатор Тип Назначение
Form4 Tform4 Идентификатор формы
dvdfile string Название файла
n integer Переменная – счётчик
f recordfile Файл с записями
g recordfile Файл с записями

Таблица 4. Глобальные переменные модуля unit Input.pas

Идентификатор Тип Назначение
Form3 Tform3 Идентификатор формы
dvdfile string Название файла
n integer Переменная – счётчик
k integer Переменная – счётчик
f recordfile Файл с записями
g recordfile Файл с записями

Описание процедур

Модуль kursovik.pas

procedure tform1.clearlist;

Данная процедура очищает таблицу вывода информации.

procedure tform1.vivod (dvdfile:string);

Данная процедура осуществляет вывод данных записанных в файл. Параметр dvdfile – директория файла.

Алгоритм:

1. Привязываем к файловой переменной “f” переменную dvdfile и открываем на чтение.

2. Если файл обнаружен, то в цикле, до тех пор, пока не достигнут конец файла, запускаем счётчик и выводим в ячейки таблицы данные из файла. Если счётчик равен нулю, следовательно, файл пустой, запускается процедура clearlist.

3. В случае не обнаружения файла, он создаётся в необходимой директории.

Таблица 5. Локальные переменные.

Идентификатор Тип Назначение
s disk Запись
f1 recordfile Файл с записями
count integer Номер по списку

procedure tform1.deletef (horizon:integer);

Данная процедура осуществляет удаление записи из фала.

Алгоритм.

1. В параметр d передаётся введённая модель телефона.

2. Открываем на чтение основной файл “db_disk.db” на чтение и создаём временный “new.db”. Перезаписываем его.

3. До тех пор, пока не достигнут конец файла, читаем записи и если поле записи обозначающей имя не равно переменной “d”, пишем во временный файл все наши записи. Удаляем основной файл и переприсваиваем его директорию временному файлу.

Таблица 5. Локальные переменные.

Идентификатор Тип Назначение
el tdvd Запись
f1 recordfile Файл с записями

procedure tform1.sort_1(dvdfile: string);

procedure tform1.sort_2(dvdfile: string);

procedure tform1.sort_3(dvdfile: string);

procedure tform1.sort_4(dvdfile: string);

procedure tform1.sort_5(dvdfile: string);

Процедуры, перечисленные выше почти одинаковы различны только по полям сортировки Во всех процедурах используется алгоритм сортировки методом вставки. Параметр dvdfile – директория файла.

Таблица 6. Локальные переменные.

Идентификатор Тип Назначение
f file of disk Типизированный файл с записями
q file of disk Типизированный файл с записями
c integer Счётчик записей
i integer Элемент массива
n integer Элемент массива
buf disk Запись
el tdvd Массив с записями

procedure Tform1.editzap;

Данная процедура осуществляет редактирование данных записанных в файл.

Алгоритм.

1. Открываем на чтение основной файл с информацией и в переменную name заносим название dvd, один из параметров которого нам необходимо заменить.

2. Пока нет конца файла, запускаем счётчик n. Сравниваем введённое название, с имеющимися в dvd. При совпадении присваиваем переменной m значение счётчика. Переменная m будет отвечать за позицию записи в фале. Далее переменной new присваиваем данные, которые надо записать в вместо исходных.

3. Переходим с помощью функции seek на позицию m-1, то есть над необходимой записью. Читаем из файла запись.

4. Затем в case comboBox3.ItemIndex выбираем поле которое необходимо заменить и присваиваем ему значение переменной new. Если параметр не символьный переводим переменную new в цифровой формат при помощи функции.

5. Перезаписываем запись в файле. Закрываем его и выводим на экран при помощи процедуры vivod.

Таблица 7. Локальные переменные.

Идентификатор Тип Назначение
f1 recordfile Временный файл с записями
q disk Запись
s disk Запись
new string Новые введённые данные
name string Введённое название dvd

procedure TForm1.FormCreate(Sender: TObject);

Данная процедура вызывается при создании окна и запускает процедуру nanol. Процедура содержит входную переменную Sender - тип tobject, этот параметр определяет, какой объект программы вызывает данную процедуру.