Проектирование и реализация подсистемы учета и контроля для информационной системы "Кинотеатр ООО KAPO Vegas 22"

Разработка AS-IS бизнес-модели кинотеатра. Проектирование архитектуры, интерфейса и приложений информационной системы. Инфологическое и даталогическое моделирование базы данных. Создание средств безопасности и контроля. Автоматизация обработки информации.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.09.2016
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Была реализована база данных в СУБД MySQL, также были реализованы интерфейс, формы и отчеты, безопасность и контроль данных в среде быстрой разработки приложений Embarcadero RAD Studio (RAD) на языке C++ Builder. Были подробно рассмотрены ограничения автоматизации обработки данных в БД.

Заключение

Разработанный проект информационной системы кинотеатра ООО "KAPO Vegas 22" является актуальным и востребованным в связи с необходимостью автоматизации деятельности компаний при помощи информационных систем.

В соответствии с общепринятой моделью жизненного цикла ИС, данная работа полностью включает первый и частично второй этапы. Первый этап - формирование требований - завершен при построении AS-IS бизнес-модели компании в профессиональной системе бизнес моделирования ОРГ-МАСТЕР. В разработанной бизнес-модели перечислены миссия и цели компании, организационно-ролевая структура, процессы и функции, бизнесы, инфраструктура и ресурсы. С помощью ОРГ-МАСТЕР возможно сформировать первичный набор базовых организационных документов компании.

Второй этап включает проектирование инфологической и даталогической модели кинотеатра ООО "KAPO Vegas 22". Построена модель сущность-связь, для обеспечения наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Затем построена даталогическая модель, отражающая логические взаимосвязи между элементами данных безотносительно их содержания и физической организации.

Описанных в данной работе бизнес-модели и бизнес-процессов, а также базы данных для этой же предметной области, разработанной в курсовой работе по дисциплине "базы данных", достаточно для перехода к следующим этапам создания ИС: ввод в эксплуатацию и сопровождение информационной системы.

Список источников литературы

1. Сайт компании "Бизнес Инжиниринг Групп СПб" http://www.big.spb.ru.

2. "Справочные материалы по информационным технологиям. BPWIN", сайт "ITTeach" http://itteach.ru.

3. "AllFusion Process Modeler 7 (BPwin)", "Интерфейс Ltd." http://www.interface.ru.

4. Статья "UML диаграммы в Rational Rose", сайт "CASE-клуб", http://www.caseclub.ru.

5. Статья "Rational Rose, BPwin и другие - аспект анализа бизнес-процессов", "Портал ITeam", http://www.iteam.ru.

6. Статья "ErWin Data Modeler", "Википедия", http://ru.wikipedia.org.

7. Статья "IDEF0", "Википедия", http://ru.wikipedia.org.

8. Статья "IDEF0 - стандарт и методология функционального моделирования", энциклопедия сайта "Corpsite", http://corpsite.ru.

9. Статья "Современные методологии описания бизнес-процессов. Методология IDEF3", журнал "Консультант директора", № 12, Июнь, 2004 г.

10. "Стандарт IDEF3", сайт "Процесс эксперт", http://process.siteedit.ru.

11. Статья "Data flow diagram", "Википедия", http://ru.wikipedia.org.

12. Статья "Oracle", "Краткий обзор коммерческих баз данных", http://network-journal.mpei.ac.ru/.

13. Статья "MySQL", "WIKI-учебник", http://www.webmasterwiki.ru/.

14. Сайт компании "Embarcadero RAD Studio" https://www.embarcadero.com/.

15. Статья "Свойства полей в базе данных", "Студопедия", http://studopedia.ru/.

Приложение 1

Список сокращений

БД - база данных

ИС - информационная система

КИС - корпоративная информационная система

УСД - Унифицированная система документации

ППП - пакет прикладных программ

Цит.- цитируется

С. - страница (не "стр.").

Приложение 2

Техническое задание

1 ОБЩИЕ СВЕДЕНИЯ

