Главная » Просмотр файлов » Приложение А

Приложение А (1230876), страница 2

Файл №1230876 Приложение А (Разработка системы автоматизированного контроля технологического процесса проектно-изыскательского института) 2 страницаПриложение А (1230876) страница 22020-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Button5: TButton;

Button6: TButton;

Panel1: TPanel;

Button8: TButton;

CB1: TComboBox;

CB2: TComboBox;

Label2: TLabel;

Label3: TLabel;

Button7: TButton;

procedure FormActivate(Sender: TObject);

procedure DBGrid2CellClick(Column: TColumn);

procedure Button1Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure CB1Select(Sender: TObject);

procedure CB2Select(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const mes: array [1..12] of string = ('01','02','03','04','05','06','07','08','09','10','11','12');

day: array [1..12] of integer = (31,29,31,30,31,30,31,31,30,31,30,31);

DayExc: array [1..31] of string = ('F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG' ,'AH', 'AI', 'AJ');

var

Form5: TForm5;

mesac,god:integer;

implementation

uses unit3, unit2, unit6, unit7, unit9, unit10, unit11, unit12;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

Form6.Show;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

DM.DB.Connected:=false;

DM.DB.Connected:=true;

DM.DT.Active:=true;

DM.DS_GR.Open;

DM.DS_OBJ.Open;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

Form9.Show;

end;

procedure TForm5.Button4Click(Sender: TObject);

begin

Form11.Show;

end;

procedure TForm5.Button5Click(Sender: TObject);

begin

Form7.SHow;

end;

procedure TForm5.Button6Click(Sender: TObject);

begin

Form10.Show;

end;

procedure TForm5.Button7Click(Sender: TObject);

begin

Form12.Show;

end;

procedure TForm5.Button8Click(Sender: TObject);

var Exc,Doc,Str: Olevariant;

Pathini,PathExc,DatN,DatK,shfr,FIO,Num1: String;

Ini: TIniFile;

yach_SH,yach_FIO,CounRec,i,j: integer;

D,M,Y: Word;

Date1: TDate;

Itog: array [1..31] of integer;

label l1;

begin

i:=1;

yach_SH:=20;

yach_FIO:=20;

if (mesac=-1) or (god=-1)

then MessageDlg('Выберите месяц и/или год',mtInformation,[mbOK],1)

else

begin

Pathini:=ExtractFilePath(Application.ExeName)+'Info.ini';

Ini:=TIniFile.Create(Pathini);

PathExc:=Ini.ReadString('Path','Excel','');

if FileExists(PathExc)

then

begin

datn:='01.'+mes[mesac+1]+'.'+CB2.Items.Strings[god];

datk:=IntToStr(day[mesac+1])+'.'+mes[mesac+1]+'.'+CB2.Items.Strings[god];

DM.DS_Exc.Close;

DM.DS_Exc.SelectSQL.Clear;

DM.DS_Exc.SelectSQL.Text:='select DATE_,SOTR_,RABOTA.SHIFR_,FIO_,ID_FIO,ZATR_TIME,OBJECTS.SHIFR_ as SHIFR1,ID_OBJ';

DM.DS_Exc.SelectSQL.Add(' FROM RABOTA,FIO,OBJECTS where (SOTR_ = ID_FIO) And (ID_OBJ = RABOTA.SHIFR_) and (Date_ between');

DM.DS_Exc.SelectSQL.Add(' '''+datN+''' AND '''+datK+''')');

DM.DS_Exc.SelectSQL.Add(' ORDER by SHIFR_, FIO_, DATE_');

DM.DS_Exc.Open;

DM.DS_Exc.Last;

CounRec:=DM.DS_Exc.RecordCount;

Exc:=CreateOleObject('Excel.Application');

Exc.Visible:=true;

Doc:=Exc.Workbooks.Add(PathExc);

Str:=Exc.Worksheets[1];

Str.Activate;

Str.Range['A15'].Value:='учета рабочего времени (по объектам) отдела АТС за '+CB1.Items.Strings[mesac]+' '+CB2.Items.Strings[god];

Str.Range['AJ13'].Value:=DateToStr(Now);

end

else

begin

MessageDlg('Не найден путь к фалйу Excel',mtError,[mbOk],1);

goto l1;

end;

DM.DS_Exc.First;

FIO:='';

shfr:=DM.DS_Exc.FBN('SHIFR1').AsString;

WHILE NOT DM.DS_Exc.EOF DO

begin

if (DM.DS_Exc.FBN('SHIFR1').asString=shfr) then

begin

if (DM.DS_Exc.FBN('FIO_').asString=FIO) and (Date1=DM.DS_Exc.FBN('DATE_').AsDateTime) then

begin

yach_FIO:=yach_FIO-1;

DecodeDate(DM.DS_Exc.FBN('DATE_').AsDateTime,Y,M,D);

Num1:=Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value;

Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value:=IntToStr(StrToInt(Num1)+StrToInt(DM.DS_Exc.FBN('ZATR_TIME').AsString));

Str.Range['AK'+IntToStr(yach_FIO)].Formula:='=SUM(F'+IntToStr(yach_FIO)+':AJ'+IntToStr(yach_FIO);

Itog[D]:=Itog[D]+StrToInt(DM.DS_Exc.FBN('ZATR_TIME').AsString);

DM.DS_Exc.Next;

yach_FIO:=yach_FIO+1;

end

else

if DM.DS_Exc.FBN('FIO_').AsString=FIO then

begin

yach_FIO:=yach_FIO-1;

DecodeDate(DM.DS_Exc.FBN('DATE_').AsDateTime,Y,M,D);

Num1:=Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value;

Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value:=DM.DS_Exc.FBN('ZATR_TIME').AsString;

Str.Range['AK'+IntToStr(yach_FIO)].Formula:='=SUM(F'+IntToStr(yach_FIO)+':AJ'+IntToStr(yach_FIO);

Date1:=DM.DS_Exc.FBN('DATE_').AsDateTime;

Itog[D]:=Itog[D]+Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value;

DM.DS_Exc.Next;

yach_FIO:=yach_FIO+1;

end

else

begin

DecodeDate(DM.DS_Exc.FBN('DATE_').AsDateTime,Y,M,D);

Str.Range['E'+IntToStr(yach_SH)].Value:=DM.DS_Exc.FBN('SHIFR1').AsString;

Str.Range['B'+IntToStr(yach_FIO)].Value:=DM.DS_Exc.FBN('FIO_').AsString;

Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value:=DM.DS_Exc.FBN('ZATR_TIME').AsString;

Str.Range['AK'+IntToStr(yach_FIO)].Formula:='=SUM(F'+IntToStr(yach_FIO)+':AJ'+IntToStr(yach_FIO);

FIO:= DM.DS_Exc.FBN('FIO_').AsString;

Date1:=DM.DS_Exc.FBN('DATE_').AsDateTime;

Str.Range['A'+IntToStr(yach_FIO)].Value:=i;

Itog[D]:=Itog[D]+Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value;

DM.DS_Exc.Next;

yach_SH:=yach_SH+1;

yach_FIO:=yach_FIO+1;

i:=i+1;

end;

end

else

begin

Str.Range['B'+IntToStr(yach_FIO)].Value:='Итого';

Str.Range['AK'+IntToStr(yach_FIO)].Formula:='=SUM(F'+IntToStr(yach_FIO)+':AJ'+IntToStr(yach_FIO);

for D:=1 to 31 do

begin

if Itog[D]<>0 then

Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value:=Itog[D];

end;

yach_SH:=yach_SH+2;

yach_FIO:=yach_FIO+2;

shfr:=DM.DS_Exc.FBN('SHIFR1').AsString;

FIO:='';

i:=1;

for D:=1 to 31 do Itog[D]:=0;

end;

end;

if (DM.DS_Exc.EOF=true) and (DM.DS_Exc.RecordCount<>0) then

begin

Str.Range['B'+IntToStr(yach_FIO)].Value:='Итого';

Str.Range['AK'+IntToStr(yach_FIO)].Formula:='=SUM(F'+IntToStr(yach_FIO)+':AJ'+IntToStr(yach_FIO);

for D:=1 to 31 do

begin

if Itog[D]<>0 then

Str.Range[DayExc[D]+IntToStr(yach_FIO)].Value:=Itog[D];

end;

end;

end;

l1:

end;

procedure TForm5.CB1Select(Sender: TObject);

begin

mesac:=CB1.ItemIndex;

end;

procedure TForm5.CB2Select(Sender: TObject);

begin

god:=CB2.Itemindex;

end;

procedure TForm5.DBGrid2CellClick(Column: TColumn);

begin

memo4.Clear;

memo5.Clear;

memo6.Clear;

Memo5.Text:=DM.DS_GR.FBN('WORK_').AsString;

DM.DS_OBJ.First;

while NOT DM.DS_OBJ.Eof do

begin

if DM.DS_GR.FBN('SHIFR_1').AsString=DM.DS_OBJ.FBN('SHIFR_').AsString then

Memo4.Text:=DM.DS_OBJ.FBN('TITUL_').AsString;

DM.DS_OBJ.Next;

end;

Memo6.Text:=DM.DS_GR.FBN('DISCR_').AsString;

end;

procedure TForm5.FormActivate(Sender: TObject);

begin

mesac:=Cb1.ItemIndex;

god:=CB2.ItemIndex;

label1.Caption:=Name1;

DM.DS_GR.Close;

DM.DS_GR.Sqls.SelectSQL.Clear;

DM.DS_GR.Sqls.SelectSQL.Text:='select FIO_,ID_FIO,WORK_,DISCR_,DATE_,TIME_,RABOTA.SHIFR_,STAD_,SOTR_,ZATR_TIME,ID_OBJ,OBJECTS.SHIFR_,TITUL_,ID_STAD,NAME_STAD';

DM.DS_GR.Sqls.SelectSQL.Add(' from FIO,RABOTA,OBJECTS,STADIYA WHERE (SOTR_=ID_FIO) and (ID_OBJ=RABOTA.SHIFR_) and (ID_STAD=STAD_)');

DM.DS_GR.SQLs.SelectSQL.Add(' Order by DATE_ desc,TIME_ DESC');

DM.DS_GR.Open;

end;

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DM.DB.Connected:=false;

DM.DT.Active:=false;

Application.Terminate;

end;

end.



Листинг кода программы, отвечающего за работу в окне "Список сотрудников":

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;

type

TForm6 = class(TForm)

DBGrid1: TDBGrid;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

CB1: TComboBox;

CB2: TComboBox;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

procedure FormActivate(Sender: TObject);

procedure CB1Select(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CB2Select(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button1MouseLeave(Sender: TObject);

procedure Button2MouseLeave(Sender: TObject);

procedure Button2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button3MouseLeave(Sender: TObject);

procedure Button3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure NewSotr(Sender: TObject);

procedure EditSotr(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

DOLJN,GROUP:integer;

implementation

uses unit2;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

if (Edit1.Text='') or (Edit2.Text='') or (CB1.ItemIndex=-1) then

Messagedlg('Проверьте правильность вводимой информации', mtInformation,[mbOk],1)

else

if ((Edit1.Text<>'') and (Edit2.Text<>'') and (CB1.Text='Начальник отдела')) then

begin

NewSotr(nil);

CB2.Enabled:=true;

end

else

if (Edit1.Text<>'') and (Edit2.Text<>'') and (CB1.Text<>'Начальник отдела') and

(CB1.ItemIndex<>-1) and (Cb2.Text<>'') then NewSotr(nil)

else

Messagedlg('Проверьте правильность вводимой информации', mtInformation,[mbOk],1);

end;

procedure TForm6.NewSotr(Sender: TObject);

Begin

DM.DS_SOTR.Insert;

DM.DS_SOTR.FBN('FIO_').AsString:=Edit1.Text;

DM.DS_SOTR.FBN('PASSWORD_').AsString:=Edit2.Text;

DM.DS_SOTR.FBN('DOLJN_').AsInteger:=DOLJN;

DM.DS_SOTR.FBN('GROUP_').AsInteger:=GROUP;

DM.DS_SOTR.Post;

DM.DB.DefaultTransaction.CommitRetaining;

DM.DS_SOTR.Close;

DM.DS_SOTR.Open;

Edit1.Text:='';

Edit2.Text:='';

CB1.ItemIndex:=-1;

CB2.ItemIndex:=-1;

End;

procedure TForm6.EditSotr(Sender: TObject);

begin

DM.DS_SOTR.Edit;

DM.DS_SOTR.FBN('FIO_').AsString:=Edit1.Text;

DM.DS_SOTR.FBN('PASSWORD_').AsString:=Edit2.Text;

DM.DS_SOTR.FBN('DOLJN_').AsInteger:=DOLJN;

DM.DS_SOTR.FBN('GROUP_').AsInteger:=GROUP;

DM.DS_SOTR.Post;

DM.DB.DefaultTransaction.CommitRetaining;

DM.DS_SOTR.Close;

DM.DS_SOTR.Open;

Edit1.Text:='';

Edit2.Text:='';

CB1.ItemIndex:=-1;

CB2.ItemIndex:=-1;

end;

procedure TForm6.Button1MouseLeave(Sender: TObject);

begin

Label5.Caption:='';

end;

procedure TForm6.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,

Характеристики

Список файлов ВКР

Разработка системы автоматизированного контроля технологического процесса проектно-изыскательского института
255-Рыбин Никита Алексеевич
Графический материал
Лист 1. Схема организационной структуры АО «Дальгипротранс».vsd
Лист 2. Структура базы данных автоматизированного рабочего места.vsd
Лист 3. Связь основных экранных форм с SQL-запросами.vsd
Лист 4. Алгоритм работы программы учета рабочего времени - копия.vsd
Лист 5. Реляционные связи, описываемые в синтаксисе языка SQL.vsd
Лист 6. Диаграммы контроля различных рабочих процессов..vsd
Пояснительная записка
Скан, фото
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6945
Авторов
на СтудИзбе
265
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}