Автоматизированное рабочее место специалиста по работе с клиентами санатория

Анализ информационных систем в области автоматизации деятельности развлекательных центров. Построение информационной модели для специалиста по работе с клиентами санатория. Создание унифицированных форм и их электронных версий. Верификация программы.

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

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

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

2. Отчет о чеках (рисунок 3.11).

3. Индивидуальный чек клиента (рисунок 3.6 и 3.9).

Разработка пользовательского интерфейса была проведена с помощью средств программной среды Borland Delphi 7.0. Интерфейс основан на принципе иерархии форм. При запуске приложения на экране монитора появляется главная форма под названием «Главное меню». Работа в этой форме происходит при помощи кнопок: «Регистрация клиентов», «Стоимость поездки», «Сотрудники», «Отчеты», «Выход», и т. д. (рис. 3.1).

Рисунок 3.1 - Главное меню программы

При нажатии на кнопку «Регистрация клиентов» откроется форма с данными, а именно «Меню регистрация клиента» (рисунок 3.2). По середине формы располагаются первичные данные о клиентах (код клиента, Ф.И.О., год рождения, возраст). На форме имеются кнопки для поиска записей и о заказе услуг клиентам. В верхней части меню имеется добавление и удаление полей. Для реализации этих функций необходимо нажать на соответствующую вкладку.

Рисунок 3.2 - Меню работы с клиентами

Добавление первичных данных о клиенте происходит при нажатии на кнопку «Добавить», которая располагаются на форме «Меню регистрация клиента». Для добавления данных необходимо ввести (Фамилия, Имя, Отчество, год рождения, возраст) и нажать кнопку «Добавить».

Рисунок 3.3 - Меню регистрации нового клиента

После того как мы добавили нового клиента, либо взяли из старой базы данных, переходим непосредственно к оформлению чека.

На форме «Оформление чека клиента», происходит выбор по услугам санатория с указанием даты, а также наличием скидки, а также оформление и формирование чека. Если нажать на клавишу «Нажать» программа произведет расчет той или иной вида услуги, которую клиент выбрал, а также время и наличие скидки. Некоторая информация будет отбираться из формы «Перечень услуг в действующих ценах» (рисунок 3.5). По кнопке «Показать чек» откроется форма, а именно отчет (рисунок 3.6). Это и будет одним из условий конечного итога программы.

Рисунок 3.4 - Меню оформления чека

Рисунок 3.5 - Перечень услуг в действующих ценах

Рисунок 3.6 - Индивидуальный чек клиента

Далее рассмотрим форму под названием «Расчет стоимости поездки» которая подключается из главного меню. На форме расчета слева по центру видна исходная информация, которая находится на форме «Рабочий персонал» (рисунок 3.8). Если нажать на клавишу «Вычислить» программа произведет расчет стоимость поездки, а кнопкой «Показать чек» непосредственно переходит к оформлению чека стоимости поездки (рисунок 3.9). В этой форме применяется компонент DBNavigator в котором отражаются все операции связанные с добавлением, удалением записей таблицы, а также переключением полей.

Рисунок 3.7 - Расчет стоимости поездки

Рисунок 3.8 - Рабочий персонал

Рисунок 3.9 - Индивидуальный чек клиента

Что касается первой формы, а именно «Главное меню» происходит отображение отчетов таких как ( отчет по клиентам, отчет по сотрудникам, отчет по чекам). Данные которых отбираются, и добавляются из баз данных разработанные в среде СУБД Access и с помощью Borland Delphi 7. Сформированные отчеты печатаются на бумаге формата А3.

Рисунок 3.10 - Отчет по клиентам

Рисунок 3.11 - Отчет по чекам

Для разрабатываемого приложения к базе данных по учету деятельности специалиста по работе с клиентами санатория реализованы следующие требования:

1. Реализация возможности просмотра информации об участниках санатория такой, как: Ф.И.О., год рождения, возраст.

2. Возможность редактирования содержимого таблиц, добавление и удаление записей.

3. Осуществление поиска участника по заданным критериям.

4. Формирование чека клиента с выбранным критерием запроса.

5.Вывод на печать исходной информации в виде отчетов.

Интерфейс разработанного программного продукта интуитивно понятен, как для неопытного, так и для продвинутого пользователя.

4. ВЕРИФИКАЦИЯ ПРОГРАММЫ ДЕЯТЕЛЬНОСТИ СПЕЦИАЛИСТА ПО РАБОТЕ С КЛИЕНТАМИ САНАТОРИЯ

4.1 Описание работы системы

Верификация - это подтверждение соответствия конечного продукта предопределённым эталонным требованиям.

Верификация программы подразделяется на две задачи:

1. Установление любым корректным методом факта соответствия программы целям ее создания или приобретения - установление правильности работы.

2. Формализованный контроль и проверка работоспособности программы.

Чтобы убедиться в правильности работы программы и достоверных полученных данных разработаем самостоятельно индивидуальный чек клиента, чек поездки клиента, и различный перечень других операций, и тем самым убедимся в правильности расчетов программы.

Мы имеем в наличии информацию о клиенте взятую из формы «Меню регистрации клиента», а именно из таблицы MS Access путем подключения к базе данных через ADOConnection. ADOTable 1, а именно таблица клиенты показывает перечень реквизитов, необходимых для осуществления добавления, удаления, редактирования записей, а так же их поиска. Что в конечном итоге приведет к формированию отчета и приобретения индивидуального чека клиента.

Запускаем на рабочем столе файл с именем Project1. Через главную форму выходим на меню регистрации клиента. Далее нажимаем на кнопку «Заказать» (рисунок 4.1).

Рисунок 4.1 - Меню регистрации клиента

На форме «Меню оформления чека» (рисунок 4.2) для чека под кодом 21 вводим следующие реквизит код клиента, методом выбора двух клавиш расположенных в Chekbox, происходит алгоритм принятия решений. Через программный код приложение и будет считать цены взятые из таблицы базы данных «Услуги», помимо услуг пользователь может оформлять скидки и прописывать причину, которая отчетливо видна в крайнем левом углу.

Информацию об услугах программа берет из формы «Перечень услуг в действующих ценах» (рисунок 4.3). Когда специалист по работе с клиентами санатория все реквизиты выбрал и поставил дату покупки чека, непосредственно переход к кнопке «Нажать». Таким образом к таблице «Чеки» добавляется новое поле.

Рисунок 4.2 - Меню оформления чека

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

Рисунок 4.3 - Меню оформления чека

Исходя из всего этого составим небольшую задачу. Пусть клиент хотел бы получить все услуги санатория, кроме тенниса, а также ему предоставлялась скидка в размере 10%. Напомним что цены представлены в тысячах белорусских рублей. Рассчитаем скидку клиента:

(30+90+50+100)Ч0,1=27

Скидка клиента составила 27 тысяч белорусских рублей. Затем рассчитаем стоимость предоставляемых услуг:

30+90+50+100-27=243