Настоящее техническое задание (ТЗ) определяет общие требования к информационной системе в целом.

1.1 ПОЛНОЕ НАИМЕНОВАНИЕ И УСЛОВНОЕ ОБОЗНАЧЕНИЕ СИСТЕМЫ

1.1.1 Полное наименование системы: "Информационная система кинотеатра ООО "KAPO Vegas 22"

Краткое наименование системы: ИСK "KAPO Vegas 22"

1.1.2 Обозначение, присвоенное исполнителем

ISMB.PETELGUZOV

1.2 НАИМЕНОВАНИЕ ПРЕДПРИЯТИЙ РАЗРАБОТЧИКА И ЗАКАЗЧИКА, ИХ РЕКВИЗИТЫ

1.2.1 Наименование Заказчика

Кинотеатр "KAPO Vegas 22"

ЗАКАЗЧИК Кинотеатр "KAPO Vegas 22"

Юридический адрес Заказчика:

Московская обл., Красногорский р-н, г. Красногорск, ул.

Международная д.12 (66-й км. МКАД), ТРК "Vegas.

Телефон: (445)322-90-64

Факс: (445)322-08-33

E-mail: kapo@vegas.ru

1.2.2 Наименование Исполнителя

ООО "Петельгузов Максим Владиславович"

ИСПОЛНИТЕЛЬ ООО "Петельгузов Максим Владиславович"

Юридический адрес Исполнителя:

г. Москва, Митинская улица, дом 15

Телефон: (965) 410-32-40

E-mail: petelguzov_maxim@mail.ru

1.3 ПЕРЕЧЕНЬ ДОКУМЕНТОВ, НА ОСНОВАНИИ КОТОРЫХ СОЗДАЕТСЯ ИС

Основанием для проведения работ по созданию ИСK "KAPO Vegas 22" послужили следующие документы:

Государственный контракт № 93-ГОС/12 от 24 мая 2016 г. на выполнение научно-исследовательской работы для нужд "KAPO Vegas 22" "Разработка концепции информационной системы для Кинотеатра "KAPO Vegas 22"

- Разработка технического задания на создание ИСK "KAPO Vegas 22". Разработка технического проекта на создание ИСK "KAPO Vegas 22"

- Приложение №1 к Государственному контракту № 93-ГОС/12 от 24 мая 2016 г.: Техническое задание на научно-исследовательскую работу.

Разработка ИСK "KAPO Vegas 22" должна осуществляться в соответствии с настоящим документом, а также с учетом требований, изложенных в документах:

- Федеральный Закон Российской Федерации от 8.08.2001 г. №128-ФЗ "О лицензировании отдельных видов деятельности";

- Федеральный закон Российской Федерации от 27.12.2002 № 184-ФЗ "О техническом регулировании";

- Федеральный закон Российской Федерации от 29.07.2004 № 98-ФЗ "О коммерческой тайне";

- Федеральный закон Российской Федерации от 22.10.2004 № 125-ФЗ "Об архивном деле в Российской Федерации";

- Федеральный закон Российской Федерации от 27.07.2006 г. № 152-ФЗ "О персональных данных;

- Федеральный закон от 28 декабря 2010 г. № 390-ФЗ "О безопасности";

- Постановление Правительства Российской Федерации от 26 января 2006 г. № 45 "Об организации лицензирования отдельных видов деятельности";

1.4 ПЛАНОВЫЕ СРОКИ НАЧАЛА И ОКОНЧАНИЯ РАБОТ

Сроки выполнения работ по созданию Технического задания на создание ИСK "KAPO Vegas 22" определяются государственным контрактом.

2. НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ

2.1 ВИД АВТОМАТИЗИРУЕМОЙ ДЕЯТЕЛЬНОСТИ

С помощью ИСK "KAPO Vegas 22" автоматизируется деятельность компании, направленная на работу с клиентами, в частности:

6. Специалист по лицензиям выбирает и связывается с компанией-прокатчиком.

