В последнее время тенденции в компьютерной индустрии привели к снижению стоимости домашних компьютеров. Результатом этого стало возможным появление информационных технологий в самых разнообразных сферах деятельности.
Моя курсовая работа предназначена для кинотеатра.
После проведения анализа, были выявлены следующие задачи:
- расписание сеансов;
- оплата мест;
- выдача различных отчетов.
Разработанное в ней программное обеспечение позволяет быстро и легко как вести базу данных так и формировать отчеты для дальнейшего развития кинотеатра. Выбор СУБД и языка программирования позволили создать компактную реляционную модель базы данных отвечающей последним требованиям налоговых органов. Внешний дизайн каждой формы ориентирован на интуитивный интерфейс и позволяет легко и быстро получать интересующую в данный момент информацию.
В свою очередь база данных написана на распространенном офисном приложении Access 2003, позволяет взаимодействовать с большим количеством других программных продуктов.
Структура и связи таблиц подобранны в точности с требованиями при постановки задач, что ускорило работу серверных приложений служб.
1 ОБЩИЙ РАЗДЕЛ
1.1 Описание предметной области
Из общего описания предметной области известно, что данная программа предназначена для сотрудников кинотеатра. Клиент приходит, говорит название фильма и время когда бы он хотел посмотреть его, ему предоставляют места на выбор, которые свободные.
В предметной области комплекса задач, к которому относится данная задача, рассматриваются процессы оперативного учета и анализа.
Функции, которые реализованы в данной задаче:
- создание базы данных;
- корректировка базы данных;
- производится ввод и удаление записей;
- выдача печатных документов.
Человек приходит в кинотеатр, при покупке билета администратору нужно знать:
- дату сеанса;
- название фильма;
- начало сеанса.
После этого администратор может зафиксировать оплату в базе данных.
1.2 Постановка задачи
Поставленная задача курсовой работы: работа кинотеатров.
Целью курсовой работы является реализация автоматизированной системы управления работой кинотеатра.
Требуется создать в среде Delphi приложение. База данных состоит из нескольких таблиц. Таблицы необходимо создать и хранить в офисном приложении Access 2003. Отношение между таблицами «один ко многим».
Применение базы данных для хранения и обработки экономической информации
... созданы информационные технологии, позволяющие производить обработку данных и их выдачу в различной форме для многих предметных областей. Например, текстовые и графические редакторы, электронные таблицы, гипертекстовые и мультимедийные технологии и т.д. Для хранения данных были разработаны базы данных и системы управления базами данных ...
Перечень задач для реализации:
- спроектировать базу данных;
- создать формы для работы с базой;
- организовать пользовательское меню;
- создать поисковые системы ;
- организовать отчеты.
Необходимо разработать базу данных, которая отвечает следующим показателям:
- полнота;
- достоверность;
- актуальность;
- эффективность;
- оперативность;
- удобный интерфейс.
1.3 Разработка информационного обеспечения задачи
1.3.1 Структурный анализ с помощью диаграмм SADT
Способ отображения функциональной модели программного обеспечения через SADT диаграммы представляет собой совокупность методов и правил. Основные элементы этого метода заключаются в графическом представлении основных узлов функциональной модели. Взаимодействие блоков друг с другом описываются посредством интерфейсных дуг. Основные требования для построения SADT диаграмм являются:
- ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков);
- связность диаграмм (номера блоков);
- уникальность меток и наименований (отсутствие повторяющихся имен);
- синтаксические правила для графики (блоков и дуг);
- разделение входов и управлений (правило определения роли данных).
Результатом применения метода SADT является модель, которая
состоит из диаграмм, имеющих ссылки друг на друга. Нулевой уровень диаграмм имеет вид одного блока входных, выходных интерфейсов, управляющих сигналов и механизмов. На более низком уровне производится декомпозиция каждого большого фрагмента на более мелкие. Диаграмма ограничивается 3 — 6 блоками, детализация осуществляется постепенно. Вместо одной громоздкой модели используют несколько небольших взаимосвязанных моделей.
Нулевой уровень
Здесь представлена общая работа кинотеатра.
Входная информация:
- информация о количестве посетителей;
- информация о фильмах;
- стоимость билетов;
- заказ билетов.
Выходная информация:
- информация о проданных билетах;
- информация о количестве свободных мест;
- расписание фильмов;
- отчеты.
Управляющие сигналы:
- законы;
- устав предприятия.
Механизмы:
- кассир.
Первый уровень
Основные функции:
1) работа с клиентом:
Входная информация:
- информация о фильме;
- количество билетов.
Выходная информация:
- стоимость билетов.
Управляющие сигналы:
- законы;
- устав предприятия.
Механизмы:
- кассир.
2) учет проданных билетов:
Входная информация:
- количество проданных билетов.
Выходная информация:
- отчетная информация.
Управляющие сигналы:
- законы;
- устав предприятия.
Механизмы:
- кассир.
3) наименование отчета:
Входная информация:
- отчетная информация.
Выходная информация:
Автоматизация на предприятии
... и технологии обработки информации [3]. Разрабатывая средство автоматизации, следует чётко определить цели создания системы, - считает В. Богданов [2]. Целью автоматизации предприятия является повышение производительности ... · выявление из множества систем, системы с поддержкой открытых стандартов обмена данными и «богатыми» средствами разработки прикладных решений; · заострение внимания на основных ...
- отчеты;
- доход.
Управляющие сигналы:
- законы;
- устав предприятия.
Механизмы:
- кассир.
Второй уровень
На втором уровне подробно рассматривается один из этапов первого уровня. Этап выбирается произвольно. Я рассматриваю этап работа с клиентами по заказу.
Основные функции:
1) Заказ билета
Входная информация:
- информация о фильме;
- выбор места в зале;
- выбор времени сеанса;
- список фильмов.
Выходная информация:
- заказ;
Управляющие сигналы:
- законы;
- устав предприятия.
Механизмы:
- кассир.
2) оформление заказа
Входная информация:
- ответ на заказ;
Выходная информация:
- отчет для расчета.
Управляющие сигналы:
- устав предприятия;
- законы;
Механизмы:
- кассир.
3) денежный расчет
Входная информация:
- отчет для расчета.
Выходная информация:
- отчеты.
- доход
Управляющие сигналы:
- устав предприятия;
- законы;
Механизмы:
- кассир.
Эта программа в дальнейшем поможет в создании программы и будет служить ее эскизом.
1.3.2 Построение диаграмм «сущность-связь»
Диаграммы «сущность-связь» (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
Основное назначение диаграмм «сущность — связь» — это семантическое описание предметной области.
Реляционная база данных представляет связанную между собой совокупность таблиц. Между таблицами могут существовать отношения подчиненности. Они определяют, что для каждой записи главной таблицы может существовать одна или несколько записей в подчиненной таблице. Диаграмма «сущность — связь» показывает структуру таблиц и связей между ними.
Проделанная выше работа является основой для построения диаграмм «сущность-связь». Диаграммы «сущность-связь» предназначены для разработки модели данных и обеспечивают стандартный способ определения данных, отношения между ними.
В диаграмме «сущность-связь» указываются:
- первичный ключ;
- внешний ключ;
- тип поля;
- длина поля;
- задаются идентификаторы полей;
- описание полей.
Для автоматизации работы кинотеатра необходимы следующие таблицы:
- films (афиша);
- pay (оплата);
- places (кинозал);
- prices (прайс);
- sess (Сеанс).
(см. Приложение 2)
2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
2.1 Описание полей таблицы
Таблица №1 Таблица films содержит информацию о доступных фильмах в кинотеатре в настоящее время.
Имя поля |
Тип данных |
Ключ |
|
Код (kod) |
Текстовый |
* |
|
Название (name) |
Текстовый |
||
Время (time) |
Числовой |
||
Жанр (zhanr) |
Текстовый |
||
Таблица №2 Таблица pay содержит информацию о проданных билетах
Имя поля |
Тип данных |
Ключ |
|
kod |
Счетчик |
* |
|
tp |
Текстовый |
||
sess_kod |
Числовой |
||
place_places |
Числовой |
||
row_places |
Числовой |
||
date_sess |
Дата/Время |
||
Таблица №3 Таблица places хранит информацию о всех местах зала кинотеатра.
Имя поля |
Тип данных |
Ключ |
|
count_places |
Счетчик |
* |
|
row |
Числовой |
||
place |
Числовой |
||
price_kod |
Текстовый |
||
Таблица №4 Таблица prices содержит информацию о стоимости билета в в зависимости от вида сеанса и категории мест в зале кинотеатра.
Имя поля |
Тип данных |
Ключ |
|
kod |
Текстовый |
* |
|
tip |
Текстовый |
||
price |
Числовой |
||
what |
Текстовый |
||
tab_sort |
Числовой |
||
Таблица №5 Таблица sess содержит расписание фильмов.
Имя поля |
Тип данных |
Ключ |
|
for_ind |
Счетчик |
* |
|
nom |
Числовой |
||
time_start |
Дата/время |
||
date |
Дата/время |
||
films_kod |
Текстовый |
||
price_cod |
Текстовый |
||
2.2 Программная реализация модели объектно — ориентированного языка программирования
Данное программное изделие разработано на языке программирования Delphi 6.0 с использованием СУБД Access. Данное СУБД позволяет быстро и качественно проектировать и создавать БД. Пакет Access совместно с включёнными в него дополнительными параметрами представляет разработчику большой объём возможностей по созданию базы данных. Интерфейс СУБД Access представляет собой более удобный интерфейс, нежели другие СУБД, что предоставляет более широкие возможности для быстрого и качественного проектирования базы данных.
В данной работе для соединения с базой данных используется технология ADO, которая позволяет соединиться с базой данных без задания псевдонимов. ADO компоненты могут связываться с провайдером напрямую или с помощью компонента ADOConection.
Для установки связи с ADO (ADOConnection или ADOTable) у этого компонента необходимо задать свойство Connection String, которое определяет провайдер и расположение базы данных.
Далее для установки связи необходимо выбрать один из вариантов установки связи:
1) используя возможность операционной системы из контекстного меню выбрать:
- создать;
- Microsoft Data Link;
- контекстное меню файла;
- свойства (где определяется провайдер и место положение базы данных)
2) используемый в курсовой работе:
- нажать кнопку Build;
- выбрать поставщика данных Microsoft Jet 4.0 OLE DB Provider;
- на вкладке Подключение выбрать имя базы данных;
- проверить правильность подключения через кнопку Проверить подключение;
- настроить свойства объектов для связи с ADOConnection1:
- ADOQuery1.Connection:=ADOConnection1;
- DataSource1.DataSet:=ADOQuery1;
- ADOQuery1.SQL:= (TStrings);
select *
from films
ADOTable1.Active:=true;
- DBGrid1.DataSource:=DataSource1;
Рисунок 1 — Окно настройки связи объекта ADOConnection через строку соединения
Рисунок 2 — Окно настройки свойств связи объекта ADOConnection через строку
2.3 Организация пользовательского интерфейса
2.3.1 Создание меню, реализующего основные функции информационной системы
Пользователю представляется программа, реализующая деятельность работы кинотеатра . Она упрощает работу кассира и позволяет экономить время.
Проект содержит следующие формы:
1. Главное меню — с помощью, которого можно переходить на другие модальные формы.
2. Фильмы — меню, где вводятся данные о новом фильме.
3. Места и расценки — меню, где вводятся расценки на отдельные места в зале.
4. Расписание сеансов — меню, расписания сеансов.
5. Оплата мест — меню покупки билетов.
6. Места на сеанс — показывает места в зале.
7. Заказ — оформление услуг предоставляемых клиенту.
8. Выручка — показывает выручку за определенное время.
После запуска программы на экране появляется главное меню.
Рисунок 3 — Главная форма
Главная форма содержит меню, с помощью которого пользователь обращается к программе. Она состоит из следующих пунктов меню:
- формы:
- кодификатор;
- расписание;
- оплата мест.
- отчеты:
места на сеанс
выручка.
ЗАКЛЮЧЕНИЕ
Данная программа написана для удобного учета заказов, информации о свободных местах в зале, получения отчетов и т. д.
Представленная программа обладает следующими характеристиками:
- функциональностью, то есть полнотой удовлетворения пользователя;
- наглядностью, удобством, интуитивно понятным и привычным для пользователя интерфейсом;
- универсальностью и доступностью рядовому пользователю;
- достоверностью и эффективностью информации;
- производит поиск, отбор;
- добавляет новую информацию;
- подлежит модификации программистом;
— В ходе разработки курсовой работы был произведен детальный анализ объекта и запущенна программное обеспечение на основе программно ориентированной среды разработки приложений Delphi6, в качестве СУБД было использовано офисное приложение Microsoft Access 2003.
В процессе разработки СУБД был использован уклон на реляционный подход .
СПИСОК ЛИТЕРАТУРЫ
[Электронный ресурс]//URL: https://drprom.ru/kursovaya/avtomatizatsiya-rabotyi-kinoteatra-kursovaya/
1) Архангельский А.Я. Программирование в Delphi 6 — М.: ЗАО «Издательство БИНОМ», 2001 г. — 1120 с.: ил.
2) Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. — М.: Финансы и статистика, 1989. — 351 с.
3) Шумаков П.В. Delphi 5 и разработка приложений баз данных. — М.: “Нолидж”, 2001. — 704 с., ил.
4) Дейт К. Дж. Введение в системы баз данных: Пер. с англ. — 6-е изд. — К.: Диалектика, 1998. — 784с., ил.
5) Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. — М.: Мир, 1985. — 368 с., ил.
6) Мейер М. Теория реляционных баз данных. — М.: Мир, 1987. — 608 с.
ПРИЛОЖЕНИЯ
Приложение 1.
SADT-ДИАГРАММА
Рисунок 4 — Нулевой уровень
Рисунок 5 — Первый уровень
Рисунок 6 — Второй уровень
Приложение 2.
ДИАГРАММА «СУЩНОСТЬ-СВЯЗЬ»
Рисунок 7 — Диаграмма «сущность-связь»
Приложение 3.
ЛИСТИНГ ПРОГРАММЫ
program Project1;
uses
Forms,
Unit1 in ‘Unit1.pas’ {Form1},
Unit2 in ‘Unit2.pas’ {Form2},
Unit3 in ‘Unit3.pas’ {Form3},
Unit4 in ‘Unit4.pas’ {Form4},
Unit5 in ‘Unit5.pas’ {Form5},
Unit6 in ‘Unit6.pas’ {Form6},
Unit7 in ‘Unit7.pas’ {Form7},
Unit8 in ‘Unit8.pas’ {Form8},
Unit11 in ‘Unit11.pas’ {Form11},
Unit12 in ‘Unit12.pas’ {Form12},
Unit13 in ‘Unit13.pas’ {Form13},
Unit14 in ‘Unit14.pas’ {Form14},
Unit15 in ‘Unit15.pas’ {QuickReport15: TQuickRep},
Unit16 in ‘Unit16.pas’ {Form16},
Unit17 in ‘Unit17.pas’ {QuickReport17: TQuickRep},
Unit9 in ‘Unit9.pas’ {Form9},
Unit10 in ‘Unit10.pas’ {QuickReport10: TQuickRep};
- {$R *.res}
begin
Application.Initialize;
- Application.CreateForm(TForm1, Form1);
- Application.CreateForm(TForm2, Form2);
- Application.CreateForm(TForm3, Form3);
- Application.CreateForm(TForm4, Form4);
- Application.CreateForm(TForm5, Form5);
- Application.CreateForm(TForm6, Form6);
- Application.CreateForm(TForm7, Form7);
- Application.CreateForm(TForm8, Form8);
- Application.CreateForm(TForm11, Form11);
- Application.CreateForm(TForm12, Form12);
- Application.CreateForm(TForm13, Form13);
- Application.CreateForm(TForm14, Form14);
- Application.CreateForm(TQuickReport15, QuickReport15);
- Application.CreateForm(TForm16, Form16);
- Application.CreateForm(TQuickReport17, QuickReport17);
- Application.CreateForm(TForm9, Form9);
- Application.CreateForm(TQuickReport10, QuickReport10);
- Application.Run;
- end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls, Mask,
Menus, jpeg;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
- N1: TMenuItem;
- N2: TMenuItem;
- N3: TMenuItem;
- N4: TMenuItem;
- N5: TMenuItem;
- N6: TMenuItem;
- N7: TMenuItem;
- N8: TMenuItem;
- N9: TMenuItem;
- N11: TMenuItem;
- N10: TMenuItem;
- N12: TMenuItem;
- N13: TMenuItem;
- N14: TMenuItem;
- N15: TMenuItem;
- N16: TMenuItem;
- N17: TMenuItem;
- N18: TMenuItem;
- Image1: TImage;
- N19: TMenuItem;
- N20: TMenuItem;
- procedure N3Click(Sender: TObject);
- procedure N2Click(Sender: TObject);
- procedure N10Click(Sender: TObject);
- procedure N4Click(Sender: TObject);
- procedure N5Click(Sender: TObject);
- procedure N6Click(Sender: TObject);
- procedure N7Click(Sender: TObject);
- procedure N8Click(Sender: TObject);
- procedure N13Click(Sender: TObject);
- procedure N14Click(Sender: TObject);
- procedure N15Click(Sender: TObject);
- procedure N17Click(Sender: TObject);
- procedure N18Click(Sender: TObject);
- procedure N11Click(Sender: TObject);
- procedure N19Click(Sender: TObject);
- procedure N20Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
- i:Boolean;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit11,
Unit12, Unit13, Unit14, Unit16, Unit10;
- {$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);
begin
Form3.Visible:=true;
- end;
- procedure TForm1.N2Click(Sender: TObject);
begin
Form2.Visible:=true;
- end;
- procedure TForm1.N10Click(Sender: TObject);
begin
if MessageDlg(‘Вы действительно закрываете программу?’,mtInformation,[mbYes,mbNo],0)=mrYes then
begin
MessageDlg(‘Работа приложения закончена’,mtInformation,[mbOk],0);
- Close;
- end;
- end;
- procedure TForm1.N4Click(Sender: TObject);
begin
Form4.Visible:=true;
- end;
- procedure TForm1.N5Click(Sender: TObject);
begin
Form5.Visible:=true;
- end;
- procedure TForm1.N6Click(Sender: TObject);
begin
Form6.Visible:=true;
- end;
- procedure TForm1.N7Click(Sender: TObject);
begin
Form7.Visible:=true;
- end;
- procedure TForm1.N8Click(Sender: TObject);
begin
Form8.Visible:=true;
- end;
- procedure TForm1.N13Click(Sender: TObject);
begin
ShowMessage(‘Сегодня ‘+DateToStr(Date));
- end;
- procedure TForm1.N14Click(Sender: TObject);
begin
ShowMessage(‘Сейчас ‘+TimeToStr(Time));
- end;
- procedure TForm1.N15Click(Sender: TObject);
begin
Form11.Visible:=true;
- end;
- procedure TForm1.N17Click(Sender: TObject);
begin
Form12.ShowModal;
- end;
- procedure TForm1.N18Click(Sender: TObject);
begin
Form13.ShowModal;
- end;
- procedure TForm1.N11Click(Sender: TObject);
begin
Form14.Visible:=true;
- end;
- procedure TForm1.N19Click(Sender: TObject);
begin
Form16.Visible:=true;
- end;
- procedure TForm1.N20Click(Sender: TObject);
begin
Form9.Visible:=true;
- end;
- end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Mask, Grids, DBGrids, DB, ADODB, ExtCtrls,
jpeg;
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
- DBNavigator1: TDBNavigator;
- DBEdit1: TDBEdit;
- DBEdit2: TDBEdit;
- DBEdit3: TDBEdit;
- DBEdit4: TDBEdit;
- DBEdit5: TDBEdit;
- ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- Button1: TButton;
- DBGrid2: TDBGrid;
- DataSource2: TDataSource;
- ADOQuery2: TADOQuery;
- ADOQuery2_: TAutoIncField;
- ADOQuery2DSDesigner: TWideStringField;
- ADOQuery2DSDesigner2: TWideStringField;
- ADOQuery2DSDesigner3: TWideStringField;
- ADOQuery2DSDesigner4: TWideStringField;
- ADOQuery2DSDesigner5: TIntegerField;
- Edit1: TEdit;
- Image1: TImage;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- Label9: TLabel;
- Label10: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
- procedure Button1Click(Sender: TObject);
- procedure ADOQuery2FilterRecord(DataSet: TDataSet;
- var Accept: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
form2.DBEdit1.SetFocus();
- end;
- procedure TForm2.Button1Click(Sender: TObject);
begin
ADOQuery2.Filtered:=true;
- end;
- procedure TForm2.ADOQuery2FilterRecord(DataSet: TDataSet;
- var Accept: Boolean);
begin
Accept:=DataSet[‘Фамилия’]=Form2.Edit1.Text;
- end;
- end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, DBCtrls, StdCtrls, Mask, Grids, DBGrids, ExtCtrls,
jpeg;
type
TForm3 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DBGrid1: TDBGrid;
- DBNavigator1: TDBNavigator;
- DBEdit1: TDBEdit;
- DataSource1: TDataSource;
- Image1: TImage;
- Label1: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Form3.DBEdit1.SetFocus();
- end;
- end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB,
jpeg;
type
TForm4 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- DBNavigator1: TDBNavigator;
- DBEdit1: TDBEdit;
- DBEdit2: TDBEdit;
- Label1: TLabel;
- Label2: TLabel;
- RadioGroup1: TRadioGroup;
- Edit1: TEdit;
- Image1: TImage;
- Label3: TLabel;
- Label4: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
- procedure RadioGroup1Click(Sender: TObject);
- procedure ADOQuery1FilterRecord(DataSet: TDataSet;
- var Accept: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
- pole: variant;
implementation
{$R *.dfm}
procedure TForm4.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Form4.DBEdit1.SetFocus();
- end;
- procedure TForm4.RadioGroup1Click(Sender: TObject);
begin
ADOQuery1.Filtered:=false;
- Case Form4.RadioGroup1.ItemIndex of
1:begin
pole:=’Название’;
- ADOQuery1.Filtered:=true;
- end;
2:begin
pole:=’Цена’;
- ADOQuery1.Filtered:=true;
- end;
- end;
- end;
- procedure TForm4.ADOQuery1FilterRecord(DataSet: TDataSet;
- var Accept: Boolean);
begin
Accept:=DataSet[pole]=Form4.Edit1.Text;
- end;
- end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, DBCtrls, Mask, ExtCtrls,
jpeg;
type
TForm5 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- DBNavigator1: TDBNavigator;
- DBEdit1: TDBEdit;
- DBEdit2: TDBEdit;
- DBLookupComboBox1: TDBLookupComboBox;
- Label1: TLabel;
- Label2: TLabel;
- ADOQuery2: TADOQuery;
- DataSource2: TDataSource;
- DBGrid1: TDBGrid;
- Label3: TLabel;
- Image1: TImage;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- ADOQuery1__: TAutoIncField;
- ADOQuery1DSDesigner: TDateTimeField;
- ADOQuery1_: TIntegerField;
- ADOQuery1DSDesigner2: TDateTimeField;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Form5.DBEdit1.SetFocus();
- end;
- end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, Grids, DBGrids, ADODB,
jpeg;
type
TForm6 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DBGrid1: TDBGrid;
- DataSource1: TDataSource;
- DBEdit1: TDBEdit;
- DBEdit2: TDBEdit;
- DBEdit3: TDBEdit;
- DBEdit4: TDBEdit;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- DBNavigator1: TDBNavigator;
- Button1: TButton;
- Edit1: TEdit;
- Image1: TImage;
- Label5: TLabel;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
- procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
procedure TForm6.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Form6.DBEdit1.SetFocus();
- end;
- procedure TForm6.Button1Click(Sender: TObject);
begin
With ADOQuery1 do begin
first;
- While Locate(‘Название’,(Edit1.Text),[]) do
delete;
- end;
- end;
- end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, DB, ADODB,
jpeg;
type
TForm7 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- DBEdit1: TDBEdit;
- Label1: TLabel;
- DBNavigator1: TDBNavigator;
- Label2: TLabel;
- Label3: TLabel;
- DBLookupComboBox1: TDBLookupComboBox;
- DBLookupComboBox2: TDBLookupComboBox;
- ADOQuery2: TADOQuery;
- ADOQuery3: TADOQuery;
- DataSource2: TDataSource;
- DataSource3: TDataSource;
- Image1: TImage;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Form7.DBEdit1.SetFocus();
- end;
- end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls, Mask,
jpeg;
type
TForm8 = class(TForm)
ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- DBNavigator1: TDBNavigator;
- DBLookupComboBox1: TDBLookupComboBox;
- DBLookupComboBox3: TDBLookupComboBox;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- DBEdit1: TDBEdit;
- Label4: TLabel;
- ADOQuery2: TADOQuery;
- ADOQuery3: TADOQuery;
- ADOQuery4: TADOQuery;
- DataSource2: TDataSource;
- DataSource3: TDataSource;
- DataSource4: TDataSource;
- DBLookupComboBox2: TDBLookupComboBox;
- Image1: TImage;
- Label5: TLabel;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- procedure ADOQuery1BeforeInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
{$R *.dfm}
procedure TForm8.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
form8.DBLookupComboBox1.SetFocus();
- end;
- end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DdeMan,comobj, DB, ADODB;
type
TForm9 = class(TForm)
RadioButton1: TRadioButton;
- RadioButton2: TRadioButton;
- Button1: TButton;
- Label1: TLabel;
- ADOQuery1: TADOQuery;
- ADOConnection1: TADOConnection;
- ADOQuery1field1: TAutoIncField;
- ADOQuery1field2: TWideStringField;
- ADOQuery1field3: TWideStringField;
- ADOQuery1field4: TIntegerField;
- procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit10;
- {$R *.dfm}
procedure TForm9.Button1Click(Sender: TObject);
- var WorkBook,Sheet:variant;
- v:OLEVariant;
- i:integer;
begin
if RadioButton1.Checked then QuickReport10.preview;
- if RadioButton2.Checked then
begin
try //секция отлова исключений — чтобы не вылетало, если у юзера нет экселя
v := CreateOleObject(‘Excel.Application’); //если просто: связываемся с экселем
WorkBook:=v.Application.WorkBooks.Add; //создаем в нем новую книгу
Sheet:=WorkBook.WorkSheets[1];
- Sheet.Cells(1,2):=’Клиенты’;
- v.WorkBooks[1].
WorkSheets[1].
Range[‘B1:E1’].Merge;
- v.WorkBooks[1].
WorkSheets[1].
rows[1].
HorizontalAlignment:=3;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
font.bold:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[1].
font.bold:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[1].
font.size:=16;
- Sheet.Cells(3,2):=’№ клиента’;
- Sheet.Cells(3,3):=’Фамилия Имя Отчество’;
- Sheet.Cells(3,4):=’Адрес’;
- Sheet.Cells(3,5):=’Телефон’;
- v.WorkBooks[1].
WorkSheets[1].
Columns[2].
ColumnWidth:=15;
- v.WorkBooks[1].
WorkSheets[1].
Columns[3].
ColumnWidth:=35;
- v.WorkBooks[1].
WorkSheets[1].
Columns[4].
ColumnWidth:=35;
- v.WorkBooks[1].
WorkSheets[1].
Columns[5].
ColumnWidth:=15;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[2].
HorizontalAlignment:=3;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[3].
HorizontalAlignment:=3;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[4].
HorizontalAlignment:=3;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[5].
HorizontalAlignment:=3;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[2].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[3].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[4].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[3].
Columns[5].
Borders.LineStyle:=1;
- form9.ADOQuery1.Open();
- i:=4;
- while not form9.ADOQuery1.Eof do
begin
Sheet.Cells(i,2):=form9.ADOQuery1.FieldByName(‘field1’).Value;
- Sheet.Cells(i,3):=form9.ADOQuery1.FieldByName(‘field2’).Value;
- Sheet.Cells(i,4):=form9.ADOQuery1.FieldByName(‘field3’).Value;
- Sheet.Cells(i,5):=form9.ADOQuery1.FieldByName(‘field4’).Value;
- v.WorkBooks[1].
WorkSheets[1].
rows[i].Columns[2].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[i].Columns[3].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[i].Columns[4].
Borders.LineStyle:=1;
- v.WorkBooks[1].
WorkSheets[1].
rows[i].Columns[5].
Borders.LineStyle:=1;
- i:=i+1;
- form9.ADOQuery1.Next;
- end;
- v.Visible:= True; //делаем эксель видимым
except //если таки экселя нет — то эта секция
MessageBox(0,’Не удается выполнить передачу данных в Excel. Убедитесь, что данное приложение установлено на Вашем компьютере’,’Ошибка’,MB_OK or MB_ICONEXCLAMATION);
end
end;
- close;
- end;
- end.
unit Unit10;
interface
uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls, DB, ADODB;
type
TQuickReport10 = class(TQuickRep)
TitleBand1: TQRBand;
- QRLabel1: TQRLabel;
- QRShape1: TQRShape;
- ColumnHeaderBand1: TQRBand;
- QRShape4: TQRShape;
- QRLabel4: TQRLabel;
- QRShape5: TQRShape;
- QRLabel2: TQRLabel;
- QRBand1: TQRBand;
- QRShape8: TQRShape;
- QRShape11: TQRShape;
- QRDBText1: TQRDBText;
- QRDBText4: TQRDBText;
- PageFooterBand1: TQRBand;
- QRShape2: TQRShape;
- QRLabel9: TQRLabel;
- QRSysData1: TQRSysData;
- ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- ADOQuery1_: TAutoIncField;
- ADOQuery1Expr1001: TWideStringField;
- ADOQuery1DSDesigner: TWideStringField;
- ADOQuery1DSDesigner2: TIntegerField;
- QRShape6: TQRShape;
- QRLabel5: TQRLabel;
- QRShape10: TQRShape;
- QRLabel6: TQRLabel;
- QRShape3: TQRShape;
- QRShape7: TQRShape;
- QRShape9: TQRShape;
- QRDBText2: TQRDBText;
- QRDBText3: TQRDBText;
private
public
end;
var
QuickReport10: TQuickReport10;
implementation
{$R *.DFM}
end.
unit Unit11
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm11 = class(TForm)
MonthCalendar1: TMonthCalendar;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
{$R *.dfm}
end.
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm12 = class(TForm)
Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
{$R *.dfm}
end.
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm13 = class(TForm)
Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- Label9: TLabel;
- Label10: TLabel;
- Button1: TButton;
- Image1: TImage;
- procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form13: TForm13;
implementation
{$R *.dfm}
procedure TForm13.Button1Click(Sender: TObject);
begin
Form13.Close;
- end;
- end.
unit Unit14;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB, Grids, DBGrids;
type
TForm14 = class(TForm)
Label1: TLabel;
- ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- Button1: TButton;
- ADOQuery1_: TAutoIncField;
- ADOQuery1DSDesigner: TWideStringField;
- procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form14: TForm14;
implementation
uses Unit15;
- {$R *.dfm}
procedure TForm14.Button1Click(Sender: TObject);
begin
QuickReport15.ADOConnection1.Close;
- QuickReport15.ADOQuery1.Close;
- QuickReport15.ADOQuery1.Parameters.ParamByName(‘param1’).Value:=ADOQuery1_.Value;
- //showmessage(inttostr(ADOQuery1_.Value));
- QuickReport15.ADOConnection1.Open;
- QuickReport15.ADOQuery1.Open;
- Form14.Visible:=false;
- QuickReport15.preview;
- end;
- end.
unit Unit15;
interface
uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls, DB, ADODB;
type
TQuickReport15 = class(TQuickRep)
TitleBand1: TQRBand;
- QRLabel1: TQRLabel;
- QRShape1: TQRShape;
- ColumnHeaderBand1: TQRBand;
- QRShape4: TQRShape;
- QRLabel4: TQRLabel;
- QRShape8: TQRShape;
- QRLabel8: TQRLabel;
- QRGroup1: TQRGroup;
- QRShape9: TQRShape;
- QRExpr1: TQRExpr;
- QRBand1: TQRBand;
- QRShape17: TQRShape;
- QRShape20: TQRShape;
- QRDBText7: TQRDBText;
- DetailBand1: TQRBand;
- QRShape10: TQRShape;
- QRShape15: TQRShape;
- QRExpr2: TQRExpr;
- QRExpr5: TQRExpr;
- ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
- QRDBText1: TQRDBText;
- PageFooterBand1: TQRBand;
- QRShape2: TQRShape;
- ADOQuery1_: TAutoIncField;
- ADOQuery1Expr1001: TWideStringField;
- ADOQuery1DSDesigner: TWideStringField;
- ADOQuery1DSDesigner2: TWideStringField;
- ADOQuery1Expr1004: TBCDField;
- QRLabel9: TQRLabel;
- QRSysData1: TQRSysData;
private
public
end;
var
QuickReport15: TQuickReport15;
implementation
{$R *.DFM}
end.
unit Unit16;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm16 = class(TForm)
DateTimePicker1: TDateTimePicker;
- Label1: TLabel;
- Button1: TButton;
- Label2: TLabel;
- DateTimePicker2: TDateTimePicker;
- procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form16: TForm16;
implementation
uses Unit17, Unit15;
- {$R *.dfm}
procedure TForm16.Button1Click(Sender: TObject);
begin
QuickReport17.ADOConnection1.Close;
- QuickReport17.ADOQuery1.Close;
- QuickReport17.ADOQuery1.Parameters.ParamByName(‘param1’).Value:=FormatDateTime(‘dd.mm.yy’,DateTimePicker1.DateTime);
- QuickReport17.ADOQuery1.Parameters.ParamByName(‘param2’).Value:=FormatDateTime(‘dd.mm.yy’,DateTimePicker2.DateTime);
- //showmessage(inttostr(ADOQuery1_.Value));
- QuickReport17.ADOConnection1.Open;
- QuickReport17.ADOQuery1.Open;
- Form16.Visible:=false;
- QuickReport17.preview;
- end;
- end.
unit Unit17;
interface
uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls, DB, ADODB;
type
TQuickReport17 = class(TQuickRep)
TitleBand1: TQRBand;
- QRLabel1: TQRLabel;
- QRShape1: TQRShape;
- ColumnHeaderBand1: TQRBand;
- QRShape4: TQRShape;
- QRLabel4: TQRLabel;
- QRBand1: TQRBand;
- PageFooterBand1: TQRBand;
- QRShape2: TQRShape;
- QRLabel9: TQRLabel;
- QRSysData1: TQRSysData;
- QRShape3: TQRShape;
- QRLabel3: TQRLabel;
- QRShape5: TQRShape;
- QRLabel2: TQRLabel;
- QRShape6: TQRShape;
- QRShape7: TQRShape;
- QRShape8: TQRShape;
- QRShape9: TQRShape;
- QRShape11: TQRShape;
- QRLabel6: TQRLabel;
- QRDBText1: TQRDBText;
- QRDBText2: TQRDBText;
- QRDBText3: TQRDBText;
- QRDBText4: TQRDBText;
- ADOConnection1: TADOConnection;
- ADOQuery1: TADOQuery;
private
public
end;
var
QuickReport17: TQuickReport17;
implementation
{$R *.DFM}
end.