Основные данные о работе
| Версия шаблона |
2.1 |
| Филиал |
Современная Гуманитарная Академия филиал в г. Сызрань |
| Вид работы |
Курсовая работа |
| Название дисциплины |
Программирование на языке высокого уровня |
| Тема |
создайте программу ведения базы данных личной видеотеки |
| Фамилия студента |
Вайс |
| Имя студента |
Алексей |
| Отчество студента |
Валентинович |
| № контракта |
03905100601001 |
Содержание
Введение.... …………………………………………………………………………..3
Основная часть..…. .……………………….…………………………………....…4
Описание процедур.…………………………………………………………..8
Граф переходов между элементами интерфейса………..…………….…...18
Заключение….………………………………………………………………….……19
Глоссарий…………………………………………………………………………….20
Список используемых источников…………………………………………………22
Приложения ..….………………………………………………………….…………23
Введение
Курсовой проект по теме: «Создать программу ведения базы данных личной видеотеки».
База данных личной видеотеки очень проста в использовании она использует мало ресурсов, работает практически на любой операционной системе и также на любом компьютере. Программа многофункциональна, внесенную информацию о видео фильмах можно как изменять, так удалять и редактировать. Все данные о дисках записывается в базу данных по пяти полям: название диска, год выпуска, кинокомпания, фамилия режиссера и цена. В этой программе диски можно сортировать по этим же полям, она написана на русском языке, что очень удобно в обращение .
Программа разрабатывалась в среде программирования Delphi.Среда Delphi представляет собой интегрированную оболочку разработчика, в которую входит набор специализированных программ, ответственных за разные этапы создания готового приложения. Она содержит большой набор различных типов данных и компонентов, облегчающих создание программного продукта под Windows. Краткость языка, легкость программирования на нем, мобильность написанных программ, возможность эффективной реализации и пригодность с точки зрения формальных методов отладки программ обеспечили языку ObjectPascal и конкретно среде Delphi успех в тех делах, для которых он предназначался. Сегодня программирование превратилось из искусства в ремесло, вряд ли можно стать профессиональным разработчиком, не изучив внутреннее устройство Windows или структуру компонентов VCL и принципы оптимизации программ, однако такие знания сегодня отходят на второй или третий план. Работодателей интересует прежде всего скорость и качество создания программ в коллективе, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объемы рутинной работы по подготовке приложений, а также согласовывать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей. Возможности Delphi полностью отвечают подобным требованиям и подходят для создания систем любой сложности. Система Delphi позволяет писать как крохотные программы и утилиты для персонального использования, так и корпоративные системы, работающие с базами данных на разных платформах, интернет - решения и коммерческие игры, распределенные ССЖ/СОЙВД/ЗОЛР - приложения и всевозможные Web-службы. При этом обеспечивается совместимость приложений при выходе новых версий Delphi — как друг с другом на уровне исходных текстов, так и с модифицированными версиями стандартных протоколов и технологий благодаря библиотеке независимых и легко настраиваемых компонентов.
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
1 Описание работы программы
При запуске программы отображается главное окно, в котором имеются четыре кнопки и область обработки информации, управляемые кнопками.
Кнопка вывода информации.
Вся информация, находящаяся в файле и выводится в данную таблицу.
Кнопка поиска информации.
При нажатии кнопки поиск отображается окно поиска. Поиск происходит по пяти параметрам. Выбираем один из параметров, вводим данные и начинается поиск, найденные данные выводятся в этом же окне в таблице.
Кнопка удаления.
Удаление происходит следующим образам: выбираем курсором, какой DVD – фильм вы хотите удалить и следовательно нажимаем кнопку удаление.
Область редактирования.
Для редактирования одного из полей, необходимо ввести в первое поле его название из списка, выбрать из выпадающего списка параметр для изменения и во второе поле ввести новую информацию. Обновленная информация появляется мгновенно в таблице.
Кнопка добавления информации.
Отображается окно добавления информации. Информация также добавляется по пяти полям. Добавленная информация мгновенно выводится в главном окне.
2 Структура данных
Описание типов
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 - фильмах, полученную в результате заполнения файла с информацией.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
recordfile
=
file
of
disk
Типизированный файл «recordfile
» содержит записи типа disk
, т.е. содержит исходную информацию о каждом DVD - фильме .
Описание файлов
При работе программа использует постоянный файл с информацией
‘
db_
disk.
db’
– файл с исходной информацией.
Структурные элементы программы
Таблица 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 |
Идентификатор формы |
Таблица 4. Глобальные переменные модуля unit search.pas
| Идентификатор |
Тип |
Назначение |
| Form4 |
Tform4 |
Идентификатор формы |
| dvdfile |
string |
Название файла |
| n |
integer |
Переменная – счётчик |
| f |
recordfile |
Файл с записями |
| g |
recordfile |
Файл с записями |
Таблица 5. Глобальные переменные модуля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
– директория файла.
Алгоритм:
Привязываем к файловой переменной “
f
”
переменную dvdfile
и открываем на чтение. Если файл обнаружен, то в цикле, до тех пор, пока не достигнут конец файла, запускаем счётчик и выводим в ячейки таблицы данные из файла. Если счётчик равен нулю, следовательно, файл пустой, запускается процедура clearlist
.
В случае не обнаружения файла, он создаётся в необходимой директории.
Таблица 6. Локальные переменные.
| Идентификатор |
Тип |
Назначение |
| s |
disk |
Запись |
| f1 |
recordfile |
Файл с записями |
| count |
integer |
Номер по списку |
procedure tform1.deletef (horizon:integer);
Данная процедура осуществляет удаление записи из фала.
Алгоритм:
В параметр d
передаётся введённая модель телефона.
Открываем на чтение основной файл “
db
_
disk
.
db
”
на чтение и создаём временный “new
.
db
”
. Перезаписываем его.
До тех пор, пока не достигнут конец файла, читаем записи и если поле записи обозначающей имя не равно переменной “
d
”
, пишем во временный файл все наши записи. Удаляем основной файл и переприсваиваем его директорию временному файлу.
Таблица 7. Локальные переменные.
| Идентификатор |
Тип |
Назначение |
| 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
– директория файла.
Таблица 8. Локальные переменные.
| Идентификатор |
Тип |
Назначение |
| f |
file of disk |
Типизированный файл с записями |
| q |
file of disk |
Типизированный файл с записями |
| c |
integer |
Счётчик записей |
| i |
integer |
Элемент массива |
| n |
integer |
Элемент массива |
| buf |
disk |
Запись |
| el |
tdvd |
Массив с записями |
procedure
Tform
1.
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
.
procedure
TForm
1.
Button
7
Click
(
Sender
:
TObject
);
Данная процедура закрывает полностью программу. При нажатии на кнопку отображается окно подтверждения.
Расчёт объёма оперативной памяти
Для определения потребляемой памяти, я использовал стандартный диспетчер задач Windows. Исходя из данных показанных в нём, в процессе работы программа максимально потребляет 5000 кб.
Интерфейс программы
При запуске программы появляется окно, с дружественным интерфейсом рис. 1. Все операции выполняются в данном окне. При вызове информации о программе в пункте меню появляется окно, содержащее необходимую информацию рис. 2. Функция добавления изображена на рис. 3. Функция поиска изображена на рис. 4.