7. На основания выходящих кино новинок и предпочтения кинотеатра, специалист по лицензиям оставляет заявку на приобретение определенных киноматериалов у компании-прокатчика.

8. Компания-прокатчик обязуется в установленную дату прислать запломбированные киноматериалы с нанесенной маркировкой.

9. Специалист по лицензиям и представитель компании-прокатчика договариваются об уплате кинотеатром определенного процента от общей выручки.

10. Специалист по лицензиям обязан в соответствии с установленной датой выплатить компании-прокатчику определенный процент.

3. ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ

3.1 КРАТКИЕ СВЕДЕНИЯ ОБ ОБЪЕКТЕ АВТОМАТИЗАЦИИ

Объектом автоматизации является кинотеатр "KAPO Vegas 22"

, осуществляющий показ кино новинок и кино премьер.

Магазин осуществляет свою деятельность в соответствии с:

- Лицензией на право осуществления розничной торговли по образцам № 14010/0602857 от 09.08.2010 года.

4. ТРЕБОВАНИЯ К СИСТЕМЕ

4.1 ТРЕБОВАНИЯ К СИСТЕМЕ В ЦЕЛОМ

4.1.1 Требования к структуре и функционированию системы

В соответствии с нормативными документами Кинотеатр "KAPO Vegas 22" должна представлять собой автоматизированную информационную систему, охватывающую всю структуру кинотеатра.

Эксплуатируемые в компании информационные системы должны войти в состав Кинотеатр "KAPO Vegas 22" в качестве подсистем и при необходимости быть модернизованы. Кинотеатр "KAPO Vegas 22" должна иметь модульную структуру с четким разделением функций между ее компонентами.

4.2 ТРЕБОВАНИЯ К ФУНКЦИЯМ

4.2.1 Перечень подлежащих автоматизации задач

6. Мощные средства защиты данных от несанкционированного доступа. Разграничения доступа к данным в соответствии с должностными обязанностями.

7. Возможность удаленного доступа.

8. Управление товарами. Оперативное получение информации об имеющихся на складе фильмах.

9. Управление закупками. Планирование закупок в разрезе поставщиков.

10. Управление продажами. Контролирование продаваемых и бронируемых билетов и мест.

5 СОСТАВ И СОДЕРЖАНИЕ РАБОТ ПО СОЗДАНИЮ ИС

5.1 ПЕРЕЧЕНЬ СТАДИЙ И ЭТАПОВ РАБОТ

Состав и содержание этапов создания ИСK "KAPO Vegas 22"должны определяться единым системным подходом при проектировании ИСK "KAPO Vegas 22", а также функционально-технологической законченностью реализуемых проектных решений.

Функции (задачи) ИСK "KAPO Vegas 22"должны реализовываться по принципу их наращивания в результате выполнения последовательных этапов работ по созданию очередей ИСK "KAPO Vegas 22". Работы по созданию ИСK "KAPO Vegas 22" должны быть проведены в 4 этапа:

1. Разработка технического задания на создание ИСK "KAPO Vegas 22"

На этом этапе должна пройти разработка и утверждение технического задания на создание ИСK "KAPO Vegas 22"

2. Разработка технического проекта создания ИСK "KAPO Vegas 22"

На этом этапе должны пройти:

- разработка проектных решений по системе и ее частям;

- разработка документации на ИСK "KAPO Vegas 22" и ее части;

- разработка заданий на проектирование в смежных частях проекта объекта автоматизации.

3. Разработка рабочей документации проекта ИСK "KAPO Vegas 22"

На этом этапе должна пройти разработка рабочей документации на ИСK "KAPO Vegas 22"и ее части.

4. Ввод ИСK "KAPO Vegas 22" в действие

На этом этапе должны пройти:

- подготовка объекта автоматизации к вводу ИСK "KAPO Vegas 22" в действие;

- подготовка персонала к работе с системой или ее подсистемами;

- комплектация ИСK "KAPO Vegas 22"

- строительно-монтажные работы на объектах ИСK "KAPO Vegas 22"

