Диплом: Автоматизация контроля расчетов с абонентами в ЗАО "ХАНТСМАН-НМГ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
97
16. Курлов, Петров: Методология информационной аналитики,
Издательство: Проспект, М.,2014 г., 384 стр.
17. М. Полубенцева: С/С++ Процедурное программирование, Москва,
Издательство: BHV, 2014 г., 432 стр.
18. Морган, Тернстрем: Проектирование и оптимизация доступа к базам
данных Microsoft SQL Server 2005, Издательство: BHV, М., 2008 г., 480 стр.
19. Николай Мартынов: Программирование для Windows на С\С++. В 2-
х томах, Москва, Издательство: Бином, 2013 г., 480 стр.
20. Паттерсон, Хеннесси: Архитектура компьютера и проектирование
компьютерных систем. Классика Computers Science, Издательство: Питер, Спб,
2012 г., 784 стр.
21. Роберт Дж. Мюллер, Проектирование баз данных и UML,
Издательство: Лори, М., 2013 год, 432 стр.
22. Роберт Лафоре: Объектно-ориентированное программирование в
С++, Москва, Издательство: Питер, 2013 г., 928 стр.
23. Скотт Мейерс: Наиболее эффективное использование С++. 35 новых
рекомендаций по улучшению ваших программ, Москва, Издательство: ДМК-
Пресс, 2014 г., 294 стр.
24. Скотт Мэйерс: Эффективное использование С++. 55 верных
способов улучшить структуру и код ваших программ, Москва, Издательство:
ДМК-Пресс, 2014 г., 300 стр.
25. Соловьев, Майоров: Проектирование информационных систем.
Фундаментальный курс, Издательство: Академический проект, М., 2009 г., 398
стр.
26. Стефан Дьюхэрст: Скользкие места С++. Как избежать проблем при
проектировании и компиляции ваших программ, Москва, Издательство: ДМК-
Пресс, 2014 г., 264 стр.
27. Таненбаум, Бос: Современные операционные системы,
Издательство: Питер, Спб, 2015 г., 1120 стр
28. Тахагхогхи, Вильямс: Руководство по MySQL, Издательство: BHV,
М., 2011 г., 544 стр.
98
29. Ховард, Лебланк, Виега: Как написать безопасный код на С++, Java,
Perl, PHP, ASP.NET, - Москва, Москва, Издательство: ДМК-Пресс, 2014 г., 288 стр.
30. Энди Орам, Грегори Уилсон, Идеальная разработка ПО. Рецепты
лучших программистов, Издательство: Питер, Спб, 2013 год, 592 стр.
31. Энтони Молинаро, SQL. Сборник рецептов, Издательство: Символ-
Плюс,2011 г., 672 стр.
32. Энтони Уильямс: Параллельное программирование на С++ в
действии. Практика разработки многопоточных программ, Москва, Издательство:
ДМК-Пресс, 2014 г., 672 стр.
33. Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес,
Приемы объектно-ориентированного проектирования. Паттерны проектирования,
Издательство: Питер, М., 2013 год, 368 стр.
99
Приложение. Листинг программных модулей
//---------------------------------------------------------------------------
#include<vcl.h>
#pragma hdrstop
#include "ufRefBooks.h"
#include "ufData.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfRefBooks *fRefBooks;
//---------------------------------------------------------------------------
__fastcall TfRefBooks::TfRefBooks(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfRefBooks::PagesVisible (bool Value)
{
//
for (int I = 0; I < pcRefBooks->PageCount - 1; I ++)
{
//
pcRefBooks->Pages[I]->TabVisible = Value;
}
}
void __fastcall TfRefBooks::bLoadClick(TObject *Sender)
{
//
if ( (fData->InSystem != true) ) return;
if ( (opdRefBooks->Execute() == true) )
{
//
TFileStream *FS = new TFileStream (opdRefBooks->FileName,
fmOpenRead);
try {
FS->Position = 0;
fData->tDetails->Edit();
fData->tDetailsЛоготип->LoadFromStream(FS);
FS->Free();
} catch (...) /*finally*/ {
100
//
FS->Free();
throw;
}
}
}
void __fastcall TfRefBooks::bClearClick(TObject *Sender)
{
if ( (fData->InSystem != true) ) return;
fData->tDetails->Edit();
fData->tDetailsЛоготип->Clear();
}
void __fastcall TfRefBooks::FormActivate(TObject *Sender)
{
if ( (TabIndex > -1) && (TabIndex < pcRefBooks->PageCount) )
{
//
PagesVisible (false);
pcRefBooks->Pages[TabIndex]->TabVisible = true;
}
else
//
PagesVisible (true);
}
void __fastcall TfRefBooks::FormCreate(TObject *Sender)
{
TabIndex = -1;
}
void __fastcall TfRefBooks::FormKeyPress(TObject *Sender,
System::WideChar &Key)
{
if ( (Key == Char(27)))
Close ();
}
// ---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ufStatSale.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfStatSale *fStatSale;
101
// ---------------------------------------------------------------------------
__fastcall TfStatSale::TfStatSale(TComponent* Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------
UnicodeString GetList(TStringList *L) {
//
L->Insert(0, "");
UnicodeString Result = L->Text;
L->Free();
return Result;
}
void __fastcall TfStatSale::Load()
{
try {
//
if (fData->tStatSale->Active) {
fData->tStatSale->Close();
fData->tStatSale->Open();
}
cbStaff->Enabled = fData->UserType == utAdmin;
cbCode->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT Артикул FROM Запрос_Статистика_продаж
GROUP BY Артикул ORDER BY Артикул ASC")
);
cbDate->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT cast(Дата AS DATE) AS Выражение1 FROM
Запрос_Статистика_продаж GROUP BY cast(Дата AS DATE) ORDER BY
cast(Дата AS DATE)")
);
cbClient->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT Запрос_Статистика_продаж.Клиент FROM
Запрос_Статистика_продаж GROUPBY Запрос_Статистика_продаж.Клиент
ORDERBY Запрос_Статистика_продаж.Клиент")
);
cbCommodityType->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT Запрос_Статистика_продаж.Тип_товара
FROM Запрос_Статистика_продаж
102
GROUPBYЗапрос_Статистика_продаж.Тип_товара ORDERBY
Запрос_Статистика_продаж.Тип_товара")
);
cbStaff->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT Запрос_Статистика_продаж.Сотрудник
FROM Запрос_Статистика_продаж GROUPBY
Запрос_Статистика_продаж.Сотрудник ORDERBY
Запрос_Статистика_продаж.Сотрудник")
);
cbProductType->Items->Text =
GetList(fData->GetStringsForQuery
("SELECT Тип_продукта FROM
Запрос_Статистика_продаж GROUP BY Тип_продукта ORDER BY
Тип_продукта ASC")
);
Filter();
}
catch (...) {
}
}
// ---------------------------------------------------------------------------
void __fastcall TfStatSale::cbCodeChange(TObject *Sender) {
//
Filter();
}
// ---------------------------------------------------------------------------
void __fastcall TfStatSale::Filter() {
//
try {
UnicodeString S = "";
UnicodeString F = "";
if (fData->UserType == utAdmin) {
if ((cbStaff->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Сотрудник '" + cbStaff->Text + "'";
if (F != "")
F = F + " and ";
F = F + "Сотрудник = " + QuotedStr(cbStaff-
>Text);
103
}
}
else {
//
if (F != "")
F = F + " and ";
F = F + "Код_Сотрудник = " + IntToStr(fData->UserID);
}
if ((cbCode->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Артикул '" + cbCode->Text + "'";
if (F != "")
F = F + " and ";
F = "Артикул = " + cbCode->Text;
}
if ((cbDate->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Дата '" + cbDate->Text + "'";
if (F != "")
F = F + " and ";
F = F + "Дата_ = " + QuotedStr(cbDate->Text);
}
if ((cbClient->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Клиент '" + cbClient->Text + "'";
if (F != "")
F = F + " and ";
F = F + "Клиент = " + Char (39) + cbClient->Text + Char
(39);
}
if ((cbCommodityType->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Категория товара '" + cbCommodityType->Text
104
+ "'";
if (F != "")
F = F + " and ";
F = F + "Тип_товара = " + QuotedStr(cbCommodityType-
>Text);
}
if ((cbProductType->Text != "")) {
//
if (S != "")
S = S + ", ";
S = S + "Тип продукта '" + cbProductType->Text + "'";
if (F != "")
F = F + " and ";
F = F + "Тип_продукта = " + QuotedStr(cbProductType-
>Text);
}
if (dtpLimit1->Checked) {
//
if (S != "")
S = S + ", ";
S = S + "Дата начала периода '" + DateToStr (dtpLimit1-
>DateTime) + "'";
if (F != "")
F = F + " and ";
F = F + "Дата_ >= " + QuotedStr(DateToStr(dtpLimit1-
>DateTime));
}
if (dtpLimit2->Checked) {
//
if (S != "")
S = S + ", ";
S = S + "Дата окончания периода '" + DateToStr
(dtpLimit2->DateTime) + "'";
if (F != "")
F = F + " and ";
F = F + "Дата_ <= " + QuotedStr(DateToStr(dtpLimit2-
>DateTime));
}
fData->cdsParams->Edit();
fData->cdsParamsSortType->Value = "Выборка: " + S;
105
fData->cdsParams->Post();
fData->tStatSale->Filtered = F != "";
fData->tStatSale->Filter = F;
}
catch (...) /* finally */ {
}
}
// ---------------------------------------------------------------------------
void __fastcall TfStatSale::bRefreshClick(TObject *Sender) {
//
Load();
}
// ---------------------------------------------------------------------------
void __fastcall TfStatSale::FormActivate(TObject *Sender) {
Load();
}
// ---------------------------------------------------------------------------
void __fastcall TfStatSale::FormKeyPress(TObject *Sender, System::WideChar
&Key)
{
if ((Char(Key) == 27))
Close();
}
// ---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ufUserEditor.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfUserEditor *fUserEditor;
//---------------------------------------------------------------------------
__fastcall TfUserEditor::TfUserEditor(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfUserEditor::bCancelClick(TObject *Sender)
106
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfUserEditor::bOkClick(TObject *Sender)
{
//
if ( (fData->tUser->State == dsEdit) || (fData->tUser->State == dsInsert)
)
fData->tUser->Post();
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfUserEditor::FormClose(TObject *Sender, TCloseAction
&Action)
{
fData->tUser->Cancel();
}
//---------------------------------------------------------------------------
void __fastcall TfUserEditor::FormKeyPress(TObject *Sender,
System::WideChar &Key)
{
//
if ( Key == Char(27) ) Close();
}
//---------------------------------------------------------------------------

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)