Диплом: Автоматизация учета рабочего времени сотрудников компании ЗАО "Ленхарт Глобал"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
93
15. Джон Скит, C# для профессионалов. Тонкости программирования,
М., Вильямс, 2017 г, 608 с.
16. Джоэл Грас, Data Science. Наука о данных с нуля, М, БХВ-Петербург,
2018, 336 с.
17. Иванова Г.А., Технология программирования, М, КноРус, 2018 г, 336
с.
18. Исаев Г.А, Теоретико-методологические основы качества
информационных систем, М. Инфра-М, 2018 г. 258 с.
19. Ли Атчисон, Масштабирование приложений. Выращивание сложных
систем, М, Питер, 2018 г, 256 с.
20. Мартин Фаулер, Предметно-ориентированные языки
программирования, М., Вильямс, 2017 г, 576 с.
21. Окулов С.А., Пестов О.Г, Динамическое программирование, М.,
Бином. Лаборатория знаний, 2017 г, 296 с.
22. Панюкова Т.А. Панюков А.С., Языки и методы программирования.
Путеводитель по языку С++, М., Ленанд, 2018 г, 216 с.
23. Подбельский В.А, Курс программирования на языке Си, М.,
ДМК Пресс, 2018 г, 384 с.
24. Поль М. Дюваль, Стивен Матиас, Эндрю Гловер, Непрерывная
интеграция. Улучшение качества программного обеспечения и снижение риска,
М., Вильямс, 2017 г, 240 с.
25. Стенли Б. Липпман, Жози Лажойе, Заря Э. Му, Язык
программирования C++. Базовый курс, М, Вильямс, 2017 г, 1120 с.
26. Фредерик Брукс, Проектирование процесса проектирования. Записки
компьютерного эксперта, М., Вильямс, 2017 г, 464 с.
94
Приложение. Листинг программного модуля
unit uCommon;
interface
uses DB, ADODB, DBGrids, Windows, SysUtils, ShellAPI, Forms, Variants, Dialogs,
DBClient;
procedure ClearMemory (Obj : TObject);
procedure DataSetLocateKey (DS : TDataSet; KeyName : Variant; KeyValue :
Variant);
procedure DataSetReload (DS : TDataSet);
procedure dbgTitleClick (Column: TColumn);
function GetTempDir : WideString; stdcall;
function ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer):
THandle;
implementation
procedure ClearMemory (Obj : TObject);
begin
//
if (Obj <> nil) then Obj.Free;
end;
procedure DataSetLocateKey (DS : TDataSet; KeyName : Variant; KeyValue :
Variant);
begin
//
if (DS.Locate(KeyName, KeyValue, []) = false) then
raise Exception.Create('Не удалось найти строку с сохраненным значением
ключа');
end;
procedure DataSetReload (DS : TDataSet);
var
//
KeyName, KeyValue : Variant;
I : Integer;
F : TField;
begin
//
KeyName := '';
95
KeyValue := NULL;
for I := 0 to DS.FieldCount - 1 do
begin
//
F := DS.Fields.FieldByNumber (I);
if (F is TAutoIncField) then
begin
//
KeyName := F.FieldName;
KeyValue := F.Value;
end;
end;
DS.Close;
DS.Open;
if (KeyName <> '') then
begin
if (DS.Locate(KeyName, KeyValue, []) = false) then
raise Exception.Create('Не удалось найти строку с сохраненным значением
ключа');
end;
end;
procedure dbgTitleClick (Column: TColumn);
var
//
T : TClientDataSet;
SortType : TIndexOptions;
procedure ClearAllTags ();
var
I : Integer;
C : TDBGridColumns;
begin
//
C := (Column.Grid as TDBGrid).Columns;
for I := 0 to C.Count - 1 do
begin
//
if (C[I].Field.FieldName <> Column.Field.FieldName) then
begin
//
C[I].Field.Tag := 0;
C[I].Title.Caption := C[I].Field.DisplayName;
end
else
begin
//
96
end;
end;
end;
begin
//
T := Column.Field.DataSet as TClientDataSet;
Column.Field.Tag := Column.Field.Tag + 1;
ClearAllTags ();
if (Column.Field.Tag = 1) then
begin
SortType := [];
Column.Title.Caption := Column.Field.DisplayName + ' (по возр.)';
end;
if (Column.Field.Tag = 2) then
begin
SortType := [ixDescending];
Column.Title.Caption := Column.Field.DisplayName + ' (по убыв.)';
end;
if (Column.Field.FieldKind = fkData) then
begin
//
T.IndexDefs.Clear;
try
T.DeleteIndex('IX');
except
end;
T.AddIndex ('IX', Column.Field.FieldName, SortType + [ixCaseInsensitive]);
T.IndexName := 'IX';
end;
if (Column.Field.FieldKind = fkLookup) then
begin
//
T.IndexDefs.Clear;
try
T.DeleteIndex('IX');
except
end;
T.AddIndex ('IX', Column.Field.KeyFields, SortType + [ixCaseInsensitive]);
97
T.IndexName := 'IX';
end;
if (Column.Field.Tag >= 2) then Column.Field.Tag := 0;
end;
function GetTempDir : WideString; stdcall;
var
Buffer : array[0..1023] of Char;
begin
//
GetTempPath (1024 - 1, &Buffer);
SetString(Result, Buffer, Length(Buffer));
Result := Trim (Result);
end;
function ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer):
THandle;
var
zFileName, zParams, zDir: array[0..79] of Char;
begin
Result := ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd);
end;
end.
unit ufRefBooks;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls,
Vcl.DBClientActns, Vcl.DBActns, Vcl.ActnList,
Vcl.PlatformDefaultStyleActnCtrls, Vcl.ActnMan, Vcl.ImgList, Vcl.ToolWin,
Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.ExtDlgs,
DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh, EhLibVCL,
GridsEh, DBAxisGridsEh,
DBGridEh;
98
type
TfRefBooks = class(TForm)
PageControl2: TPageControl;
TabSheet7: TTabSheet;
TabSheet10: TTabSheet;
TabSheet2: TTabSheet;
TabSheet4: TTabSheet;
TabSheet1: TTabSheet;
DBGridEh1: TDBGridEh;
DBGridEh3: TDBGridEh;
DBGridEh4: TDBGridEh;
DBGridEh5: TDBGridEh;
TabSheet3: TTabSheet;
DBGridEh6: TDBGridEh;
TabSheet5: TTabSheet;
DBGridEh7: TDBGridEh;
TabSheet8: TTabSheet;
DBGridEh9: TDBGridEh;
DBGridEh2: TDBGridEh;
TabSheet6: TTabSheet;
DBGridEh8: TDBGridEh;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fRefBooks: TfRefBooks;
implementation
{$R *.dfm}
uses udmData, uCommon;
end.

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

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