- проведение опытной эксплуатации ИСK "KAPO Vegas 22"

- проведение приемочных испытаний ИСK "KAPO Vegas 22"

5.2 СРОКИ ИСПОЛНЕНИЯ

1 этап - I квартал 2017 года;

2 этап - II квартал 2017 года;

3 этап - III квартал 2017 года;

4 этап - IV квартал 2017 года

6 ИСТОЧНИКИ РАЗРАБОТКИ

Настоящее Техническое Задание разработано на основе следующих документов и информационных материалов:

Государственный контракт № 93-ГОС/12 от 24 мая 2016 г. на выполнение научно-исследовательской работы для нужд кинотеатра "KAPO Vegas 22" "Разработка концепции информационной системы для кинотеатра "KAPO Vegas 22"

Разработка технического задания на создание ИСK "KAPO Vegas 22"

Разработка технического проекта на создание ИСK "KAPO Vegas 22"

- ГОСТ 24.701-86 "Надежность автоматизированных систем управления".

Приложение 3

Код интерфейса приложения

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "Second.h"

#include "Third.h"

#include "Fourth.h"

#include "Fifth.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form2->ListBox1->Clear();

Form2->Memo1->Clear();

TStringList *clients = new TStringList;

clients->LoadFromFile("Clients.txt");

for(int i = 0; i < clients->Count; i += 6)

{

TClient tempClient;

tempClient.lastName = clients->Strings [i];

tempClient.firstName = clients->Strings [i + 1];

tempClient.secondName = clients->Strings [i + 2];

tempClient.age = clients->Strings [i + 3];

tempClient.additional = clients->Strings [i + 4];

tempClient.birthday = clients->Strings [i + 5];

clientsList.push_back(tempClient);

Form2->ListBox1->Items->Add(tempClient.lastName + " " + tempClient.firstName + " " +

tempClient.secondName);

}

delete clients;

Form1->Visible = false;

Form2->Label1->Caption = "Список посетителей кинотеатра";

Form2->Label2->Caption = "Информация о выбранном посетителе";

Form2->mode = 0;

Form2->Show();

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form5->ShowModal();

}

void __fastcall TForm1::Button3Click(TObject *Sender)

{

TStringList *clients = new TStringList;

clients->LoadFromFile("Clients.txt");

for(int i = 0; i < clients->Count; i += 6)

{

TClient tempClient;

tempClient.lastName = clients->Strings [i];

tempClient.firstName = clients->Strings [i + 1];

tempClient.secondName = clients->Strings [i + 2];

tempClient.age = clients->Strings [i + 3];

tempClient.additional = clients->Strings [i + 4];

tempClient.birthday = clients->Strings [i + 5];

clientsList.push_back(tempClient);

Form4->ListBox2->Items->Add(tempClient.lastName + " " + tempClient.firstName + " " +

tempClient.secondName);

}

delete clients;

TStringList *employees = new TStringList;

employees->LoadFromFile("Employees.txt");

for(int i = 0; i < employees->Count; i += 6)

{

TEmployee tempEmployee;

tempEmployee.lastName = employees->Strings [i];

tempEmployee.firstName = employees->Strings [i + 1];

tempEmployee.secondName = employees->Strings [i + 2];

tempEmployee.age = employees->Strings [i + 3];

tempEmployee.additional = employees->Strings [i + 4];

tempEmployee.birthday = employees->Strings [i + 5];

Form1->employeesList.push_back(tempEmployee);

Form4->ListBox3->Items->Add(tempEmployee.lastName + " " + tempEmployee.firstName + " " +

tempEmployee.secondName);

}

delete employees;

Form1->Visible = false;

Form4->Show();

}

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form1->Close();}

Приложение 4

Код БД

CREATE TABLE KASSIR(

KassirID int PRIMARY KEY,

FIO varchar(50) NOT NULL,

DateBirthday date NOT NULL,

Telephone varchar(50) NOT NULL);

