Диплом: Автоматизация процесса приёма техники на ремонтные работы в ОАО «Samsung Service»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
105
16. ИэнГриффитс: Программирование на C# 5.0, - М., Эксмо, 2014 г., 1135
с.
17. Курлов А.А, Петров Е.А.: Методология информационной аналитики, -
М., Проспект, 2014 г., 384 с.
18. Липпман, Лажойе, Му: Язык программирования C++. Базовый курс,
Издательство: Вильямс, 2017 г., 1120 стр;
19. Мартынов Н.А: Программирование для Windows на С\С++. В 2
томах, - М., Бином, 2013 г., 480 с.
20. Ошероув Р.О: Искусство автономного тестирования с примерами на
С#, - М., ДМК-Пресс, 2014 г., 360 с.
21. Паттерсон, Хеннесси: Архитектура компьютера и проектирование
компьютерных систе- М. Классика ComputersScience, Спб Питер, , 2012 г., 784 с.
22. Пирогов В.А.: Информационные системы и базы данных: организация
и проектирование, - М., BHV, 2009 г., 528 с.
23. Полубенцева - М. П.: С/С++ Процедурное программирование, - М.,
BHV, 2014 г., 432 с.
24. Потопахин В.С.: Искусство алгоритмизации, - М., Издательство:
ДМК-Пресс, 2014 г., 320 стр.
25. Пугачев Е.К., Шериев Ш.К., Кичинский Е.А.: Разработка приложений
для Windows 8 на языке C#, - М., BHV, 2013 г., 416 с.
26. Роберт Дж. Мюллер, Проектирование баз данных и UML, - М., Лори,
2013 год, 432 с.
27. Роберт Лафоре: Объектно-ориентированное программирование в С++,
- М., Питер, 2013 г., 928 с.
28. Роберт Лафоре: Объектно-ориентированное программирование в С++,
Издательство: Питер, 2017 г., 928 стр;
29. Стивен Прата: Язык программирования C++. Лекции и упражнения,
Издательство: Вильямс, 2017 г., 1248 стр;
30. Сурядный А.Е.: MicrosoftAccess 2011. Лучший самоучитель, - М.,
Астрель, 2012 г., 448 с.
31. Таненбаум А.А, Бос Е.В.: Современные операционные системы, Спб,
Питер, 2015 г., 1120 стр
106
32. Тахагхогхи, Вильямс: Руководство по MySQL, - М., BHV, 2011 г., 544
с.
33. Тимофеев В. А: Самоучитель С++ как он есть, - М., Бином, 2009 г., 336
с.
34. Тюгашев А. Е.: Языки программирования. Учебное пособие. Стандарт
третьего поколения, - М., Издательство: Питер, 2014 г. 336 стр.
35. Ховард, Лебланк, Виега: Как написать безопасный код на С++, Java,
Perl, PHP, ASP.NET, - М., ДМК-Пресс, 2014 г., 288 с.
36. Чистов Д.А: Экономическая информатика (для бакалавров). Учебное
пособие, - М., Кнорус, 2014 г., 512 с.
37. Эндрю Стиллмен: Изучаем C#, - М., Питер, 2014 г., 816 с.
38. Энтони Молинаро, SQL. Сборник рецептов, - М., Символ-Плюс,2011
г., 672 с.
39. Энтони Уильямс: Параллельное программирование на С++ в действии.
Практика разработки многопоточных программ, - М., ДМК-Пресс, 2014 г., 672 с.
107
Приложение. Листинг программных модулей
unituAnalysisSaver;
interface
uses Classes, DB, ADODB, SysUtils, Dialogs;
type
TAnalysisSaver = class
//
private
FConnection :TADOConnection;
FAnalysis :TADOTable;
FAnalysisDish :TADOTable;
FAnalysisProduct :TADOTable;
functionGetQuery (SQL : String) : TADOQuery;
procedureAddDishProducts (Date : TDate; DishID : Integer ; Count : Integer);
procedure Clear;
procedureActiveTables (Value : Boolean);
public
constructor Create (Connection : TADOConnection);
destructor Destroy;
procedureCreateAnalysis (FirstDate : TDateTime; DaysCount : Integer);
procedure Save (Date : TDate; DishID : Integer ; Count : Integer);
end;
108
implementation
functionTAnalysisSaver.GetQuery (SQL : String) : TADOQuery;
begin
//
Result :=TADOQuery.Create(nil);
try
Result.Connection := FConnection;
Result.SQL.Text := SQL;
Result.Open;
except
//
on E : Exception do
begin
//
Result.Free;
raiseException.Create(E.Message);
end;
end;
end;
constructorTAnalysisSaver.Create (Connection : TADOConnection);
begin
//
FConnection := Connection;
FAnalysis :=TADOTable.Create (nil);
FAnalysis.Connection := FConnection;
FAnalysis.TableName := 'Анализ';
FAnalysisDish :=TADOTable.Create (nil);
FAnalysisDish.Connection := FConnection;
109
FAnalysisDish.TableName := 'Анализ_Блюда';
FAnalysisProduct :=TADOTable.Create (nil);
FAnalysisProduct.Connection := FConnection;
FAnalysisProduct.TableName := 'Анализ_Продукты';
end;
procedureTAnalysisSaver.ActiveTables (Value : Boolean);
begin
//
FAnalysis.Active := Value;
FAnalysisDish.Active := Value;
FAnalysisProduct.Active := Value;
end;
destructorTAnalysisSaver.Destroy;
begin
//
end;
procedureTAnalysisSaver.AddDishProducts (Date : TDate; DishID : Integer ;
Count : Integer);
var
//
Q :TADOQuery;
I : Integer;
VA : array of Variant;
begin
//
try
110
Q :=GetQuery('SELECT * FROM Состав_блюда WHERE Код_Блюдо = ' +
IntToStr (DishID) + ';');
for I := 1 to Q.RecordCount do
begin
//
Q.RecNo := I;
SetLength(VA, 3);
VA[0] := Date;
VA[1] := Q.FieldByName('Код_Продукт').AsInteger;
VA[2] := Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.Filter := 'Дата = ' + #39 + DateToStr(Date) + #39 + ' and
Код_Продукт = ' + IntToStr (Q.FieldByName('Код_Продукт').AsInteger) + ' and
Код_Единица = ' + IntToStr (Q.FieldByName('Код_Единица').AsInteger);
FAnalysisProduct.Filtered := True;
ifFAnalysisProduct.RecordCount = 0 then
begin
FAnalysisProduct.Insert;
FAnalysisProduct.FieldByName ('Дата').AsDateTime := Date;
FAnalysisProduct.FieldByName ('Код_Продукт').Value :=
Q.FieldByName('Код_Продукт').AsInteger;
FAnalysisProduct.FieldByName ('Код_Единица').Value :=
Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.FieldByName ('Количество').Value :=
Q.FieldByName('Количество').AsFloat*(Count + 0.0);
FAnalysisProduct.Post;
end
else
begin
//
FAnalysisProduct.Edit;
111
FAnalysisProduct.FieldByName ('Количество').AsFloat :=
FAnalysisProduct.FieldByName ('Количество').AsFloat +
Q.FieldByName('Количество').AsFloat*Count;
FAnalysisProduct.Post;
end;
end;
finally
//
FAnalysisProduct.Filtered := false;
if (Q <> nil) then Q.Free;
SetLength(VA, 0);
end;
end;
procedureTAnalysisSaver.Clear;
var
//
J : Integer;
begin
//
for J := FAnalysis.RecordCountdownto 1 do
begin
//
FAnalysis.RecNo := J;
FAnalysis.Delete;
end;
end;
procedureTAnalysisSaver.CreateAnalysis (FirstDate : TDateTime; DaysCount :
Integer);
112
var
//
I : Integer;
begin
//
try
FAnalysis.Open;
Clear;
for I := 0 to DaysCount - 1 do
begin
FAnalysis.Insert;
FAnalysis.FieldByName ('Дата').Value := Int(FirstDate) + I;
FAnalysis.Post;
end;
finally
ActiveTables(false);
end;
end;
procedure TAnalysisSaver.Save (Date : TDate; DishID : Integer; Count : Integer);
begin
//
try
ActiveTables(true);
FAnalysisDish.Insert;
FAnalysisDish.FieldByName ('Дата').AsDateTime := Date;
FAnalysisDish.FieldByName ('Код_Блюдо').AsInteger := DishID;
FAnalysisDish.FieldByName ('Количество').AsInteger := Count;
FAnalysisDish.Post;
113
AddDishProducts (Date, DishID, Count);
finally
//
ActiveTables(false);
end;
end;
end.
unituConnectionInfo;
// *************************** Режим сервера
****************************
{
Модуль содержит класс, который описывает установленное соединение;
}
interface
uses Classes, SysUtils, Datasnap.DSTCPServerTransport;
type
// Класс для хранения информации о подключенных пользователях;
TConnectionInfo = class
//
private
// Уникальный ключ;
114
FKey : Integer;
// Дата и время создания;
FDateTime :TDateTime;
// IP адрес;
FIP : String;
// Канал;
FChannel :TDSTCPChannel;
// Код пользователя;
FUserKey : Integer;
//
FUserTypeKey : Integer;
public
// Конструктор класса;
constructor Create (Key : Integer);
// Деструктор класса;
destructor Destroy; overload;
property Key : Integer read FKey;
propertyDateTime : TDateTime read FDateTime;
property IP : String read FIP write FIP;
property Channel : TDSTCPChannel read FChannel write FChannel;
propertyUserKey : Integer read FUserKey write FUserKey;
propertyUserTypeKey : Integer read FUserTypeKey write FUserTypeKey;
end;
implementation
constructorTConnectionInfo.Create (Key : Integer);
begin

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

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