По результатам расчетов видно, что стоимость предоставляемых услуг санатория составила 243 тысячи рублей.

Проверяем один из конечных итогов программы, а именно индивидуальный чек клиента (рисунок 4.4).

Рисунок 4.4 - Индивидуальный чек клиента, сформированный программой

При верификации полученных результатов видно, что чек, разработанный с помощью программы выглядит гораздо красивее из-за того что она имеет постоянный шаблон и результаты в нее вносятся автоматически, нежели это все формировалось бы вручную. Все полученные данные совпадают и, следовательно, программа работает корректно. Проведем операции для получения второго чека, а именно чека поездки клиента. На рисунке 4.5 отображается информация о водителях, о клиентах и т. д. В центре справа виден расчет стоимости поездки. Рассчитывается по формуле, так же не исключен вариант расчета стоимости в две стороны. После расчета пользователь вносит данные в таблицу. С помощью компонента DBGrid можем удалять и добавлять поля таблицы. Нажав на кнопку чек, программа формирует второй чек «Чек на поездку», который отображен на рисунке 4.6.

Составим небольшую задачу. Пусть клиент захотел съездить в город за покупками, маршрут в 2 стороны обойдется в 150 километров. Стоимость бензина - 92 на сегодняшний момент составляет 8800 белорусских рублей. Смешанный расход топлива данной марки 9 литров на 100 километров. Рассчитаем стоимость поездки:

150:100*9*8800=118800

Таким образом стоимость поездки составит 118800 белорусских рублей, или 118,8 тысяч белорусских рублей.

Рисунок 4.5 - Расчет стоимости поездки, сформированный программой

На клавише «Показать чек» виден сформированный программой «Чек на поездку».

Рисунок 4.6 - Чек на поездку, сформированный программой

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

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

ЗАКЛЮЧЕНИЕ

Рассмотрев теоретические аспекты и практический опыт реализации программы, можно сделать следующие выводы:

Результатом дипломного проекта является программный продукт, «Автоматизированное рабочее место специалиста по работе с клиентами санатория», связанной с хранением данных, их обработкой, формированием чеков и составлением отчетной документации

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

Для автоматизации рабочего места широко используются такие программы как: Delphi, С++ (си-шарп), 1C: Бухгалтерия, АРМ оператор 2.0, 1C: Предприятие, и т. д.

Информационная модель состоит из одного блока «Учет работы санатория», этот блок предоставляет собой общую картину всего санатория.

В ходе разработки приложения была спроектирована и разработана база данных согласно требованиям работы. База данных содержит в себе 7 таблиц, отображающих информацию по разработке программы, а так же связи, типы данных и т.д.

В качестве основной среды разработки использовалась среда разработки Borland Delphi 7.0. Delphi 7.0 - одна из самых мощных систем, позволяющих на самом современном уровне создавать как отдельные прикладные программы, так и разветвленные комплексы, предназначенные для работы в корпоративных сетях и в Internet.

Для организации хранения данных была использована СУБД MS Access, а приложения пользователя было реализовано средствами системы Borland Delphi 7. Для обеспечения комфортной работы пользователей большое внимание уделено разработке пользовательского интерфейса.

В процессе выполнения дипломного проекта:

1. Изучена предметная область санатория.

2. Проанализированы существующие программные средства.

3. Построена информационная модель предметной области и описаны поля таблиц.

4. Выбрана и обоснована среда обработки.

5. Разработан интерфейс, реализующий основные функции программы.

6. Проведена верификация программы.

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

В силу всего сказано, стоит отметить, что создана программа, которая будет упрощать работу специалиста по работе с клиентами. Эта программа также сможет упростить работу и бухгалтерам с помощью выходной документации (отчетов), они смогут гораздо быстрее подсчитать необходимые данные.

В целом при реализации всех этих задач, культурно-развлекательный комплекс будет работать быстрее, европейской сферой обслуживания привлекая ещё большее число клиентов.

Список использованных источников

1. Вендров А.М. Case - технологии. Современные методы и средства проектирования информационных систем. - Internet, http/www.citforum.ru/case.... -158 с., ил.

2. Винокуров Р.Д., Пархомов В.А. Компьютерные технологии в кадровых службах. - И.: “ИГЭА” 2000. - 190 с., ил.

3. Гофман В., Хомоненко А. Delphi быстрый старт: Пер. с англ. - М.: “Нолидж”, 2007. - 290 с., ил.

4. Грабер М. Введение в SQL: Пер. с англ. - М.: “ЛОРИ”, 1996. - 341с., ил.

5. Дейт К. Дж. Введение в системы баз данных: Пер. с англ. - 6-е изд. - К.: Диалектика, 1998. - 784с., ил.

6. Калянов Г.Н. Case-средства. Структурный и системный анализ (автоматизация и применение). - М.: “ЛОРИ”, 1999. - 249 с., ил.

7. Корняков В. Программирование документов и приложений в Delphi. -М.:“БХВ”, 2005. - 490 с., ил.

8. Марка Д., МакГоуэн К. Методология структурного анализа и проектирования: Пер. с англ. - М.: 1999. - 240 с., ил.

9. Хрусталева Е.Ю. Язык запросов “1С:предприятия” - М.: “1С-Паблишинг”, 2010. - 107 с., ил.

10. Чистов Д.В., Харитонов С.А. Практикум по программе “1С:предприятия”: Пер. с англ. 1-е изд. - М.: “1С-Паблишинг”, 2011. - 98 с., ил.

11. Шумаков П.В. Delphi 5 и разработка приложений баз данных. - М.: “Нолидж”, 2001. - 704 с., ил.

12. Шураков В.В., Ясеновский С.В. Автоматизированное рабочее место - М.: “Логистика”, 2000. - 190 с., ил.

ПРИЛОЖЕНИЯ

Приложение А

IDEF0 диаграмма. Контекстная диаграмма

Приложение Б

IDEF0 диаграмма. Декомпозиция учета услуг

Приложение В

IDEF0 диаграмма. Декомпозиция оперативной продажи чека

Приложение Г

IDEF0 диаграмма. Диаграмма дерева узлов

Приложение Д

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, jpeg, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N5: TMenuItem;

Timer1: TTimer;

img1: TImage;

Jnxtns1: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N8: TMenuItem;

mniN9: TMenuItem;

mniN10: TMenuItem;

mniN11: TMenuItem;

mniN12: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N151Click(Sender: TObject);

procedure mniN9Click(Sender: TObject);

procedure mniN10Click(Sender: TObject);

procedure mniN12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i:Boolean;

implementation

uses Unit2, Unit4, Unit6, Unit7, Unit8, Unit10, Unit12, Unit13, Unit15,

Unit19;

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

var kkk:integer;

begin

Form1.Visible:=False;

Form2.Visible:=True;

Form4.ADOTable1.First;

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit2.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit3.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit4.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit5.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if Form1.AlphaBlendValue <> 255 then