CREATE TABLE PROKAT(

ProkID int PRIMARY KEY,

Name_prok varchar(50) NOT NULL,

Address varchar(50) NOT NULL,

Telephone_prok varchar(50) NOT NULL,

Rating varchar(50) NOT NULL);

CREATE TABLE ZAL(

ZalID int PRIMARY KEY);

CREATE TABLE FILMS(

FilmID int PRIMARY KEY,

Name varchar(50) NOT NULL,

Time varchar(50) NOT NULL,

Data_start date NOT NULL,

Data_end date NOT NULL,

Janr varchar(50) NOT NULL,

Price_lic varchar(50) NOT NULL,

ProkID int NOT NULL REFERENCES PROKAT(ProkID));

CREATE TABLE PLACE(

PlaceID int PRIMARY KEY,

ZalID int NOT NULL REFERENCES ZAL(ZalID),

Ryad varchar(50) NOT NULL,

Place varchar(50) NOT NULL);

CREATE TABLE SEANS(

SeansID int PRIMARY KEY,

ZalID int NOT NULL REFERENCES ZAL(ZalID),

FilmID int NOT NULL REFERENCES FILMS(FilmID),

Date_seans date NOT NULL,

Time_seans varchar(50) NOT NULL,

Price_seans varchar(50) NOT NULL);

CREATE TABLE TICKET(

TicketID int PRIMARY KEY,

KassirID int NOT NULL REFERENCES KASSIR(KassirID),

SeansID int NOT NULL REFERENCES SEANS(SeansID),

PlaceID int NOT NULL REFERENCES PLACE(PlaceID),

Date_sell date NOT NULL);

Приложение 5

Код вкладки База клиентов

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "Second.h"

#include "Third.h"

#include "Fourth.h"

#include "Fifth.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Visible = true;

}

void __fastcall TForm2::Timer1Timer(TObject *Sender)

{

if(ListBox1->ItemIndex > - 1)

{

Button2->Enabled = true;

Button3->Enabled = true;

}

else

{

Button2->Enabled = false;

Button3->Enabled = false;

}

}

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Form3->index = - 1;

Form3->LabeledEdit1->Text = "";

Form3->LabeledEdit2->Text = "";

Form3->LabeledEdit3->Text = "";

Form3->LabeledEdit4->Text = "";

Form3->LabeledEdit5->Text = "Информация отсутствует";

Form3->MonthCalendar1->Date = Form3->MonthCalendar1->Date.CurrentDate();

Form3->ShowModal();

}

void __fastcall TForm2::Button2Click(TObject *Sender)

{

if(mode == 0)

{

Form3->index = Form2->ListBox1->ItemIndex;

Form3->LabeledEdit1->Text = Form1->clientsList [ListBox1->ItemIndex].lastName;

Form3->LabeledEdit2->Text = Form1->clientsList [ListBox1->ItemIndex].firstName;

Form3->LabeledEdit3->Text = Form1->clientsList [ListBox1->ItemIndex].secondName;

Form3->LabeledEdit4->Text = Form1->clientsList [ListBox1->ItemIndex].age;

Form3->LabeledEdit5->EditLabel->Caption = "Жанровые предпочтения";

Form3->LabeledEdit5->Text = Form1->clientsList [ListBox1->ItemIndex].additional;

Form3->MonthCalendar1->Date = Form1->clientsList [ListBox1->ItemIndex].birthday;

Form3->ShowModal();

}

else if(mode == 1)

{

Form3->index = Form2->ListBox1->ItemIndex;

Form3->LabeledEdit1->Text = Form1->employeesList [ListBox1->ItemIndex].lastName;

Form3->LabeledEdit2->Text = Form1->employeesList [ListBox1->ItemIndex].firstName;

Form3->LabeledEdit3->Text = Form1->employeesList [ListBox1->ItemIndex].secondName;

Form3->LabeledEdit4->Text = Form1->employeesList [ListBox1->ItemIndex].age;

Form3->LabeledEdit5->EditLabel->Caption = "Дополнительная информация";

Form3->LabeledEdit5->Text = Form1->employeesList [ListBox1->ItemIndex].additional;

Form3->MonthCalendar1->Date = Form1->employeesList [ListBox1->ItemIndex].birthday;

Form3->ShowModal();

}

}

