№
|
Наименование поля
|
Идентификатор
|
Тип
|
Примечание
|
1
|
Код услуги
|
ID_usl
|
Integer
|
PK
|
2
|
«Название услуги
|
Name_usl
|
String
|
|
На рис. 2.12 представлена полученная ER - модель базы данных.
Рис. 2.12 - ER-модель базы
данных
.1.5 Характеристика результатной информации
Основной результатной информацией работы проектируемой системы являет
ведомость выпущенных карт. Пример данного выходного документа показан на
рисунке 1 приложения 2.
Данная ведомость является основной характеристикой отдела банка по
производству карт. Здесь отображается основная информация о том, когда и какому
клиенту была изготовлена карта с определенным номером, а также отметка о том,
передана ли данная карта операционисту или нет.
Помимо формирования ведомости выпущенных карт по состоянию на текущую
дату, в программе предусмотрена возможность осуществлять выборку из ведомости
за определенный период. Пример реализации выборки из ведомости за период
приведен на рисунке 2 приложения 2.
2.2 Программное и технологическое обеспечение задачи
.2.1 Общие положения (дерево функций и сценарий
диалога)
На рисунке 2.13 показано дерево функций, реализуемых проектируемой
системой.
Рис.
2.13 - Дерево функций
Работа
пользователя с проектируемой системой будет осуществляться в режиме диалога.
Работник банка с помощью пунктов главного меню может переключатся между
режимами программы.
Главное
меню содержит следующие пункты и подпункты:
1. Работа с клиентами
- Клиенты. Данный пункт меню позволяет перейти к режиму работы
с клиентами банка - просмотра, поиска, регистрации нового клиента;
- Банковские карты. Пункт меню позволяет перейти к режиму
работы непосредственно с банковскими картами - создание новой заявки на
банковскую карту, выдачу карт.
2. НСИ
- Виды карт. Данный пункт меню открывает окно для внесения или
редактирования такой справочной информации, как «Вид карты».
- Платежные системы. Данный пункт меню открывает окно для
внесения или редактирования такой справочной информации, как «Платежная
система».
- Дополнительные услуги. Данный пункт меню открывает окно для
внесения или редактирования такой справочной информации, как «Дополнительные
услуги».
- Гражданство. Данный пункт меню открывает окно для внесения
или редактирования справочной информации о гражданстве клиентов.
- Социальный статус. Данный пункт меню открывает окно для
внесения или редактирования справочной информации о социальном статусе.
3. Отчеты
- Ведомость заявлений. Данный пункт меню позволяет сформировать
ведомость заявлений на выпуск банковских карт.
- Ведомость изготовленных карт. Данный пункт меню позволяет
формировать ведомость выпущенных карт на текущую дату, а также выписку из ведомости
за определенный период.
- Журнал открытых счетов. При выборе данного пункта меню
формируется журнал открытых счетов.
4. Выход. Выход из программы
На рисунке. 2.14 показано сценарий диалога [2].
Рис.
2.14 - Сценарий диалога
2.2.2 Схема взаимодействия программных модулей
На рис. 2.15 показано дерево взаимодействия модулей программы. [2]
Рис.
2.15 - Дерево взаимодействия модулей программы
Модуль MainFrm является главным модулем программы,
содержащий главное меню.
Модуль DMfrm обеспечивает доступ к базе данных,
поэтому с ним взаимодействуют все остальные модули программы.
Модули Kard, Klient, NSI
обеспечивают ввод и редактирование информации о заявках клиентов на выпуск банковской
карты, информации о клиентах и справочной информации соответственно.
Модуль FrmList обеспечивает выбор формирования
ведомости выпущенных карт за период, либо на текущую дату, а также содержит
макет ведомости выпущенных карт на текущую дату.
С помощью модуля Rep
осуществляется выборка из ведомости выпущенных карт за указанный период.
Модуль Vedom является макетом ведомости заявлений
на выпуск банковских карт.
Модуль Counts является макетом журнала открытых
счетов.
2.2.3 Схема технологического процесса сбора,
передачи, обработки и выдачи информации
Рис.
2.16 - Вход в программу
Рис.
2.17 - Выбор первого подменю «Работа с клиентами»
Рис.
2.18 - Работа в подменю «Клиенты»
Рис.
2.19 - Работа в подменю «Банковские карты»
Рис.
2.20 - Работа в подменю «НСИ»
Рис.
2.21 - Работа в подменю «Платежные системы»
Технологический
процесс работы с остальными справочниками происходит аналогично работе в
подменю «Платежные системы».
Рис.
2.22 - Работа в подменю «Отчеты»
Рис.
2.23 - Работа в подменю «Ведомость заявлений»
Рис.
2.24 - Работа в подменю «Журнал открытых счетов»
Рис.
2.25 - Работа в подменю «Ведомость изготовленных карт»
2.3 Контрольный пример реализации проекта и его описание
Технологический процесс состоит из двух основных этапов - сбор и учет
данных операций, поступления и реализации продукции, ведение информационной
базы и формирование отчетов по соответствующим запросам к базам данных.
Они могут выполняться в любой календарный момент времени и включают
операции ввода, вывода реализации запросов. Операции имеют программное выполнение,
подчиненное единой алгоритмической схеме. Программа для автоматизации
деятельности отдела коммерческого банка по производству банковских карт
реализована в среде программирования Borland C++. [1,2]
Работа с программой начинается с вывода главного окна программы,
содержащего главное меню.
Работа программы осуществляется по диалоговому и событийному режиму. В
диалоговую систему входят главное меню с соответствующими всплывающими подменю,
а также диалоговые окна. Под событиями понимаются процессы, активизируемые
пользователем (например - нажатие функциональных клавиш), а также программные
события - получение определенным полем фокуса редактирование или потеря фокуса
ввода.
Непосредственное изготовление банковских карт никак не связано с
программой. Данный процесс происходит при помощи специального оборудования.
Клиент, желающий приобрести пластиковую банковскую карту, заполняет
соответствующее заявление. Все данные из его заявления вводятся в систему
оператором, принимающим заявления.
На рисунке 2.5 показано главное окно программы, содержащее главное меню.
Рис. 2.5 - Главное окно программы
На рис. 2.6 показан внешний вид окна, предназначенного для работы с
информацией о клиентах. Для открытия данного окна необходимо выбрать пункт меню
«Работа с клиентами» и нажать кнопку «Клиенты».
Рис. 2.6 - Окно «Клиенты»
Для доступа к информации о заявках на выпуск банковских карт служит окно
«Банковские карты», показанное на рисунке 2.7.
Для открытия данного окна необходимо выбрать пункт главного меню «Работа
с клиентами» и нажать на кнопку «Банковские карты».
При составлении новой заявки на карту указываются основные её
характеристики (вид, платежная система, валюта), а так же имя клиента,
подавшего заявку. Здесь же отмечается текущее состояние изготовления карты, а
также факт передачи карты операционисту. Все эти данные в ведомость выпущенных
карт.
Рис. 2.7 - Окно «Банковские карты»
Для более быстрого и удобного внесения информации, используется
справочная информация. При необходимости добавить или изменить справочную
информацию, необходимо выбрать соответствующий подпункт пункта «НСИ» главного
меню. На рис. 2.8 показан внешний вид окна справочной информации.
Рис. 2.8 - Окно справочной информации «Виды карт»
Для получения различных отчетов служит соответствующий пункт главного
меню программы.
Для формирования ведомости поданных заявлений служит подпункт «Ведомость
заявлений» пункта меню «Отчеты».
Для формирования журнала открытых счетов также служит соответствующий
подпункт пункта «Отчеты» главного меню.
Итогом работы отдела по производству банковских карт является ведомость
выпущенных карт. Для формирования данного отчета необходимо выбрать подпункт
«Ведомость изготовленных карт» пункта меню «Отчеты». В открывшемся окне
«Ведомость выпущенных карт», показанного на рисунке 2.9, необходимо выбрать
требуемую форму отчета.
Рис. 2.9 - Окно «Ведомость выпущенных карт»
При нажатии кнопки «Выбор записей за период», откроется окно «Выписка за
период», показанное на рисунке 2.10. Данный режим позволяет установить
необходимый период и выбрать все записи об изготовленных картах,
соответствующие заданному периоду.
Рис. 2.10 - Окно «Выписка за период»
При нажатии кнопки «Формировать ведомость» окна «Ведомость выпущенных
карт» формируется ведомость выпущенных карт на текущую дату.
Как уже отмечалось ранее, входной (первичной) информацией для
изготовления банковских карт являются ведомость заявлений на выпуск карт и
журнал открытых счетов.
Данные документы могут быть сформированы и распечатаны непосредственно
сотрудником отдела по производству карт. Для этого необходимо в пункте главного
меню «Отчтеты» программы выбрать соответствующий подпункт. Примеры входных
документов показаны на рисунках 1,2 Приложения 1.
После того, как карта была изготовлена, необходимо отметить в базе данных
факт изготовления данной карты. Для этого необходимо открыть окно «Банковские
карты», выбрав соответствующий подпункт пункта главного меню программы «Работа
с клиентами».
Например, согласно ведомости заявлений была изготовлена карта с номером
1234 5678 9451 5468 на имя Беднова Алексея Владимировича.
На рисунке 2.11 показано окно «Банковские карты», необходимое для
выполнения данной операции.
Рис. 2.11 - Окно «Банковские карты»
Работник отдела по производству карт открывает окно «Банковские карты», в
списке «Номера карт» находит необходимые имя клиента и номер карты. После чего
для того, чтобы зафиксировать факт изготовления карты, необходимо поставить
флажок в поле «Изготовлена». Для сохранения внесенных изменений необходимо
нажать кнопку «Сохранить» в правой части окна.
Аналогичные действия проводятся и при отметки факта передачи карты
операционисту, только флажок уже ставится в поле «Передача операционисту».
Для самоконтроля и просмотра информации о произведенных картах за
определенный период работник отдела может сделать запрос к базе данных по
определенным критериям. Для этого необходимо выбрать подпункт «Ведомость
изготовленных карт» пункта «Отчеты» главного меню. В открывшемся окне
«Ведомость выпущенных карт» нужно нажать кнопку «Выбор записей за период»,
после чего откроется окно «Выписка за период». Здесь указывается начальная и
конечная даты
Например, необходимо просмотреть информацию об изготовленных картах за
период с 01.06.2008 по 01.07.2008. Для установки начальной и конечной даты
периода, сотрудник должен выбрать соответствующее поле и нажать на кнопку со
стрелкой, находящуюся рядом с полем. Это открывает календарь, в котором с
помощью стрелок можно выбрать необходимый месяц, а щелкнув на нужное число,
выбрать необходимую дату.
После того, как сотрудник отдела указал начальную и конечную даты, ему
необходимо нажать кнопку «Формировать», после чего, в таблице отображаются
отобранные записи. Если в базе данных не найдено ни одной записи,
удовлетворяющей заданным условиям, то в таблице ничего не отображается.
Входным (результирующим) документом работы отдела по производству
банковских карт является ведомость выпущенных карт. Для её формирования и
печати сотрудник отдела должен в окне «Ведомость выпушенных карт» нажать кнопку
«Формировать ведомость», после чего откроется окно просмотра сформированной
ведомости для дальнейшей её печати. Пример данного документа приведен на
рисунке 1 Приложения 2.
информация
передача программный модуль
Заключение
В настоящее время все больше возрастает роль безналичного расчета
физических лиц с помощью пластиковых банковских карт. Такой способ расчета
очень удобен, поскольку человеку не приходится носить в кармане крупную сумму
денег. При утере карты её легко можно восстановить без значительных потерь.
В нашей стране такой рост популярности банковских карт наблюдается
достаточно недавно. За то короткое время с момента появления в России
банковских карт, увеличилось количество платежных систем, предоставляемых
банком пользователям карт.
Логично, что постоянно растет количество желающих открыть счет, использую
банковскую карту. Поэтому постоянно растет объем информации, поступающей в
коммерческие банки, касающейся выпуска банковских карт.
Целью данного курсового проекта было проектирование АРМ сотрудника банка
по выпуску карт.
Эта разработка призвана автоматизировать работу сотрудника банка на
данном участке работы - ввод, редактирование информации с помощью экранных форм
в режиме диалога. Все это должно увеличить пропускную способность сотрудника,
уменьшить время на обработку заявления от клиента, получения отчетов.
Как известно, любое проектирование начинается с обзора и анализа
предметной области. В первой главе данной работы бала рассмотрена предметная
область, описана экономическая сущность данной разработки и место данного АРМ
среди разнообразия банковских информационных систем, ставятся основные цели и
задачи автоматизации.
В проектной части работы подробно описан процесс проектирования структуры
базы данных, описаны все сущности и связи между ними. Здесь же рассматривается
принцип работы системы - рассматривается схема взаимодействия модулей
программы.
Список литературы
1.
Архангельский А.Я. С++ Builder
6. Справочное пособие - М.:Бином-Пресс, 2002г. - 544с.
. Павловская
Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум - СПб.: Питер,
2003. - 240с.
. Сибилёв
В.Д. Проектирование баз данных: Учеб. пособие. - Томск: Томский межвузовский
центр дистанционного образования, 2007. - 201 с.
. Тютюнник
А.В., Шевелев А.С. Информационные технологии в банке - Издательская группа
"БДЦ-пресс", 2003.
. Феоктистов
И.А., Минаков В.Ю. Пластиковые карты - М.: «ГроссМедиа», 2006. - 55с.
Федотова
Д.Э., Семенов Ю.Д., Чижик К.Н. CASE-технологии:
практикум. - М.: Горячая линия-Телеком, 2005. - 160с.
Приложения
Приложение 1
Рис.1. - Ведомость заявлений
Рис.2. - Журнал открытых счетов
Рис. 3. - Форма, отображающая информацию о клиенте
Рис.4. - Форма, отображающая информацию о заявке клиента
Приложение 2
Рис. 1. - Ведомость выпущенных карт
Рис. 2. - Выписка из ведомости за период
Приложение 3
Листинг программного модуля MainFrm
Заголовочный файл:
#ifndef Main_unitH
#define Main_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------TMainFrm
: public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *N6;
TMenuItem *N5;
TMenuItem *N3;
TMenuItem *N2;
TMenuItem *N13;
TMenuItem *N8;
TMenuItem *N9;
TMenuItem *N10;
TMenuItem *N11;
TMenuItem *N12;
TMenuItem *N1;
TMenuItem *N7;
TMenuItem *N4;
TMenuItem *N14;
void __fastcall N2Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N8Click(TObject *Sender);
void __fastcall N9Click(TObject *Sender);
void __fastcall N10Click(TObject *Sender);
void __fastcall N11Click(TObject *Sender);
void __fastcall N12Click(TObject *Sender);
void __fastcall N7Click(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall N14Click(TObject *Sender);: // User
declarations: // User declarations
__fastcall TMainFrm(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TMainFrm *MainFrm;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Main_unit.h"
#include "Klient_unit.h"
#include "Kard_unit.h"
#include "List_unit.h"
#include "NSI_unit.h"
#include "DM.h"
#include "Rep_unit.h"
#include "Vedom_unit.h"
#include "Counts_unit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*MainFrm;
//---------------------------------------------------------------------------
__fastcall TMainFrm::TMainFrm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N2Click(TObject *Sender)
{
Application->CreateForm(__classid(TKlient), &Klient);
Klient->Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N3Click(TObject *Sender)
{
Application->CreateForm(__classid(TKard), &Kard);
Kard->Show();
}
//---------------------------------------------------------------------------
__fastcall TMainFrm::N8Click(TObject *Sender)
{>DBGrid1->DataSource=DMfrm->VidDS;>Caption="Виды карт";>Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N9Click(TObject *Sender)
{>DBGrid1->DataSource=DMfrm->SystemDS;>Caption="Платежые системы";>Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N10Click(TObject *Sender)
{>DBGrid1->DataSource=DMfrm->UslugaDS;
NSI->Caption="Дополнительные услуги";>Show();
//---------------------------------------------------------------------------__fastcall
TMainFrm::N11Click(TObject *Sender)
{>DBGrid1->DataSource=DMfrm->CountryDS;>Caption="Гражданство";>Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N12Click(TObject *Sender)
{>DBGrid1->DataSource=DMfrm->StatusDS;
NSI->Caption="Социальный статус";>Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N7Click(TObject *Sender)
{();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N1Click(TObject *Sender)
{>KartsTbl->Open();>QuickRep1->Preview();>KartsTbl->Close();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N4Click(TObject *Sender)
{
Application->CreateForm(__classid(TFrmList),
&FrmList);
FrmList->Show();
}
//---------------------------------------------------------------------------__fastcall
TMainFrm::N14Click(TObject *Sender)
{
//журнал открытых счетов>CountTbl->Open();
Counts->QuickRep1->Preview();>CountTbl->Close();
}
Листинг программного модуля Kard
Заголовочный файл:
#ifndef Kard_unitH
#define Kard_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DBCtrls.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
#include <Mask.hpp>
#include <Buttons.hpp>
//---------------------------------------------------------------------------TKard
: public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TDBGrid *DBGrid1;
TLabel *Label2;
TDBEdit *Valid_DBE;
TLabel *Label3;
TLabel *Label4;
TDBLookupComboBox *Curr_LCB;
TLabel *Label5;
TDBLookupComboBox *Sys_DBE;
TLabel *Label6;
TDBLookupComboBox *Vid_DBE;
TLabel *Label7;
TDBLookupComboBox *Usl_DBE;
TLabel *PIN;
TDBEdit *PIN_DBE;
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TLabel *Label8;
TDBEdit *Num_DBE;
TDBLookupComboBox *Klient_LCB;
TBitBtn *BitBtn4;
TDBCheckBox *DBCheckBox1;
TDBCheckBox *DBCheckBox2;
TLabel *Label9;
TDBGrid *DBGrid2;
TBitBtn *BitBtn6;
TBitBtn *BitBtn7;
TLabel *Label10;
TLabel *Label11;
TDBEdit *DBEdit1;
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction
&Action);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn4Click(TObject *Sender);
void __fastcall BitBtn5Click(TObject *Sender);
void __fastcall BitBtn6Click(TObject *Sender);
void __fastcall BitBtn7Click(TObject *Sender);
void __fastcall DBGrid2DblClick(TObject *Sender);: //
User declarations: // User declarations
__fastcall TKard(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TKard *Kard;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Kard_unit.h"
#include "DM.h"
#include "Klient_unit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Kard;
//---------------------------------------------------------------------------
__fastcall TKard::TKard(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TKard::FormActivate(TObject *Sender)
{
DMfrm->KartsTbl->Filtered=false;
DMfrm->KartsTbl->Open();
DMfrm->CurrencyTbl->Open();
DMfrm->VidTbl->Open();
DMfrm->KlientTbl->Open();
DMfrm->SystemTbl->Open();
DMfrm->UslugaTbl->Open();
DMfrm->CountTbl->Open();
}
//---------------------------------------------------------------------------__fastcall
TKard::FormClose(TObject *Sender, TCloseAction &Action)
{
DMfrm->KartsTbl->Close();
DMfrm->CurrencyTbl->Close();
DMfrm->VidTbl->Close();
DMfrm->KlientTbl->Close();
DMfrm->SystemTbl->Close();
DMfrm->UslugaTbl->Close();
DMfrm->CountTbl->Close();
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn1Click(TObject *Sender)
{
DMfrm->KartsTbl->Append();
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn3Click(TObject *Sender)
{
DMfrm->KartsTblDate->AsDateTime=Date();
DMfrm->KartsTbl->Post();
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn2Click(TObject *Sender)
{
//новый клиент
Application->CreateForm(__classid(TKlient), &Klient);
Klient->Show();
DMfrm->KlientTbl->Append();
DMfrm->KlientTblCountry->AsInteger=83;
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn4Click(TObject *Sender)
{();
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn5Click(TObject *Sender)
{
//выдача карты
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn6Click(TObject *Sender)
{
//открыть счет
DMfrm->CountTbl->Append();
}
//---------------------------------------------------------------------------__fastcall
TKard::BitBtn7Click(TObject *Sender)
{
DMfrm->CountTbl->Post();
}
//---------------------------------------------------------------------------__fastcall
TKard::DBGrid2DblClick(TObject *Sender)
{>KartsTbl->Edit();>KartsTblN_count->Value=DMfrm->CountTblN_count->Value;>KartsTbl->Post();
}
Листинг программного модуля Klient
Заголовочный файл:
#ifndef Klient_unitH
#define Klient_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
#include <Buttons.hpp>
#include <DBCtrls.hpp>
#include <Mask.hpp>
//---------------------------------------------------------------------------TKlient
: public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TDBGrid *DBGrid1;
TBitBtn *BitBtn1;
TLabel *Label2;
TDBEdit *FIO_DBE;
TLabel *Label3;
TDBComboBox *Sex_DBCb;
TLabel *Label4;
TDBEdit *Place_birth_DBE;
TLabel *Label5;
TDBLookupComboBox *Country_LCB;
TLabel *Label6;
TDBLookupComboBox *Stat_LCB;
TGroupBox *Pasport;
TLabel *Label7;
TDBEdit *Ser_DBE;
TLabel *Label8;
TDBEdit *Num_DBE;
TLabel *Label9;
TDBEdit *Date_DBE;
TLabel *Label10;
TDBEdit *Whom_DBE;
TLabel *Label11;
TDBEdit *Code_DBE;
TLabel *Label12;
TDBEdit *Index_DBE;
TLabel *Label13;
TDBEdit *Adres_DBE;
TLabel *Label14;
TDBEdit *Phone1_DBE;
TLabel *Label15;
TDBEdit *Phone2_DBE;
TLabel *Label16;
TDBEdit *Mail_DBE;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TBitBtn *BitBtn4;
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction
&Action);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
void __fastcall BitBtn4Click(TObject *Sender);: // User
declarations: // User declarations
__fastcall TKlient(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TKlient *Klient;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Klient_unit.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Klient;
//---------------------------------------------------------------------------
__fastcall TKlient::TKlient(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TKlient::BitBtn1Click(TObject *Sender)
{();
}
//---------------------------------------------------------------------------__fastcall
TKlient::FormActivate(TObject *Sender)
{
DMfrm->KlientTbl->Close();
DMfrm->KlientTbl->ReadOnly=true;
DMfrm->KlientTbl->Open();
DMfrm->CountryTbl->Open();
DMfrm->StatusTbl->Open();
}
//---------------------------------------------------------------------------
__fastcall TKlient::FormClose(TObject *Sender, TCloseAction
&Action)
{
DMfrm->KlientTbl->Close();
DMfrm->CountryTbl->Close();
DMfrm->StatusTbl->Close();
}
//---------------------------------------------------------------------------__fastcall
TKlient::BitBtn2Click(TObject *Sender)
{
DMfrm->KlientTbl->Close();
DMfrm->KlientTbl->ReadOnly=false;
DMfrm->KlientTbl->Open();
DMfrm->KlientTbl->Append();
DMfrm->KlientTblCountry->AsInteger=83;
}
//---------------------------------------------------------------------------__fastcall
TKlient::BitBtn3Click(TObject *Sender)
{
DMfrm->KlientTbl->Post();
DMfrm->KlientTbl->Close();
DMfrm->KlientTbl->ReadOnly=false;
DMfrm->KlientTbl->Open();
}
Листинг программного модуля NSI
Заголовочный файл:
#ifndef NSI_unitH
#define NSI_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------TNSI
: public TForm
{
__published: // IDE-managed Components
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TBitBtn *BitBtn4;
TDBGrid *DBGrid1;
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction
&Action);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
void __fastcall BitBtn4Click(TObject *Sender);: // User
declarations: // User declarations
__fastcall TNSI(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TNSI *NSI;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "NSI_unit.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*NSI;
//---------------------------------------------------------------------------
__fastcall TNSI::TNSI(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TNSI::FormActivate(TObject *Sender)
{
//->DataSource->DataSet->Open();
}
//---------------------------------------------------------------------------__fastcall
TNSI::FormClose(TObject *Sender, TCloseAction &Action)
{->DataSource->DataSet->Close();
}
//---------------------------------------------------------------------------__fastcall
TNSI::BitBtn1Click(TObject *Sender)
{->DataSource->DataSet->Append();
}
//---------------------------------------------------------------------------__fastcall
TNSI::BitBtn2Click(TObject *Sender)
{->DataSource->DataSet->Post();
}
//---------------------------------------------------------------------------__fastcall
TNSI::BitBtn3Click(TObject *Sender)
{
if (Application->MessageBox("Вы действительно хотите
удалить запись?",MB_YESNO + MB_ICONQUESTION)==ID_YES)
}
//---------------------------------------------------------------------------__fastcall
TNSI::BitBtn4Click(TObject *Sender)
{();
}
Листинг программного модуля FrmList
Заголовочный файл:
#ifndef List_unitH
#define List_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
#include <ExtCtrls.hpp>
#include <QRCtrls.hpp>
#include <QuickRpt.hpp>
//---------------------------------------------------------------------------TFrmList
: public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TQRLabel *QRLabel5;
TQRDBText *QRDBText1;
TQRBand *QRBand2;
TQRDBText *QRDBText2;
TQRDBText *QRDBText3;
TQRBand *QRBand3;
TQRSysData *QRSysData1;
TQRSysData *QRSysData2;
TQRLabel *QRLabel6;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TQRLabel *QRLabel7;
TQRDBText *QRDBText4;
void __fastcall FormActivate(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);: // User
declarations: // User declarations
__fastcall TFrmList(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TFrmList *FrmList;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "List_unit.h"
#include "DM.h"
#include "Rep_unit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*FrmList;
//---------------------------------------------------------------------------
__fastcall TFrmList::TFrmList(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TFrmList::FormActivate(TObject *Sender)
{>KartsTbl->Filtered=true;>KartsTbl->Filter="Made_k=true";>KartsTbl->Open();
}
//---------------------------------------------------------------------------
__fastcall TFrmList::BitBtn1Click(TObject *Sender)
{();
}
//---------------------------------------------------------------------------
__fastcall TFrmList::BitBtn2Click(TObject *Sender)
{
->Preview();
}
//---------------------------------------------------------------------------__fastcall
TFrmList::BitBtn3Click(TObject *Sender)
{
Application->CreateForm(__classid(TRep), &Rep);
Rep->Show();
}
Листинг программного модуля Rep
Заголовочный файл:
#ifndef ListRep_unitH
#define ListRep_unitH
//----------------------------------------------------------------------------
#include <vcl\Classes.hpp>
#include <vcl\Controls.hpp>
#include <vcl\StdCtrls.hpp>
#include <vcl\Forms.hpp>
#include <vcl\QuickRpt.hpp>
#include <vcl\QRCtrls.hpp>
#include <ExtCtrls.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
//----------------------------------------------------------------------------TQuickReport1
: public TQuickRep
{
__published:
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TQRLabel *QRLabel5;
TQRBand *TitleBand1;
TQRBand *DetailBand1;
TQRDBText *QRDBText3;
TQRDBText *QRDBText1;::
__fastcall TQuickReport1::TQuickReport1(TComponent* Owner);
};
//----------------------------------------------------------------------------TQuickReport1
*QuickReport1;
//----------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Rep_unit.h"
#include "DM.h"
#include "ListRep_unit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Rep;
//---------------------------------------------------------------------------
__fastcall TRep::TRep(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TRep::BitBtn2Click(TObject *Sender)
{
//формирование запроса
WideString FileName;>Report->Close();>Report->Parameters->ParamByName("D1")->Value=StrToDate(DateToStr(DateTimePicker1->Date));
DMfrm->Report->Parameters->ParamByName("D2")->Value=StrToDate(DateToStr(DateTimePicker2->Date));
DMfrm->Report->Open();
/заполнение шаблона Excel
}
//---------------------------------------------------------------------------__fastcall
TRep::BitBtn1Click(TObject *Sender)
{
Close();
}
Листинг программного модуля Vedom
Заголовочный файл:
#ifndef Vedom_unitH
#define Vedom_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <QuickRpt.hpp>
#include <QRCtrls.hpp>
//---------------------------------------------------------------------------TVedom
: public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TQRLabel *QRLabel5;
TQRLabel *QRLabel6;
TQRBand *QRBand2;
TQRDBText *QRDBText1;
TQRDBText *QRDBText2;
TQRDBText *QRDBText3;
TQRDBText *QRDBText4;
TQRDBText *QRDBText5;
TQRBand *SummaryBand1;
TQRLabel *QRLabel7;
TQRSysData *QRSysData1;: // User declarations: //
User declarations
__fastcall TVedom(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TVedom *Vedom;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Vedom_unit.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Vedom;
//---------------------------------------------------------------------------
__fastcall TVedom::TVedom(TComponent* Owner)
: TForm(Owner)
{
}
Листинг программного модуля Counts
Заголовочный файл:
#ifndef Counts_unitH
#define Counts_unitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <QuickRpt.hpp>
#include <QRCtrls.hpp>
//---------------------------------------------------------------------------TCounts
: public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel6;
TQRBand *QRBand2;
TQRDBText *QRDBText1;
TQRDBText *QRDBText2;
TQRDBText *QRDBText5;
TQRBand *SummaryBand1;
TQRLabel *QRLabel7;
TQRSysData *QRSysData1;: // User declarations: //
User declarations
__fastcall TCounts(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TCounts *Counts;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "Counts_unit.h"
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Counts;
//---------------------------------------------------------------------------
__fastcall TCounts::TCounts(TComponent* Owner)
: TForm(Owner)
{
}
Программный модуль DMfrm
Заголовочный файл:
#ifndef DMH
#define DMH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
//---------------------------------------------------------------------------TDMfrm
: public TDataModule
{
__published: // IDE-managed Components
TADOConnection *Bank;
TADOTable *CountryTbl;
TADOTable *KartsTbl;
TAutoIncField *CountryTblID_country;
TWideStringField *CountryTblCountry;
TADOTable *CurrencyTbl;
TAutoIncField *CurrencyTblID_cur;
TWideStringField *CurrencyTblCurrency;
TADOTable *KlientTbl;
TAutoIncField *KlientTblID_people;
TWideStringField *KlientTblFIO;
TWideStringField *KlientTblSex;
TWideStringField *KlientTblPlace_birth;
TIntegerField *KlientTblCountry;
TWideStringField *KlientTblSeriya;
TIntegerField *KlientTblNum_pasp;
TDateTimeField *KlientTblDate;
TWideStringField *KlientTblWhom_given;
TIntegerField *KlientTblCode_whom;
TIntegerField *KlientTblIndex;
TWideStringField *KlientTblAdres;
TWideStringField *KlientTblPhone_home;
TWideStringField *KlientTblPhon_mob;
TIntegerField *KlientTblStat;
TADOTable *ListsTbl;
TAutoIncField *ListsTblN;
TDateTimeField *ListsTblDate_given;
TADOTable *StatusTbl;
TAutoIncField *StatusTblID_status;
TWideStringField *StatusTblName_stat;
TADOTable *SystemTbl;
TAutoIncField *SystemTblID_sys;
TWideStringField *SystemTblName_sys;
TADOTable *UslugaTbl;
TADOTable *VidTbl;
TAutoIncField *VidTblID_vid;
TWideStringField *VidTblName_vid;
TAutoIncField *UslugaTblID_usl;
TWideStringField *UslugaTblName_usl;
TDataSource *CountryDS;
TDataSource *KartsDS;
TDataSource *CurrencyDS;
TDataSource *KlientDS;
TDataSource *ListsDS;
TDataSource *StatusDS;
TDataSource *SystemDS;
TDataSource *UslugaDS;
TDataSource *VidDS;
TWideStringField *KlientTblEmail;
TAutoIncField *KartsTblID;
TWideStringField *KartsTblNum_kart;
TDateTimeField *KartsTblValid_thru;
TIntegerField *KartsTblID_system;
TIntegerField *KartsTblID_vid;
TIntegerField *KartsTblID_klient;
TStringField *KartsTblFIO;
TIntegerField *KartsTblCurrent;
TIntegerField *KartsTblUsluga;
TIntegerField *KartsTblPIN;
TStringField *ListsTblFIO;
TBooleanField *KartsTblGiven;
TWideStringField *ListsTblNum_kart;
TDateTimeField *KartsTblDate;
TADOQuery *Report;
TIntegerField *ListsTblID_klient;
TDataSource *RepDS;
TDataSource *CountDS;
TADOTable *TCountTbl;
TDataSource *TCountDS;
TADOTable *CountTbl;
TAutoIncField *TCountTblN_type;
TWideStringField *TCountTblType_count;
TWideStringField *CountTblN_count;
TIntegerField *CountTblN_type;
TIntegerField *CountTblN_klient;
TStringField *CountTblType;
TWideStringField *KartsTblN_count;
TDateTimeField *KartsTblDate_made;
TStringField *KartsTblVid;
TStringField *KartsTblSys;
TStringField *KartsTblVal;
TStringField *KartsTblName_usl;
TBooleanField *KartsTblMade_k;
TStringField *CountTblFIO;
TAutoIncField *ReportID;
TWideStringField *ReportNum_kart;
TDateTimeField *ReportValid_thru;
TIntegerField *ReportID_system;
TIntegerField *ReportID_vid;
TIntegerField *ReportID_klient;
TIntegerField *ReportCurrent;
TIntegerField *ReportUsluga;
TIntegerField *ReportPIN;
TBooleanField *ReportGiven;
TBooleanField *ReportMade_k;
TDateTimeField *ReportDate;
TWideStringField *ReportN_count;
TDateTimeField *ReportDate_made;
TStringField *ReportFIO;: // User declarations: //
User declarations
__fastcall TDMfrm(TComponent* Owner);
};
//---------------------------------------------------------------------------PACKAGE
TDMfrm *DMfrm;
//---------------------------------------------------------------------------
#endif
Файл реализации:
#include <vcl.h>
#pragma hdrstop
#include "DM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*DMfrm;
//---------------------------------------------------------------------------
__fastcall TDMfrm::TDMfrm(TComponent* Owner)
: TDataModule(Owner)
{
}