Form1.AlphaBlendValue:=Form1.AlphaBlendValue+3;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form6.QuickRep1.Preview;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form7.QuickRep1.Preview;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form1.Visible:=False;

Form10.Visible:=True;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form12.QuickRep1.Preview;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form1.Visible:=False;

Form13.Visible:=True;

end;

procedure TForm1.N151Click(Sender: TObject);

begin

Form1.Visible:=False;

Form15.Visible:=True;

end;

procedure TForm1.mniN9Click(Sender: TObject);

begin

ShowMessage('Автор: Нагорный Станислав Сергеевич ( группа ЗИС - 24)');

end;

procedure TForm1.mniN10Click(Sender: TObject);

begin

Form1.Visible:=False;

Form19.Visible:=True;

end;

procedure TForm1.mniN12Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, Buttons, jpeg, ExtCtrls,

Menus;

type

TForm2 = class(TForm)

ADOTable1: TADOTable;

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

BitBtn4: TBitBtn;

ADOTable1DSDesigner: TWideStringField;

ADOTable1DSDesigner2: TWideStringField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner4: TWideStringField;

ADOTable1DSDesigner5: TWideStringField;

ADOTable1DSDesigner6: TWideStringField;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

BitBtn6: TBitBtn;

BitBtn9: TBitBtn;

GroupBox3: TGroupBox;

Edit7: TEdit;

Button1: TButton;

btn1: TBitBtn;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure btn1Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

po:string;

implementation

uses Unit3, Unit4, Unit1, Unit5, Unit8, Unit17, Unit13;

{$R *.dfm}

procedure TForm2.BitBtn2Click(Sender: TObject);

var WWW:string;

begin

if MessageDlg('Вы действительно хотите удалить эту запись ???',mtWarning,[mbYes,mbNo],0)=MRyes then

begin

WWW:=Form2.ADOTable1.FieldByName('Код клиента').Value;

Form2.ADOTable1.Delete;

with Form3.ADOTable1 do

begin

Form3.ADOTable1.First;

while not eof do

begin

//Form3.ADOTable1.Edit;

if Form3.ADOTable1.FieldByName('Код клиента').Value=WWW then (Form3.ADOTable1.Delete);

Form3.ADOTable1.Next;

end;

end;

end;

end;

procedure TForm2.BitBtn3Click(Sender: TObject);

var

kkk: integer;

begin

if Form2.ADOTable1.RecNo=-1 then Form8.Edit1.Text:='1' else

begin

Form2.ADOTable1.Last;

KKK:=StrToInt(Form2.ADOTable1DSDesigner.value)+1;

Form8.Edit1.Text:=IntToStr(KKK);

end;

Form8.Show;

end;

procedure TForm2.BitBtn4Click(Sender: TObject);

begin

Form2.Visible:=False;

Form3.Visible:=True;

end;

procedure TForm2.BitBtn5Click(Sender: TObject);

begin

Form2.ADOTable1.Locate('Код клиента',Edit7.Text,[loCaseInsensitive,loPartialKey]);

end;

procedure TForm2.N2Click(Sender: TObject);

begin

Form2.Visible:=False;

Form1.Visible:=True

end;

procedure TForm2.N3Click(Sender: TObject);

begin

Form2.Visible:=False;

Form4.Visible:=True;

end;

procedure TForm2.N4Click(Sender: TObject);

begin

Form2.Visible:=False;

Form5.Visible:=True;

end;

procedure TForm2.BitBtn6Click(Sender: TObject);

begin

ADOTable1.First;

end;

procedure TForm2.BitBtn7Click(Sender: TObject);

begin

ADOTable1.Prior;

end;

procedure TForm2.BitBtn8Click(Sender: TObject);

begin

ADOTable1.Next;

end;

procedure TForm2.BitBtn9Click(Sender: TObject);

begin

ADOTable1.Last;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm2.btn1Click(Sender: TObject);

begin

Form2.ADOTable1.Locate('Код клиента',Edit7.Text,[loCaseInsensitive,loPartialKey]);

end;

procedure TForm2.N6Click(Sender: TObject);

begin

Form2.Visible:=False;

Form8.Visible:=True;

procedure TForm2.N7Click(Sender: TObject);

var WWW:string;

begin

if MessageDlg('Вы действительно хотите удалить эту запись ???',mtWarning,[mbYes,mbNo],0)=MRyes then

begin

WWW:=Form2.ADOTable1.FieldByName('Код клиента').Value;

Form2.ADOTable1.Delete;

with Form2.ADOTable1 do

begin

Form2.ADOTable1.First;

while not eof do

begin

if Form2.ADOTable1.FieldByName('Код клиента').Value=WWW then (Form13.ADOTable1.Delete);

Form2.ADOTable1.Next;

end;

end;

end;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ComCtrls, Menus,

jpeg, ExtCtrls, Mask, DBCtrls;

type

TForm3 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

CheckBox6: TCheckBox;

CheckBox7: TCheckBox;

CheckBox8: TCheckBox;

CheckBox9: TCheckBox;

CheckBox10: TCheckBox;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

GroupBox4: TGroupBox;

GroupBox5: TGroupBox;

MonthCalendar1: TMonthCalendar;

BitBtn1: TBitBtn;

GroupBox7: TGroupBox;

GroupBox8: TGroupBox;

CheckBox11: TCheckBox;

CheckBox12: TCheckBox;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

ADOTable1DSDesigner: TWideStringField;

ADOTable1DSDesigner2: TWideStringField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner4: TWideStringField;

ADOTable1DSDesigner5: TWideStringField;

ADOTable1DSDesigner6: TWideStringField;

ADOTable1DSDesigner7: TWideStringField;

ADOTable1DSDesigner8: TWideStringField;

ADOTable1DSDesigner9: TWideStringField;

ADOTable1DSDesigner10: TWideStringField;

ADOTable1DSDesigner11: TDateTimeField;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

BitBtn6: TBitBtn;

Button1: TButton;

Edit6: TEdit;

BitBtn7: TBitBtn;

Label3: TLabel;

edt1: TEdit;

chk1: TCheckBox;

chk2: TCheckBox;

edt2: TEdit;

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure CheckBox3Click(Sender: TObject);

procedure CheckBox4Click(Sender: TObject);

procedure CheckBox5Click(Sender: TObject);

procedure CheckBox6Click(Sender: TObject);

procedure CheckBox7Click(Sender: TObject);

procedure CheckBox8Click(Sender: TObject);

procedure CheckBox9Click(Sender: TObject);

procedure CheckBox10Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure CheckBox11Click(Sender: TObject);

procedure CheckBox12Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure ADOTable1CalcFields(DataSet: TDataSet);

procedure chk1Click(Sender: TObject);

procedure chk2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

po: string;

implementation

uses Unit4, Unit2, Unit5, Unit1, Unit8, Unit7, Unit9;

{$R *.dfm}

procedure TForm3.CheckBox1Click(Sender: TObject);