void __fastcall TForm2::Button3Click(TObject *Sender)

{

if(mode == 0)

{

Form1->clientsList.erase(Form1->clientsList.begin() + ListBox1->ItemIndex);

TStringList *clients = new TStringList;

for(unsigned int i = 0; i < Form1->clientsList.size(); i++)

{

clients->Add(Form1->clientsList [i].lastName);

clients->Add(Form1->clientsList [i].firstName);

clients->Add(Form1->clientsList [i].secondName);

clients->Add(Form1->clientsList [i].age);

clients->Add(Form1->clientsList [i].additional);

clients->Add(Form1->clientsList [i].birthday);

}

clients->SaveToFile("Clients.txt");

delete clients;

}

else if(mode == 1)

{

Form1->employeesList.erase(Form1->employeesList.begin() + ListBox1->ItemIndex);

TStringList *employees = new TStringList;

for(unsigned int i = 0; i < Form1->clientsList.size(); i++)

{

employees->Add(Form1->employeesList [i].lastName);

employees->Add(Form1->employeesList [i].firstName);

employees->Add(Form1->employeesList [i].secondName);

employees->Add(Form1->employeesList [i].age);

employees->Add(Form1->employeesList [i].additional);

employees->Add(Form1->employeesList [i].birthday);

}

employees->SaveToFile("Employees.txt");

delete employees;

}

ListBox1->Items->Delete(ListBox1->ItemIndex);

}

void __fastcall TForm2::ListBox1Click(TObject *Sender)

{

if(ListBox1->ItemIndex > - 1)

{

Memo1->Clear();

if(mode == 0)

{

Memo1->Lines->Add("Фамилия: " + Form1->clientsList [ListBox1->ItemIndex].lastName);

Memo1->Lines->Add("Имя: " + Form1->clientsList [ListBox1->ItemIndex].firstName);

Memo1->Lines->Add("Отчество: " + Form1->clientsList [ListBox1->ItemIndex].secondName);

Memo1->Lines->Add("");

Memo1->Lines->Add("Возраст: " + Form1->clientsList [ListBox1->ItemIndex].age);

Memo1->Lines->Add("");

Memo1->Lines->Add("Дата рождения: " + Form1->clientsList [ListBox1->ItemIndex].birthday);

Memo1->Lines->Add("");

Memo1->Lines->Add("Любит: " + Form1->clientsList [ListBox1->ItemIndex].additional);

}

else if(mode == 1)

{

Memo1->Lines->Add("Фамилия: " + Form1->employeesList [ListBox1->ItemIndex].lastName);

Memo1->Lines->Add("Имя: " + Form1->employeesList [ListBox1->ItemIndex].firstName);

Memo1->Lines->Add("Отчество: " + Form1->employeesList [ListBox1->ItemIndex].secondName);

Memo1->Lines->Add("");

Memo1->Lines->Add("Возраст: " + Form1->employeesList [ListBox1->ItemIndex].age);

Memo1->Lines->Add("");

Memo1->Lines->Add("Дата рождения: " + Form1->employeesList [ListBox1->ItemIndex].birthday);

Memo1->Lines->Add("");

Memo1->Lines->Add("Доп. информация: " + Form1->employeesList [ListBox1->ItemIndex].additional);

}

}

}

Приложение 6

Код вкладки База персонала

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "Second.h"

#include "Third.h"

#include "Fourth.h"

#include "Fifth.h"

#pragma package(smart_init)

#pragma link "ccalendr"

#pragma resource "*.dfm"

TForm3 *Form3;

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm3::Timer1Timer(TObject *Sender)

