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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
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 Запрос_Статистика_продаж
Источник: https://baza.diplomsite.ru/previewfile/1837