begin

if (Form3.CheckBox1.Checked=False)and(Form3.CheckBox2.Checked=False)

then Form3.CheckBox1.Checked:=True;

if Form3.CheckBox1.Checked=True then

begin

Form3.CheckBox2.Checked:=False;

Form4.ADOTable1.First;

Form4.ADOTable1.MoveBy(1);

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end;

end;

procedure TForm3.CheckBox2Click(Sender: TObject);

begin

Form4.Edit1.Text:='0';

if (Form3.CheckBox1.Checked=False)and(Form3.CheckBox2.Checked=False)

then Form3.CheckBox2.Checked:=True;

if Form3.CheckBox2.Checked=True then

begin

Form3.CheckBox1.Checked:=False;

end;

end;

procedure TForm3.CheckBox3Click(Sender: TObject);

begin

if (Form3.CheckBox3.Checked=False)and(Form3.CheckBox4.Checked=False)

then Form3.CheckBox3.Checked:=True;

if Form3.CheckBox3.Checked=True then

begin

Form3.CheckBox4.Checked:=False;

Form4.ADOTable1.First;

Form4.ADOTable1.MoveBy(2);

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end;

end;

procedure TForm3.CheckBox4Click(Sender: TObject);

begin

Form4.Edit2.Text:='0';

if (Form3.CheckBox3.Checked=False)and(Form3.CheckBox4.Checked=False)

then Form3.CheckBox4.Checked:=True;

if Form3.CheckBox4.Checked=True then

begin

Form3.CheckBox3.Checked:=False;

end;

end;

procedure TForm3.CheckBox5Click(Sender: TObject);

begin

if (Form3.CheckBox5.Checked=False)and(Form3.CheckBox6.Checked=False)

then Form3.CheckBox5.Checked:=True;

if Form3.CheckBox5.Checked=True then

begin

Form3.CheckBox6.Checked:=False;

Form4.ADOTable1.First;

Form4.ADOTable1.MoveBy(3);

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end;

end;

procedure TForm3.CheckBox6Click(Sender: TObject);

begin

Form4.Edit3.Text:='0';

if (Form3.CheckBox5.Checked=False)and(Form3.CheckBox6.Checked=False)

then Form3.CheckBox6.Checked:=True;

if Form3.CheckBox6.Checked=True then

begin

Form3.CheckBox5.Checked:=False;

end;

end;

procedure TForm3.CheckBox7Click(Sender: TObject);

begin

if (Form3.CheckBox7.Checked=False)and(Form3.CheckBox8.Checked=False)

then Form3.CheckBox7.Checked:=True;

if Form3.CheckBox7.Checked=True then

begin

Form3.CheckBox8.Checked:=False;

Form4.ADOTable1.First;

Form4.ADOTable1.MoveBy(4);

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end;

end;

procedure TForm3.CheckBox8Click(Sender: TObject);

begin

Form4.Edit4.Text:='0';

if (Form3.CheckBox7.Checked=False)and(Form3.CheckBox7.Checked=False)

then Form3.CheckBox8.Checked:=True;

if Form3.CheckBox8.Checked=True then

begin

Form3.CheckBox7.Checked:=False;

end;

end;

procedure TForm3.CheckBox9Click(Sender: TObject);

begin

if (Form3.CheckBox9.Checked=False)and(Form3.CheckBox10.Checked=False)

then Form3.CheckBox9.Checked:=True;

if Form3.CheckBox9.Checked=True then

begin

Form3.CheckBox10.Checked:=False;

end;

end;

procedure TForm3.CheckBox10Click(Sender: TObject);

begin

Form4.Edit5.Text:='0';

if (Form3.CheckBox9.Checked=False)and(Form3.CheckBox10.Checked=False)

then Form3.CheckBox10.Checked:=True;

if Form3.CheckBox10.Checked=True then

begin

Form3.CheckBox9.Checked:=False;

end;

end;

procedure TForm3.BitBtn1Click(Sender: TObject);

var a,b,c,d,e:String;

x,ccc:Real;

begin

a:=Form4.Edit1.Text;

b:=Form4.Edit2.Text;

c:=Form4.Edit3.Text;

d:=Form4.Edit4.Text;

e:=Form4.Edit5.Text;

x:=StrToFloat(Edit2.Text);

if CheckBox11.Checked=True then

begin

Form3.ADOTable1.Insert;

Form3.ADOTable1.FieldByName('Код чека').Value:=Edt2.Text;

Form3.ADOTable1.FieldByName('Код клиента').Value:=Edt1.Text;

if Form3.CheckBox1.Checked=True then Form3.ADOTable1DSDesigner3.Value:=CheckBox1.Caption;

if Form3.CheckBox2.Checked=True then Form3.ADOTable1DSDesigner3.Value:=CheckBox2.Caption;

if Form3.CheckBox3.Checked=True then Form3.ADOTable1DSDesigner4.Value:=CheckBox3.Caption;

if Form3.CheckBox4.Checked=True then Form3.ADOTable1DSDesigner4.Value:=CheckBox4.Caption;

if Form3.CheckBox5.Checked=True then Form3.ADOTable1DSDesigner5.Value:=CheckBox5.Caption;

if Form3.CheckBox6.Checked=True then Form3.ADOTable1DSDesigner5.Value:=CheckBox6.Caption;

if Form3.CheckBox7.Checked=True then Form3.ADOTable1DSDesigner6.Value:=CheckBox7.Caption;

if Form3.CheckBox8.Checked=True then Form3.ADOTable1DSDesigner6.Value:=CheckBox8.Caption;

if Form3.CheckBox9.Checked=True then Form3.ADOTable1DSDesigner7.Value:=CheckBox9.Caption;

if Form3.CheckBox10.Checked=True then Form3.ADOTable1DSDesigner7.Value:=CheckBox10.Caption;

if Form3.CheckBox11.Checked=True then Form3.ADOTable1DSDesigner8.Value:=CheckBox11.Caption;

if Form3.CheckBox12.Checked=True then Form3.ADOTable1DSDesigner8.Value:=CheckBox12.Caption;

Form3.ADOTable1.FieldByName('Процент скидки').Value:=Edit2.Text;

Form3.ADOTable1.FieldByName('Дата покупки').Value:=Form3.MonthCalendar1.Date;

Form3.ADOTable1.FieldByName('Цена').Value:=FloatToStr((StrToFloat(a)+StrToFloat(b)+StrToFloat(c)+StrToFloat(d)+StrToFloat(e)-(StrToFloat(a)+StrToFloat(b)+StrToFloat(c)+StrToFloat(d)+StrToFloat(e))/100*x)); //FloatToStr(StrToFloat(a)+StrToFloat(b)+StrToFloat(c)+StrToFloat(d)+StrToFloat(e)-FloatToStr(StrToFloat(a)+StrToFloat(b)+StrToFloat(c)+StrToFloat(d)+StrToFloat(e)/100*x);