{

if(LabeledEdit1->Text == "" || LabeledEdit2->Text == "" || LabeledEdit3->Text == "" ||

LabeledEdit4->Text == "" || LabeledEdit5->Text == "")

{

Button1->Enabled = false;

}

else

{

Button1->Enabled = true;

}

}

void __fastcall TForm3::Button1Click(TObject *Sender)

{

if(index == - 1)

{

if(Form2->mode == 0)

{

TClient tempClient;

tempClient.lastName = LabeledEdit1->Text;

tempClient.firstName = LabeledEdit2->Text;

tempClient.secondName = LabeledEdit3->Text;

tempClient.age = LabeledEdit4->Text;

tempClient.additional = LabeledEdit4->Text;

tempClient.birthday = MonthCalendar1->Date.DateString();

Form1->clientsList.push_back(tempClient);

Form2->ListBox1->Items->Add(tempClient.lastName + " " + tempClient.firstName + " " +

tempClient.secondName);

}

else if(Form2->mode == 1)

{

TEmployee tempEmployee;

tempEmployee.lastName = LabeledEdit1->Text;

tempEmployee.firstName = LabeledEdit2->Text;

tempEmployee.secondName = LabeledEdit3->Text;

tempEmployee.age = LabeledEdit4->Text;

tempEmployee.additional = LabeledEdit4->Text;

tempEmployee.birthday = MonthCalendar1->Date.DateString();

Form1->employeesList.push_back(tempEmployee);

Form2->ListBox1->Items->Add(tempEmployee.lastName + " " + tempEmployee.firstName + " " +

tempEmployee.secondName);

}

}

else

{

if(Form2->mode == 0)

{

Form1->clientsList [index].lastName = LabeledEdit1->Text;

Form1->clientsList [index].firstName = LabeledEdit2->Text;

Form1->clientsList [index].secondName = LabeledEdit3->Text;

Form1->clientsList [index].age = LabeledEdit4->Text;

Form1->clientsList [index].additional = LabeledEdit5->Text;

Form1->clientsList [index].birthday = MonthCalendar1->Date.DateString();

Form2->ListBox1->Items->Strings [index]= Form1->clientsList [index].lastName + " " +

Form1->clientsList [index].firstName + " " + Form1->clientsList [index].secondName;

}

else if(Form2->mode == 1)

{

Form1->employeesList [index].lastName = LabeledEdit1->Text;

Form1->employeesList [index].firstName = LabeledEdit2->Text;

Form1->employeesList [index].secondName = LabeledEdit3->Text;

Form1->employeesList [index].age = LabeledEdit4->Text;

Form1->employeesList [index].additional = LabeledEdit5->Text;

Form1->employeesList [index].birthday = MonthCalendar1->Date.DateString();

Form2->ListBox1->Items->Strings [index]= Form1->employeesList [index].lastName + " " +

Form1->employeesList [index].firstName + " " + Form1->employeesList [index].secondName;

}

}

if(Form2->mode == 0)

{

TStringList *clients = new TStringList;

for(unsigned int i = 0; i < Form1->clientsList.size(); i++)

{

clients->Add(Form1->clientsList [i].lastName);

clients->Add(Form1->clientsList [i].firstName);

clients->Add(Form1->clientsList [i].secondName);

clients->Add(Form1->clientsList [i].age);

clients->Add(Form1->clientsList [i].additional);

clients->Add(Form1->clientsList [i].birthday);

}

clients->SaveToFile("Clients.txt");

delete clients;

}

else if(Form2->mode == 1)

{

TStringList *employees = new TStringList;

for(unsigned int i = 0; i < Form1->employeesList.size(); i++)

{

employees->Add(Form1->employeesList [i].lastName);

employees->Add(Form1->employeesList [i].firstName);

employees->Add(Form1->employeesList [i].secondName);

employees->Add(Form1->employeesList [i].age);

employees->Add(Form1->employeesList [i].additional);

employees->Add(Form1->employeesList [i].birthday);

}

employees->SaveToFile("Employees.txt");

delete employees;

}

Form2->ListBox1->ItemIndex = - 1;

Form2->Memo1->Clear();

Form3->Close()

Приложение 7

Код вкладки Билет на сеанс

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "Second.h"

#include "Third.h"

#include "Fourth.h"

#include "Fifth.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm4 *Form4;

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm4::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Visible = true;

}