Рисунок 1. Главное окно

Рисунок 2.. Информация о программе.

Рисунок 3. Окно добавления новой информации.

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

Вход

Главное окно
 
Редактирование

Вывод Удаление
списка


 
О программе Добавление Поиск
Рисунок 5. Граф перехода между элементами интерфейса.
Минимальные системные требования
1.Процессор: 170 MHz;
2. Оперативная память: 5000kb;
3. Физическая память на жестком диске: 1400MB свободного места;
4. Видеокарта с поддержкой VGA;
5. Устройства ввода/вывода данных: клавиатура, монитор, мышь.
Программа «личная видеотека» очень проста в использовании и использует очень мало ресурсов. Работает почти на любой операционной системе и на любом компьютере. Программа многофункциональна. Занесенную информацию о DVD– фильмах можно изменять, удалять и редактировать. Информация о дисках записывается в базу данных по пяти полям: название диска, цена, год выпуска, фамилия режиссера, кинокомпания, которая создавала фильм. Также можно сортировать диски по этим же полям, она написана на русском языке. Процесс создания этого приложения в Delphiучит работать с процедурами, с записями и с циклами.
Очень простой интерфейс позволяет работать в программе даже ребенку, и старшему поколению, которому очень трудно обращаться с новыми технологиями, в том числе и компьютерами.
| № п/п |
Понятие |
Определение |
| 1 |
База данных |
поименованная, целостная, единая система данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных |
| 2 |
Банк данных |
база данных, объединенная с системой управления базой данных |
| 3 |
Данные |
последовательность элементарных символов, цифр или букв, являющихся значением некоторого атрибута |
| 4 |
Логическое проектирование баз данных |
процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий |
| 5 |
Сетевая схема |
логическая организация всей базы данных в целом (с точки зрения администратора базы данных), которая включает определение имени базы данных, типа каждой записи и компонентов записей каждого типа |
| 6 |
Система управления базами данных |
специальный комплекс программ, осуществляющий централизованное управление базой данных |
| 7 |
Подсхема |
часть базы данных, как она видится пользователям или приложениям |
| 8 |
Информация |
любые сведения о каком-либо событии, процессе и т.п., являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения и использования |
| 9 |
Централизованная база данных |
база данных, хранящаяся в памяти одной вычислительной системы |
| 10 |
Распределенная база данных |
состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети |
| 11 |
Хранимая процедура |
это программа, которая обрабатывает участок базы данных и хранится в базе данных. |
| 1. |
Михаил Фленов, «Библия Delphi», Санкт Петербург «БХВ- Петербург» 2004 год, 882 стр. |
| 2. |
Владимир Гофман, Анатолий Хамоненко, «Delphi быстрый старт», Санкт Петербург «БХВ-Петербург» 2003 год, 280 стр. |
| 3. |
Евгений Марков, Петр Дарахвелидзе, «Программирование в Delphi 7», Санкт Петербург «БХВ-Петербург» 2003 год, 780 стр. |
| 4. |
Поган А.М., Царенко Ю.А., “Программирование в Delphi”, Москва «ЭКСМО» 2006 год, 309 стр. |
| 5. |
Бобровский А. , “Delphi 5. Учебный курс.” , Санкт – Петербург, Москва, Харьков, Минск, «ЗАО Питербук» , 2004 год, 639 стр. |
| 6. |
TurboPascal в задачах и программах. – СПб.: БХВ – Петербург,, 2002. – 560 с.: ил |
| 7. |
TurboPascal / С.А. Немнюгин. – СПб: Издательство «Питер», 2000. – 496 с.: ил. |
| 8. |
http://www.wikipedia.com/ru |
| 9. |
Власов А.Я. Справочник по программированию на ObjectPascal. Киев, 2001г. |
| 10. |
Культин Н. Программирование на ObjectPascal. Киев, 1998 |
| Приложение А |
 |
| Приложение Е |
 |
|