Form3.ADOTable1.Post;

Form5.ADOTable1.Insert;

Form5.ADOTable1.FieldByName('Обоснование льготы').Value:=Form3.Edit1.Text;

Form5.ADOTable1.FieldByName('Процент скидки').Value:=Form3.Edit2.Text;

Form5.ADOTable1.Post;

end;

If CheckBox12.Checked=True then

begin

Form3.ADOTable1.Insert;

Form3.ADOTable1.FieldByName('Код чека').Value:=Form3.Edt2.Text;

Form3.ADOTable1.FieldByName('Код клиента').Value:=Form3.Edt1.Text;

if Form3.CheckBox1.Checked=True then Form3.ADOTable1DSDesigner3.Value:=CheckBox1.Caption;

if Form3.CheckBox2.Checked=True then Form3.ADOTable1DSDesigner3.Value:=CheckBox2.Caption;

if Form3.CheckBox3.Checked=True then Form3.ADOTable1DSDesigner4.Value:=CheckBox3.Caption;

if Form3.CheckBox4.Checked=True then Form3.ADOTable1DSDesigner4.Value:=CheckBox4.Caption;

if Form3.CheckBox5.Checked=True then Form3.ADOTable1DSDesigner5.Value:=CheckBox5.Caption;

if Form3.CheckBox6.Checked=True then Form3.ADOTable1DSDesigner5.Value:=CheckBox6.Caption;

if Form3.CheckBox7.Checked=True then Form3.ADOTable1DSDesigner6.Value:=CheckBox7.Caption;

if Form3.CheckBox8.Checked=True then Form3.ADOTable1DSDesigner6.Value:=CheckBox8.Caption;

if Form3.CheckBox9.Checked=True then Form3.ADOTable1DSDesigner7.Value:=CheckBox9.Caption;

if Form3.CheckBox10.Checked=True then Form3.ADOTable1DSDesigner7.Value:=CheckBox10.Caption;

if Form3.CheckBox11.Checked=True then Form3.ADOTable1DSDesigner8.Value:=CheckBox11.Caption;

if Form3.CheckBox12.Checked=True then Form3.ADOTable1DSDesigner8.Value:=CheckBox12.Caption;

Form3.ADOTable1.FieldByName('Процент скидки').Value:='0';

Form3.ADOTable1.FieldByName('Дата покупки').Value:=Form3.MonthCalendar1.Date;

ccc:=StrToFloat(a)+StrToFloat(b)+StrToFloat(c)+StrToFloat(d)+StrToFloat(e);

if Form3.ADOTable1.FieldByName('Скидка').Value = 'Да' then

Form3.ADOTable1.FieldByName('Цена').Value:=FloatToStr(ccc*(1-strtofloat(Form3.ADOTable1.FieldByName('Процент скидки').Value)))

else

Form3.ADOTable1.FieldByName('Цена').Value:=FloatToStr(ccc*(1-strtofloat(Form3.ADOTable1.FieldByName('Процент скидки').Value)));

Form3.ADOTable1.Post;

end;

end;

procedure TForm3.CheckBox11Click(Sender: TObject);

begin

if (Form3.CheckBox11.Checked=False)and(Form3.CheckBox12.Checked=False)

then

begin

Form3.CheckBox11.Checked:=True;

Form3.Edit1.Enabled:=False;

Form3.Edit2.Enabled:=False;

end;

if Form3.CheckBox11.Checked=True then

begin

Form3.Edit1.Enabled:=True;

Form3.Edit1.Color:=clWindow;

Form3.Edit2.Enabled:=True;

Form3.Edit2.Color:=clWindow;

Form3.CheckBox12.Checked:=False;

end

else

end;

procedure TForm3.CheckBox12Click(Sender: TObject);

begin

if (Form3.CheckBox11.Checked=False)and(Form3.CheckBox12.Checked=False)

then

begin

Form3.CheckBox12.Checked:=True;

Form3.Edit1.Enabled:=False;

Form3.Edit2.Enabled:=False;

end;

if Form3.CheckBox12.Checked=True then

begin

Form3.Edit1.Color:=cl3DLight;

Form3.Edit1.Enabled:=False;

Form3.Edit2.Color:=cl3DLight;

Form3.Edit2.Enabled:=False;

Form3.CheckBox11.Checked:=False;

end;

end;

procedure TForm3.BitBtn5Click(Sender: TObject);

begin

ADOTable1.Last;

end;

procedure TForm3.BitBtn2Click(Sender: TObject);

begin

ADOTable1.First;

end;

procedure TForm3.BitBtn3Click(Sender: TObject);

begin

ADOTable1.Prior;

end;

procedure TForm3.BitBtn4Click(Sender: TObject);

begin

ADOTable1.Next;

end;

procedure TForm3.N2Click(Sender: TObject);

begin

Form3.Visible:=False;

Form1.Visible:=True;

end;

procedure TForm3.N3Click(Sender: TObject);

begin

Form3.Visible:=False;

Form4.Visible:=True;

end;

procedure TForm3.BitBtn6Click(Sender: TObject);

var WWW:string;

begin

if MessageDlg('Вы действительно хотите удалить эту запись ???',mtWarning,[mbYes,mbNo],0)=MRyes then

begin

WWW:=Form3.ADOTable1.FieldByName('Код клиента').Value;

Form3.ADOTable1.Delete;

with Form2.ADOTable1 do

begin

Form2.ADOTable1.First;

while not eof do

begin

if Form2.ADOTable1.FieldByName('Код клиента').Value=WWW then (Form2.ADOTable1.Delete);

Form2.ADOTable1.Next;

end;

end;

end;

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm3.BitBtn7Click(Sender: TObject);

begin

Form9.ADOTable1.Filtered:=false;

Form9.ADOTable1.Filter:='[Код чека]='+Form3.Edit6.Text;

Form9.ADOTable1.Filtered:=true;

Form9. QuickRep1.Preview;

Form9.ADOTable1.Filtered:=false;

Form3.Edit6.Text:='';

end;

procedure TForm3.ADOTable1CalcFields(DataSet: TDataSet);

begin

Form3.ADOTable1.FieldByName('Код чека').AsInteger:=Form3.ADOTable1.Recno;

end;

procedure TForm3.chk1Click(Sender: TObject);

begin

if (Form3.Chk1.Checked=False)

then

begin

Form3.Chk1.Checked:=True;

Form3.Edt1.Enabled:=False;

end;

if Form3.Chk1.Checked=True then

begin

Form3.Edt1.Enabled:=True;

Form3.Edt1.Color:=clWindow;

end

else

end;

procedure TForm3.chk2Click(Sender: TObject);

begin

if (Form3.Chk2.Checked=False)

then

begin

Form3.Chk2.Checked:=True;

Form3.Edt2.Enabled:=False;

end;

if Form3.Chk2.Checked=True then

begin

Form3.Edt2.Enabled:=True;

Form3.Edt2.Color:=clWindow;

end

