Автоматизированное рабочее место специалиста по работе с клиентами санатория
Анализ информационных систем в области автоматизации деятельности развлекательных центров. Построение информационной модели для специалиста по работе с клиентами санатория. Создание унифицированных форм и их электронных версий. Верификация программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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;
// щелчок на кнопке Вычислить
Подобные документы
Анализ информационных систем деятельности культурно-оздоровительных центров. Создание автоматизированного рабочего места специалиста по работе с клиентами санатория. Построение модели предметной области, описание полей таблиц; верификация программы.
дипломная работа [1,8 M], добавлен 16.09.2016Создание информационной системы менеджера по работе с клиентами: разработка схемы потоков информации, концептуальной, датологической моделей базы данных, форм пользовательского интерфейса, основных невизуальных компонент, выполнение блок-схемы программы.
курсовая работа [2,4 M], добавлен 14.03.2010Цели социальной работы как профессиональной деятельности. Описание работы специалиста отдела социальной поддержки. Автоматизированное рабочее место специалиста, его функции, цели и задачи. Техническое и программное обеспечение рабочего места сотрудника.
курсовая работа [36,0 K], добавлен 14.12.2014Анализ технического задания, разработка программных модулей, средств тестирования и руководство пользователя. Масштабируемые средства для построения баз данных. Расчет эффективности программы "Автоматизированное рабочее место специалиста ООО "Бравида".
дипломная работа [1,9 M], добавлен 24.07.2014Разработка программы тестирования для выявления акцентуаций типа человека в среде Delphi и Microsoft Access. Проектирование алгоритма реализации модели. Описание программы и модулей, руководство пользователя. Меры обеспечения информационной безопасности.
дипломная работа [2,7 M], добавлен 15.06.2012Рассмотрение целей и задач функционирования санатория, организационной структуры регистратуры. Анализ документооборота; проектирование информационной системы. Выбор операционной и системы управления баз данных. Расчет расходов и экономического эффекта.
дипломная работа [3,8 M], добавлен 20.07.2014Особенности разработки автоматизированного рабочего места (АРМ) на базе профессиональных персональных компьютеров с архитектурой IBM PC. Разработка АРМ заместителя директора по воспитательной работе в колледже. Выбор системы управления базой данных.
курсовая работа [2,2 M], добавлен 18.12.2015Стенограмма интервью с руководителем МБОУ "Центр образования с. Марково". Должностные инструкции, деятельность отдела по работе с клиентами. Построение модели деятельности "как есть" и "как должно быть". Создание автоматизированной информационной системы.
курсовая работа [1,1 M], добавлен 25.04.2013Проблема создания автоматизированных рабочих мест врачей. Клинические системы информационной поддержки медицинского персонала лечебных учреждений. Создание электронных версий историй болезни. Тематические рубрикаторы группировки информации о пациентах.
реферат [41,9 K], добавлен 25.04.2015Разработка информационной системы, выполняющей функции: регистрация клиентов; расчет прайс-листа; оформление заявки; статистический анализ. Составление логической и физической модели данных на языке Java. Расчет функционально-ориентированных метрик.
курсовая работа [660,3 K], добавлен 11.10.2014