void __fastcall TForm4::Button1Click(TObject *Sender)

{

if(PrintDialog1->Execute())

{

TPrinter* Printer = Printers::Printer();

Printer->Canvas->Font = Memo1->Font;

const int height = Printer->Canvas->TextHeight(Memo1->Lines->Strings [0]);

int top = 10;

Printer->BeginDoc();

for(int i = 0; i <Memo1->Lines->Count; i++)

{

Printer->Canvas->TextOutA(10, top, Memo1->Lines->Strings [i]);

top+= height;

}

Printer->EndDoc();

}

}

void __fastcall TForm4::Timer1Timer(TObject *Sender)

{

if(ListBox1->ItemIndex > - 1 && ListBox2->ItemIndex > - 1 && ListBox3->ItemIndex > - 1)

{

Memo1->Clear();

Memo1->Lines->Add("Кинотеатр ''Cinema Maximum''");

Memo1->Lines->Add("");

Memo1->Lines->Add("БИЛЕТ В КИНО НА ФИЛЬМ");

Memo1->Lines->Add("");

Memo1->Lines->Add(""< " + ListBox1->Items->Strings [ListBox1->ItemIndex]+ " ">");

Memo1->Lines->Add("");

Memo1->Lines->Add("Посетитель: " + ListBox2->Items->Strings [ListBox2->ItemIndex]);

Memo1->Lines->Add("");

Memo1->Lines->Add("Билет выдал: " + ListBox3->Items->Strings [ListBox3->ItemIndex]);

Memo1->Lines->Add("");

Memo1->Lines->Add("Дата сеанса: " + DateTimePicker1->Date.DateString());

Memo1->Lines->Add("");

Memo1->Lines->Add("Время сеанса: " + DateTimePicker2->Date.TimeString());

Memo1->Lines->Add("");

Memo1->Lines->Add("Цена: 399 рублей");

Memo1->Lines->Add("");

Memo1->Lines->Add("ПРИЯТНОГО ВАМ ПРОСМОТРА!");

Button1->Enabled = true;

}

else

{

Button1->Enabled = false;

}

}

Приложение 8

Код приложения устанавливающий пароль для входа в БД персонала

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "Second.h"

#include "Third.h"

#include "Fourth.h"

#include "Fifth.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm5 *Form5;

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm5::Button1Click(TObject *Sender)

{

if(Edit1->Text == "MaksP" && Edit2->Text == "12321")

{

Form2->ListBox1->Clear();

Form2->Memo1->Clear();

TStringList *employees = new TStringList;

employees->LoadFromFile("Employees.txt");

for(int i = 0; i < employees->Count; i += 6)

{

TEmployee tempEmployee;

tempEmployee.lastName = employees->Strings [i];

tempEmployee.firstName = employees->Strings [i + 1];

tempEmployee.secondName = employees->Strings [i + 2];

tempEmployee.age = employees->Strings [i + 3];

tempEmployee.additional = employees->Strings [i + 4];

tempEmployee.birthday = employees->Strings [i + 5];

Form1->employeesList.push_back(tempEmployee);

Form2->ListBox1->Items->Add(tempEmployee.lastName + " " + tempEmployee.firstName + " " +

tempEmployee.secondName);

}

delete employees;

Form1->Visible = false;

Form2->Label1->Caption = "Список сотрудников кинотеатра";

Form2->Label2->Caption = "Информация о выбранном сотруднике";

Form2->mode = 1;

Form2->Show();

Form5->Edit2->Text = "";

Form5->Close();

}

else

{

ShowMessage("Неверный логин или пароль, попробуйте ещё раз.");

}

}

Приложение 9

Логин и пароль для входа в базу данных персонала

Логин: MaksP

Пароль: 12321

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.