else

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, jpeg, ExtCtrls, StdCtrls, Buttons,

Menus;

type

TForm4 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Edit1: TEdit;

Edit2: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

CheckBox1: TCheckBox;

BitBtn1: TBitBtn;

Edit3: TEdit;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Bitbutton1: TButton;

procedure CheckBox1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure Bitbutton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit2, Unit1;

{$R *.dfm}

procedure TForm4.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked=False then

begin

Form4.Edit1.Enabled:=False;

Form4.Edit2.Enabled:=False;

Form4.Edit3.Enabled:=False;

Form4.Edit4.Enabled:=False;

Form4.Edit5.Enabled:=False;

//Если не поставлена галочка "Изменить" в "Тариф" то Edit 1-5 становятся др. цвета-неактивными

Form4.Edit1.Color:=cl3DLight;

Form4.Edit2.Color:=cl3DLight;

Form4.Edit3.Color:=cl3DLight;

Form4.Edit4.Color:=cl3DLight;

Form4.Edit5.Color:=cl3DLight;

//Присвоение Edit`у значения

Form4.ADOTable1.First;

Form4.Edit1.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit2.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit3.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit4.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

Form4.ADOTable1.Next;

Form4.Edit5.Text:=Form4.ADOTable1.FieldByName('Цена').Value;

end

else begin

Form4.Edit1.Enabled:=True;

Form4.Edit2.Enabled:=True;

Form4.Edit3.Enabled:=True;

Form4.Edit4.Enabled:=True;

Form4.Edit5.Enabled:=True;

//Если поставлена галочка "Изменить" в "Тариф" то Edit 1-5 становятся др. цвета-активными

Form4.Edit1.Color:=clWindow;

Form4.Edit2.Color:=clWindow;

Form4.Edit3.Color:=clWindow;

Form4.Edit4.Color:=clWindow;

Form4.Edit5.Color:=clWindow;

end;

end;

procedure TForm4.BitBtn1Click(Sender: TObject);

begin

Form4.ADOTable1.First;

Form4.ADOTable1.Edit;

Form4.ADOTable1.FieldByName('Цена').Value:=Form4.Edit1.Text;

Form4.ADOTable1.Post;

Form4.ADOTable1.Next;

Form4.ADOTable1.Edit;

Form4.ADOTable1.FieldByName('Цена').Value:=Form4.Edit2.Text;

Form4.ADOTable1.Post;

Form4.ADOTable1.Next;

Form4.ADOTable1.Edit;

Form4.ADOTable1.FieldByName('Цена').Value:=Form4.Edit3.Text;

Form4.ADOTable1.Post;

Form4.ADOTable1.Next;

Form4.ADOTable1.Edit;

Form4.ADOTable1.FieldByName('Цена').Value:=Form4.Edit4.Text;

Form4.ADOTable1.Post;

Form4.ADOTable1.Next;

Form4.ADOTable1.Edit;

Form4.ADOTable1.FieldByName('Цена').Value:=Form4.Edit5.Text;

Form4.ADOTable1.Post;

end;

procedure TForm4.N2Click(Sender: TObject);

begin

Form4.Visible:=False;

Form1.Visible:=True;

end;

procedure TForm4.Bitbutton1Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, Menus, StdCtrls, Buttons, ExtCtrls,

DBCtrls;

type

TForm5 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

GroupBox2: TGroupBox;

BitBtn5: TBitBtn;

Edit2: TEdit;

Bitbutton1: TButton;

dbnvgr1: TDBNavigator;

procedure N2Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure Bitbutton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

po:string;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm5.N2Click(Sender: TObject);

begin

Form5.Visible:=False;

Form1.Visible:=True;

end;

procedure TForm5.BitBtn5Click(Sender: TObject);

begin

Form5.ADOTable1.Locate('Код клиента',Edit2.Text,[loCaseInsensitive,loPartialKey]);

end;

procedure TForm5.Bitbutton1Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, QuickRpt, QRCtrls, ExtCtrls;

type

TForm6 = class(TForm)

QuickRep1: TQuickRep;

TitleBand1: TQRBand;

PageFooterBand1: TQRBand;

QRSysData1: TQRSysData;

QRSubDetail1: TQRSubDetail;

ADOTable1: TADOTable;

DataSource1: TDataSource;

QRShape6: TQRShape;

QRDBText7: TQRDBText;

QRShape1: TQRShape;

QRShape2: TQRShape;

QRShape3: TQRShape;

QRShape4: TQRShape;

QRShape5: TQRShape;

QRDBText8: TQRDBText;

QRDBText9: TQRDBText;

QRDBText10: TQRDBText;

QRDBText11: TQRDBText;

QRDBText12: TQRDBText;

PageHeaderBand1: TQRBand;

QRLabel1: TQRLabel;

QRSysData2: TQRSysData;

QRShape7: TQRShape;

QRShape9: TQRShape;

QRShape10: TQRShape;

QRShape11: TQRShape;

QRShape12: TQRShape;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRShape8: TQRShape;

QRLabel7: TQRLabel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *.dfm}

end.

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QuickRpt, QRCtrls, ExtCtrls, DB, ADODB;

type

TForm7 = class(TForm)

QuickRep1: TQuickRep;

TitleBand1: TQRBand;

PageFooterBand1: TQRBand;

QRSysData1: TQRSysData;

QRSubDetail1: TQRSubDetail;

DataSource1: TDataSource;

ADOTable1: TADOTable;

QRDBText2: TQRDBText;

QRShape1: TQRShape;

PageHeaderBand1: TQRBand;

QRSysData2: TQRSysData;

QRLabel1: TQRLabel;

QRShape11: TQRShape;

QRShape12: TQRShape;

QRShape13: TQRShape;

QRShape14: TQRShape;

QRShape15: TQRShape;

QRLabel12: TQRLabel;

QRLabel13: TQRLabel;

QRLabel14: TQRLabel;

QRLabel15: TQRLabel;

QRLabel16: TQRLabel;

QRShape16: TQRShape;

QRShape17: TQRShape;

QRShape18: TQRShape;

QRShape19: TQRShape;

QRLabel17: TQRLabel;

QRLabel18: TQRLabel;

QRLabel19: TQRLabel;

QRLabel20: TQRLabel;

QRShape20: TQRShape;

QRShape21: TQRShape;

QRLabel21: TQRLabel;

QRLabel22: TQRLabel;

QRShape2: TQRShape;

QRShape3: TQRShape;

QRShape22: TQRShape;

QRShape23: TQRShape;

QRShape24: TQRShape;

QRShape25: TQRShape;

QRShape26: TQRShape;

QRShape27: TQRShape;

QRShape28: TQRShape;

QRDBText11: TQRDBText;

QRDBText12: TQRDBText;

QRDBText13: TQRDBText;

QRDBText14: TQRDBText;

QRDBText15: TQRDBText;

QRDBText16: TQRDBText;

QRDBText17: TQRDBText;

QRDBText18: TQRDBText;

QRDBText19: TQRDBText;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

{$R *.dfm}

end.

unit Unit8;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, Buttons, jpeg, ExtCtrls,

Menus;

type

TForm8 = class(TForm)

Label1: TLabel;

Label10: TLabel;

Label9: TLabel;

Label8: TLabel;

Label7: TLabel;

Label6: TLabel;

BitBtn1: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Bitbutton1: TButton;

procedure BitBtn1Click(Sender: TObject);

procedure Bitbutton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

uses Unit2, Unit14, Unit13;

{$R *.dfm}

procedure TForm8.BitBtn1Click(Sender: TObject);

var ppp:integer;

begin

Form2.ADOTable1.Last; //перемещ. курсор на последнюю позицию

PPP:=Form2.ADOTable1.RecNo+1;

Form2.ADOTable1.Insert;

if PPP=0 then ppp:=1;

Form2.ADOTable1.Insert;

Form2.ADOTable1.FieldByName('Код клиента').Value:=Edit1.Text;

Form2.ADOTable1.FieldByName('Фамилия').Value:=Edit2.Text;

Form2.ADOTable1.FieldByName('Имя').Value:=Edit3.Text;

Form2.ADOTable1.FieldByName('Отчество').Value:=Edit4.Text;

Form2.ADOTable1.FieldByName('Год рождения').Value:=Edit5.Text;

Form2.ADOTable1.FieldByName('Возраст').Value:=IntToStr(2014-StrToInt(Form8.Edit5.Text));

Form2.ADOTable1.Post;

Form8.Close;

Form8.Edit2.Text:='';

Form8.Edit3.Text:='';

Form8.Edit4.Text:='';

Form8.Edit5.Text:='';

Form8.Visible:=False;

Form2.Visible:=True;

end;

procedure TForm8.Bitbutton1Click(Sender: TObject);

begin

Form8.Visible:=False;

Form2.Visible:=True;

end;

end.

unit Unit9;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, QRCtrls, QuickRpt, ExtCtrls;

type

TForm9 = class(TForm)

ADOTable1: TADOTable;

DataSource1: TDataSource;

QuickRep1: TQuickRep;

QRSubDetail1: TQRSubDetail;

QRDBText2: TQRDBText;

QRDBText11: TQRDBText;

QRDBText13: TQRDBText;

QRDBText14: TQRDBText;

QRDBText15: TQRDBText;

QRDBText16: TQRDBText;

QRDBText17: TQRDBText;

QRDBText18: TQRDBText;

QRDBText19: TQRDBText;

PageHeaderBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

QRLabel9: TQRLabel;

QRLabel10: TQRLabel;

QRLabel11: TQRLabel;

QRLabel23: TQRLabel;

QRSysData2: TQRSysData;

QRLabel12: TQRLabel;

QRLabel13: TQRLabel;

QRLabel: TQRLabel;

QRLabel151: TQRLabel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form9: TForm9;

implementation

{$R *.dfm}

end.

unit Unit10;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons;

type

TForm10 = class(TForm)

Mainmenu1: TMainMenu;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

dbgrd1: TDBGrid;

btn1: TButton;

btn2: TButton;

btn4: TButton;

btn5: TButton;

btn3v: TButton;

btn: TButton;

ADOTable1DSDesigner: TWideStringField;

ADOTable1DSDesigner2: TWideStringField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner4: TWideStringField;

lbl1: TLabel;

N1: TMenuItem;

N2: TMenuItem;

Bitbutton1: TButton;

procedure btn2Click(Sender: TObject);

procedure btn3vClick(Sender: TObject);

procedure btn4Click(Sender: TObject);

procedure btn5Click(Sender: TObject);

procedure btnClick(Sender: TObject);

procedure btn1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure Bitbutton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form10: TForm10;

po:string;

implementation

uses Unit11, Unit2, Unit1;

{$R *.dfm}

procedure TForm10.btn2Click(Sender: TObject);

begin

ADOTable1.Prior;

end;

procedure TForm10.btn3vClick(Sender: TObject);

begin

ADOTable1.Next;

end;

procedure TForm10.btn4Click(Sender: TObject);

begin

ADOTable1.First;

end;

procedure TForm10.btn5Click(Sender: TObject);

begin

ADOTable1.Last;

end;

procedure TForm10.btnClick(Sender: TObject);

var

kkk: integer;

begin

if Form10.ADOTable1.RecNo=-1 then Form11.edt1.Text:='1' else

begin

Form2.ADOTable1.Last;

KKK:=StrToInt(Form10.ADOTable1DSDesigner.value)+1;

Form11.edt1.Text:=IntToStr(KKK);

end;

Form11.Show;

end;

procedure TForm10.btn1Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm10.N2Click(Sender: TObject);

begin

Form10.Visible:=False;

Form1.Visible:=True;

end;

procedure TForm10.Bitbutton1Click(Sender: TObject);

var WWW:string;

begin

if MessageDlg('Вы действительно хотите удалить эту запись ???',mtWarning,[mbYes,mbNo],0)=MRyes then

begin

WWW:=Form10.ADOTable1.FieldByName('Код клиента').Value;

Form10.ADOTable1.Delete;

with Form10.ADOTable1 do

begin

Form10.ADOTable1.First;

while not eof do

begin

if Form10.ADOTable1.FieldByName('Код клиента').Value=WWW then (Form10.ADOTable1.Delete);

Form10.ADOTable1.Next;

end;

end;

end;

end;

end.

unit Unit11;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Menus;

type

TForm11 = class(TForm)

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

lbl5: TLabel;

edt1: TEdit;

edt2: TEdit;

edt3: TEdit;

edt4: TEdit;

btn1: TBitBtn;

Mainmenu1: TMainMenu;

mniN1: TMenuItem;

Bitbutton1: TButton;

procedure btn1Click(Sender: TObject);

procedure mniN1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form11: TForm11;

implementation

uses Unit10, Unit3;

{$R *.dfm}

procedure TForm11.btn1Click(Sender: TObject);

var ppp:integer;

begin

Form10.ADOTable1.Last; //перемещ. курсор на последнюю позицию

PPP:=Form10.ADOTable1.RecNo+1;

Form10.ADOTable1.Insert;

if PPP=0 then ppp:=1;

Form10.ADOTable1.Insert;

Form10.ADOTable1.FieldByName('Код сотрудника').Value:=edt1.Text;

Form10.ADOTable1.FieldByName('Фамилия').Value:=edt2.Text;

Form10.ADOTable1.FieldByName('Должность').Value:=edt3.Text;

Form10.ADOTable1.FieldByName('Зарплата тыс р').Value:=edt4.Text;

Form10.ADOTable1.Post;

Form11.Close;

Form11.edt2.Text:='';

Form11.edt3.Text:='';

Form11.edt4.Text:='';

end;

procedure TForm11.mniN1Click(Sender: TObject);

begin

Form11.Visible:=False;

Form10.Visible:=True;

end;

end.

unit Unit12;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QRCtrls, QuickRpt, ExtCtrls, DB, ADODB;

type

TForm12 = class(TForm)

ADOTable1: TADOTable;

DataSource1: TDataSource;

QuickRep1: TQuickRep;

PageFooterBand1: TQRBand;

QRSysData1: TQRSysData;

QRSubDetail1: TQRSubDetail;

QRShape6: TQRShape;

QRDBText7: TQRDBText;

QRShape1: TQRShape;

QRShape2: TQRShape;

QRShape3: TQRShape;

QRDBText8: TQRDBText;

QRDBText9: TQRDBText;

QRDBText10: TQRDBText;

PageHeaderBand1: TQRBand;

QRLabel1: TQRLabel;

QRSysData2: TQRSysData;

qrbndTitleBand1: TQRBand;

qrshp1: TQRShape;

qrshp2: TQRShape;

qrshp3: TQRShape;

qrlbl1: TQRLabel;

qrlbl2: TQRLabel;

qrlbl5: TQRLabel;

qrshp5: TQRShape;

qrlbl6: TQRLabel;

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, DB, ADODB, Grids, DBGrids, Menus, StdCtrls, Buttons, ExtCtrls,

DBCtrls;

type

TForm13 = class(TForm)

Mainmenu: TMainMenu;

dbgrd1: TDBGrid;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

N1: TMenuItem;

N3: TMenuItem;

mniN5: TMenuItem;

mniN6: TMenuItem;

mniN7: TMenuItem;

btn2: TButton;

dbnvgr1: TDBNavigator;

procedure btn1Click(Sender: TObject);

procedure btn2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure mniN6Click(Sender: TObject);

procedure mniN7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form13: TForm13;

implementation

uses Unit14, Unit16, Unit12, Unit11, Unit1, Unit2;

{$R *.dfm}

procedure TForm13.btn1Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm13.btn2Click(Sender: TObject);

begin

ADOTable1.Last;

end;

procedure TForm13.N3Click(Sender: TObject);

begin

Form13.Visible:=False;

Form16.Visible:=True;

end;

procedure TForm13.mniN6Click(Sender: TObject);

begin

Form13.Visible:=False;

Form1.Visible:=True;

end;

procedure TForm13.mniN7Click(Sender: TObject);

begin

Form13.Visible:=False;

Form2.Visible:=True;

end;

end.

unit Unit14;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, QuickRpt, QRCtrls, ExtCtrls;

type

TForm14 = class(TForm)

qckrp1: TQuickRep;

qrsbdtl1: TQRSubDetail;

qrdbtxt1: TQRDBText;

qrdbtxt2: TQRDBText;

qrdbtxt3: TQRDBText;

qrdbtxt4: TQRDBText;

qrdbtxt5: TQRDBText;

qrdbtxt8: TQRDBText;

QRLabel152: TQRLabel;

QRLabel153: TQRLabel;

QRLabel154: TQRLabel;

QRLabel155: TQRLabel;

QRLabel156: TQRLabel;

QRLabel157: TQRLabel;

QRLabel1511: TQRLabel;

qrsysdt1: TQRSysData;

QRLabel1512: TQRLabel;

QRLabel1513: TQRLabel;

QRLabel: TQRLabel;

QRLabel15: TQRLabel;

qrbndPageHeaderBand1: TQRBand;

QRLabel1514: TQRLabel;

tbl1: TADOTable;

ds1: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form14: TForm14;

implementation

{$R *.dfm}

end.

unit Unit19;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;

type

TForm19 = class(TForm)

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel; // поле вывода результата расчета

edt1: TEdit; // расстояние

edt2: TEdit; // цена литра бензина

edt3: TEdit; // потребление бензина на 100 км

chk1: TCheckBox; // True - поездка туда и обратно

Bitbutton1: TButton;

lbl5: TLabel;

lbl6: TLabel;

Bitbutton2: TButton;

Bitbutton3: TButton;

lbl7: TLabel;

dbgrd1: TDBGrid;

ds1: TDataSource;

Mainmenu2: TMainMenu;

con1: TADOConnection;

tbl1: TADOTable;

dbnvgr1: TDBNavigator;

edt4: TEdit;

wdstrngfldtbl1DSDesigner: TWideStringField;

wdstrngfldtbl1DSDesigner2: TWideStringField;

wdstrngfldtbl1DSDesigner1: TWideStringField;

wdstrngfldtbl1DSDesigner3: TWideStringField;

wdstrngfldtbl1DSDesigner4: TWideStringField;

wdstrngfldtbl1DSDesigner5: TWideStringField;

wdstrngfldtbl1DSDesigner6: TWideStringField;

mniN1: TMenuItem;

mniN2: TMenuItem;

procedure edt1KeyPress(Sender: TObject; var Key: Char);

procedure edt2KeyPress(Sender: TObject; var Key: Char);

procedure edt3KeyPress(Sender: TObject; var Key: Char);

procedure Bitbutton1Click(Sender: TObject);

procedure mniN2Click(Sender: TObject);

procedure Bitbutton3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form19: TForm19;

implementation

uses Unit1, Unit14;

// проверяет, является ли символ допустимым

// во время ввода дробного числа

function IsFloat(ch : char; st: string) : Boolean;

begin

if (ch >= '0') and (ch <= '9') // цифры

or (ch = #13) // клавиша <Enter>

or (ch = #8) // клавиша <Back Space>

then

begin

IsFloat := True; // символ верный

Exit; // выход из функции

end;

case ch of

'-': if Length(st) = 0 then IsFloat := True;

',': if ( Pos(',',st) = 0)

and (st[Length(st)] >= '0')

and (st[Length(st)] <= '9')

then // разделитель можно ввести только после цифры

// и если он еще не введен

IsFloat := True;

else // остальные символы запрещены

IsFloat := False;

end;

end;

{$R *.dfm}

// нажатие клавиши в поле Расстояние

procedure TForm19.edt1KeyPress(Sender: TObject; var Key: Char);

begin

if Key = Char(VK_RETURN)

then Edt2.SetFocus // переместить курсор в поле Цена

else If not IsFloat(Key,Edt2.Text) then Key := Chr(0);

end;

// нажатие клавиши в поле Цена

procedure TForm19.edt2KeyPress(Sender: TObject; var Key: Char);

begin

if Key = Char(VK_RETURN)

then Edt3.SetFocus // переместить курсор в поле Потребление

else If not IsFloat(Key,Edt2.Text) then Key := Chr(0);

end;

// нажатие клавиши в поле Потребление

procedure TForm19.edt3KeyPress(Sender: TObject; var Key: Char);

begin

if Key = Char(VK_RETURN)

then BitButton1.SetFocus // // сделать активной кнопку Вычислить

else If not IsFloat(Key,Edt2.Text) then Key := Chr(0);

end;

// щелчок на кнопке Вычислить


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

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