Электронный диспетчер
Cоставление программной оболочки автоматизированного рабочего места диспетчера по составлению расписания колледжа. Язык создания программного продукта. Техническое и программное оснащение диспетчерского места. Проектирование диаграмм прецедентов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 03.07.2015 |
Размер файла | 3,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Table1.FieldByName('P_'+inttostr(m)).Text:=Table2.ByName('PREDMET').Text;
Table1.Post;Table2.Edit; Table2.FieldByName('_N').Value:=Table2.FieldByName('_N').Value-2;
Table2.FieldByName('VP').Value:=Table2.FieldByName('VP').Value-2;
Table2.FieldByName('w').Value:=Table2.FieldByName('w').Value+1; Table2.Post;
m:=m+1; n:=n+1; x:=0; end; except beep end // except
else // если пара не подходит
BEGIN //x:=х+1; //31
Table1.Locate('GRUPPI',StringGrid1.Cells[q,0],[]); if m=8 then goto wq; //прошло 8 пар
if Table2.Eof then BEGIN m:=m+1; Table2.First; END else Table2.Next;
END; //31
if x=2 then begin x:=0; m:=m+1; goto opn; end end; //22
form1.Table2.Filtered:=false; end; //1
begin q:=form1.peg5.TabIndex; Table4.Edit;
Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex)).Value:=1;
if q=5 then begin Table4.Edit; Table4.FieldByName('Q0').Value:=0; end else begin
Table4.Edit; Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex+1)).Value:=0; end; form1.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false; Table4.Post; END; // заполнение таблици
for q:=1 to form1.StringGrid1.ColCount-1 do
begin if form1.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]) then
for w:=1 to 8 do
form1.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('p_'+inttostr(w)).Text+'/'+form1.Table1.FieldByName('pr_'+inttostr(w)).Text end; // конец заполнения
end;
procedure TForm1.Creat5Click(Sender: TObject);
var q,w:integer;
begin IF not form1.Table1.IsEmpty THEN BEGIN form1.Table1.First;
if iDOK=application.MessageBox('Все данные которые содержатся в этой тоблице будут'+#13+'У Н И Ч Т О Ж Е Н Ы','В Н И М А Н И Е',1) then
while not form1.Table1.IsEmpty do begin form1.Table1.Delete; end end ELSE
application.MessageBox('Таблица не содержит никаких данных','Внимание',0);
for q:=1 to form1.StringGrid1.ColCount-1 do begin
form1.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]); for w:=1 to 8 do
form1.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('pr_'+inttostr(w)).Text; end; end;
procedure TForm1.AddAll5Click(Sender: TObject);
var q,w:integer;
begin form1.Table2.Active:=false; form1.Table2.DatabaseName:=put+'\BDE\DANNI';
form1.Table2.TableName:='Gruppi.db'; form1.Table2.IndexName:='';
form1.Table2.Active:=true; form1.Table2.First; q:=1;
//заполнения таблици группами учащихся
While not form1.Table2.Eof do BEGIN if StringGrid1.ColCount=q then
form1.StringGrid1.ColCount:=form1.StringGrid1.ColCount+1;
if StringGrid1.ColCount=2 then StringGrid1.FixedCols:=1;
form1.StringGrid1.Cells[q,0]:=form1.Table2.FieldByName('NAME').Text;
form1.Table2.Next; q:=q+1; END; if form1.peg5.TabIndex>-1 then
for q:=1 to form1.StringGrid1.ColCount-1 do begin
form1.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]); for w:=1 to 8 do
form1.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('P_'+inttostr(w)).Text+'/'+Table1.FieldByName('Pr_'+inttostr(w)).Text; end; form1.Table2.Active:=false; end;
// удалить группу
procedure TForm1.DelGr5Click(Sender: TObject);
var q,w:integer;
begin w:=StringGrid1.Col; if w<>StringGrid1.ColCount then for q:=w to form1.StringGrid1.ColCount-2 do begin StringGrid1.Cells[q,0]:=StringGrid1.Cells[q+1,0];
StringGrid1.Cells[q,1]:=StringGrid1.Cells[q+1,1]; StringGrid1.Cells[q,2]:=StringGrid1.Cells[q+1,2];
StringGrid1.Cells[q,3]:=StringGrid1.Cells[q+1,3];
StringGrid1.Cells[q,4]:=StringGrid1.Cells[q+1,4];
StringGrid1.Cells[q,5]:=StringGrid1.Cells[q+1,5];
StringGrid1.Cells[q,6]:=StringGrid1.Cells[q+1,6];
StringGrid1.Cells[q,7]:=StringGrid1.Cells[q+1,7];
StringGrid1.Cells[q,8]:=StringGrid1.Cells[q+1,8];
end; StringGrid1.ColCount:=StringGrid1.ColCount-1; if form1.Table1.Active then begin
form1.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]);
form1.Table1.Delete; end; end;
// убрать пару с расписания
procedure TForm1.Del5Click(Sender: TObject);
begin Table2.Active:=false; //база дисцеплин группы
Table2.DatabaseName:=put+'\BDE\GRUPP'; Table2.TableName:=StringGrid1.Cells[StringGrid1.Col,0]+'.db'; Table2.Active:=true; form1.Table2.Locate('PREDMET',Table1.FieldByName('P_'+inttostr(StringGrid1.Row)).Text,[]);
form1.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]); Table1.Edit;
Table1.FieldByName('P_'+inttostr(StringGrid1.Row)).Text:=''; Table1.Post; Table2.Edit;Table2.FieldByName('_N').Value:=Table2.FieldByName('_N').Value+2; Table2.Post; StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]:=''; end;
procedure TForm1.Cencl5Click(Sender: TObject);
begin form1.Panel5.Visible:=false; form1.Panel5_1.Visible:=true; Panel5.Visible:=false; List5.Clear; end;
procedure TForm1.Add5Click(Sender: TObject);
begin form1.Panel5_1.Visible:=true; Panel5.Visible:=false;
StringGrid1.ColCount:=StringGrid1.ColCount+1; StringGrid1.FixedCols:=1;
StringGrid1.Cells[StringGrid1.ColCount-1,0]:=List5.Items[List5.itemindex];List5.Clear;end;
procedure TForm1.AddOn5Click(Sender: TObject);
var q,w:integer;
begin form1.Panel5_1.Visible:=FALSE; form1.Panel5.Visible:=TRUE; Table2.Active:=false;
Table2.DatabaseName:=put+'\BDE\DANNI';Table2.TableName:='Gruppi.db';
form1.Table2.IndexName:=''; form1.Table2.Active:=true; form1.Table2.First; While not form1.Table2.Eof do BEGIN w:=0; for q:=1 to StringGrid1.ColCount-1 do
if StringGrid1.Cells[q,0]=Table2.FieldByName('NAME').Text then w:=1;
if w=0 then form1.List5.Items.Add(Table2.FieldByName('NAME').Text); Table2.Next; END; form1.Panel5.Visible:=true; end;
procedure TForm1.BitBtn7Click(Sender: TObject);
var q:integer;
begin for q:=1 to form1.StringGrid1.ColCount-1 do begin
form1.Table2.Active:=false; //база дисцеплин группы
form1.Table2.DatabaseName:=put+'\BDE\GRUPP';
form1.Table2.TableName:=StringGrid1.Cells[q,0]+'.db';
form1.Table2.Active:=true; // открытие БД дистциплин группы
form1.Table2.First; Table2.Edit; while not Table2.Eof do begin Table2.Edit;
Table2.FieldByName('_N').Value:=Table2.FieldByName('_N').Value+Table2.FieldByName('N').Value; Table2.Next; end; end; end;
procedure TForm1.DBGri4CellClick(Column: TColumn);
begin N.Caption:='Часов в неделю = '+Table2.FieldByName('_N').Text;
OV.Caption:='Часов в сессии = '+Table2.FieldByName('VP').Text; end;
procedure TForm1.ClClick(Sender: TObject);
begin form1.Notebook1.ActivePage:='титульный'; end;
procedure TForm1.FormActivate(Sender: TObject);
begin form1.Width:=15; form1.Height:=15; while form1.Width<875 do begin form1.Width:=Width+10 ; end; while form1.Height<505 do begin form1.Height:=Height+10; end; end;
procedure TForm1.Edit3_1Change(Sender: TObject);
begin if (edit3_1.Text='')or(edit3_2.Text='') then EditBtn3.Enabled:=false else ditBtn3.Enabled:=true; end;
procedure TForm1.Edit3_2Change(Sender: TObject);
begin if (edit3_1.Text='')or(edit3_2.Text='') then EditBtn3.Enabled:=false
else EditBtn3.Enabled:=true; end;
procedure TForm1.Edit3_3Change(Sender: TObject);
begin if (edit3_3.Text='')or(edit3_3_3.Text='') then ADD3_1.Enabled:=false
else ADD3_1.Enabled:=true; end;
procedure TForm1.Edit3_3_3Change(Sender: TObject);
begin if (edit3_3.Text='')or(edit3_3_3.Text='') then ADD3_1.Enabled:=false else ADD3_1.Enabled:=true; end;
procedure TForm1.BitBtn4Click(Sender: TObject);
var w:integer;
begin Form1.Panel7.Visible:=false; for w:=0 to 5 do begin Table4.Edit;
Table4.FieldByName('Q'+inttostr(w)).Value:=1; end; Table4.Edit;
Table4.FieldByName('Q'+inttostr(com.ItemIndex)).Value:=0 end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin Form1.Panel7.Visible:=true; end;
procedure TForm1.BitBtn11Click(Sender: TObject);
begin form1.StringGrid1.Enabled:=true; form1.P8.Visible:=false; form1.Panel5_1.Visible:=true; List.Clear; end;
procedure TForm1.BitBtn9Click(Sender: TObject);
begin form1.StringGrid1.Enabled:=false; form1.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]);
form1.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false;form1.Panel5_1.Visible:=FALSE;
form1.P8.Visible:=TRUE; Table2.Active:=false; //база дисцеплин группы
Table2.DatabaseName:=put+'\BDE\GRUPP';
Table2.TableName:=StringGrid1.Cells[StringGrid1.Col,0]+'.db';form1.Table2.IndexName:=''; form1.Table2.Active:=true;form1.Table2.First;While not form1.Table2.Eof do BEGIN form1.List.Items.Add(Table2.FieldByName('PREDMET').Text); Table2.Next; END; end;
procedure TForm1.BitBtn10Click(Sender: TObject);
begin form1.StringGrid1.Enabled:=true;
form1.Table2.Locate('PREDMET',form1.List.Items[List.ItemIndex],[]);form1.Table1.Edit;
Table1.FieldByName('PR'+inttostr(StringGrid1.Row)).Text:=Table.FieldByName('PREPOD').Text;
Table1.FieldByName('P'+inttostr(StringGrid1.Row)).Text:=Table.FieldByName('PREDMET').Text; Table1.Post; Table2.Edit;Table2.FieldByName('N').Value:=Table2.FieldByName('N').Value-2;
Table2.FieldByName('VP').Value:=Table2.FieldByName('VP').Value-2; Table2.Post;
StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]:=form1.Table1.FieldByName('p_'+inttostr(StringGrid1.Row)).Text+'/'+form1.Table1.FieldByName('pr_'+inttostr(StringGrid1.Row)).Text;
form1.P8.Visible:=false; form1.Panel5_1.Visible:=true; List.Clear; end;
procedure TForm1.BitClick(Sender: TObject);
var q,w,z:integer;
begin {//пропуск дня} q:=form1.peg5.TabIndex; Table4.Edit; Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex)).Value:=1; if q=5 then
begin Table4.Edit; Table4.FieldByName('Q0').Value:=0;end else begin Table4.Edit;
Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex+1)).Value:=0; end;
form1.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false; Table4.Post; //отчистка расписания
IF not form1.Table1.IsEmpty THEN BEGIN form1.Table1.First;while not form1.Table1.IsEmpty do begin form1.Table1.Delete; end end; for q:=1 to form1.StringGrid1.ColCount-1 do begin
form1.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]);
for w:=1 to 8 do form1.StringGrid1.Cells[q,w]:=''; end; // если конец недели
if form1.peg5.TabIndex=0 then ponedelnik; end;
procedure TForm1.Ecx1Click(Sender: TObject);
var srow : string; Excel, Sheet : Variant; i : integer;
begin if not VarIsEmpty(Excel) then Excel.Quit; try Excel:=CreateOleObject('Excel.Application');
except ShowMessage('Нет доступа к серверу Excel!'); System.Exit; end;
Excel.SheetsInNewWorkbook:=2;
Excel.Workbooks.Add(ExtractFileDir(Application.ExeName)+'\BDE\excel\pl.xls');
Sheet:=Excel.Workbooks[1].Sheets[1]; Sheet.Range['D2'].Value := DateToStr(date);
for i:=1 to form1.StringGrid1.ColCount-1 do begin Sheet.Range[chr(i+97)+inttostr(1)].Value := form1.StringGrid1.Cells[i,0];
Sheet.Range[chr(i+97)+inttostr(2)].Value := form1.StringGrid1.Cells[i,1];
Sheet.Range[chr(i+97)+inttostr(3)].Value := form1.StringGrid1.Cells[i,2];
Sheet.Range[chr(i+97)+inttostr(4)].Value := form1.StringGrid1.Cells[i,3];
Sheet.Range[chr(i+97)+inttostr(5)].Value := form1.StringGrid1.Cells[i,4];
Sheet.Range[chr(i+97)+inttostr(6)].Value := form1.StringGrid1.Cells[i,5];
Sheet.Range[chr(i+97)+inttostr(7)].Value := form1.StringGrid1.Cells[i,6];
Sheet.Range[chr(i+97)+inttostr(8)].Value := form1.StringGrid1.Cells[i,7];
Sheet.Range[chr(i+97)+inttostr(9)].Value := form1.StringGrid1.Cells[i,8]; end;
Excel.Visible:=true; Excel:=Unassigned;end;
procedure TForm1.FormCreate(Sender: TObject);
begin GetDir(D,put); form1.Table2.DatabaseName:=put+'\BDE\GRUPP';
form1.Table4.DatabaseName:=put+'\BDE\DNI_nedeli'; // form1.Table2.Active:=true;
form1.Table4.Active:=true; Form1.ScrollBar1.Position:=form1.StringGrid1.DefaultColWidth;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin close; end;
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin form1.StringGrid1.DefaultColWidth:=Form1.ScrollBar1.Position;
form1.StringGrid1.ColWidths[0]:=60; end;
procedure TForm1.EXLBClick(Sender: TObject);
var i,j:integer; s:string;
begin EXL.Clear;
EXL.Lines.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
EXL.Lines.Add('<html><head><title>Untitled</title>');
EXL.Lines.Add('<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">');
EXL.Lines.Add('</head>');
EXL.Lines.Add('<body bgcolor="D0E0F0" text="black">');
EXL.Lines.Add('<H1 align="center">Расписание уроков на '+Date_Table.FieldByName('Ч').AsString+'</H1>');
EXL.Lines.Add('<TABLE BORDER BORDERCOLOR=Black>');
EXL.Lines.Add('<TR BGCOLOR="#EEEEFF">');for i:=0 to form1.StringGrid1.ColCount-1 do
EXL.Lines.Add('<TD><b>'+form1.StringGrid1.Cells[i,0]+'</b></TD>');for j:=1 to 8 do begin s:='<tr>'; for i:=0 to form1.StringGrid1.ColCount-1 do s:=s+'<td>'+form1.StringGrid1.Cells[i,j];
EXL.Lines.Add(s); end; EXL.Lines.Add('</table></body></html>');
s:=put+'\RASPIS\RASPISANIE_'+Date_Table.FieldByName('Ч').AsString+'.HTM';
EXL.Lines.SaveToFile(s); form1.OleContainer1.CreateObjectFromFile(s,false);
form1.OleContainer1.DoVerb(0); end;
procedure TForm1.N50Click(Sender: TObject);
begin ExecuteFile(Put+'\HELP\DispeCH.HLP','','',SW_SHOW);end;
procedure TForm1.N51Click(Sender: TObject);
begin form1.Notebook1.ActivePage:='Справка'; end; end.
Размещено на Allbest.ru
Подобные документы
Разработка и внедрение модуля комплексной системы автоматизированного рабочего места диспетчера по транспорту, позволяющей автоматизировать работу диспетчера: по учету, контролю выполнения заявок, их регистрации, а также по созданию итоговых отчетов.
дипломная работа [4,3 M], добавлен 25.01.2013Анализ программ автоматизации деятельности диспетчера такси. Жизненный цикл автоматизированной информационной системы, язык программирования, система управления базами данных. Создание программы "Автоматизированное рабочее место диспетчера такси".
курсовая работа [1,6 M], добавлен 19.11.2010Технологический процесс сбора, передачи, обработки и выдачи информации. Назначение программного продукта. Анализ экономических показателей внедрения автоматизированного рабочего места кассира-операциониста. Организация рабочего места оператора ЭВМ.
дипломная работа [2,6 M], добавлен 08.12.2014Electronic Flight Strip - компонент системы Aircon 2100. Поддержание рабочей обстановки для диспетчера, обозрение и управление планами полета на аэродроме. Рабочая обстановка - электронная версия классического рабочего места диспетчера и бумажных стрипов.
курс лекций [909,3 K], добавлен 27.04.2014Описание работы заместителя главы районной администрации, информационное, техническое и программное обеспечение его автоматизированного рабочего места. Особенности основных задач и функций специалиста. Общее и функциональное программное обеспечение.
реферат [41,2 K], добавлен 16.04.2014Обоснование необходимости автоматизации рабочего места. Выбор среды программирования. Этапы разработки программного продукта. База данных и таблицы. Расчет возможного роста производительности труда от внедрения автоматизированной информационной системы.
дипломная работа [661,4 K], добавлен 17.07.2016Декомпозиция диаграммы и обработка путевых листов. Подсистема учета оказанных транспортных услуг, работы водителей, затрат, ремонтов и сервисного обслуживания. Проектирование автоматизированного рабочего места диспетчера, разработка интерфейса программы.
дипломная работа [4,6 M], добавлен 20.01.2013Создание автоматизированного рабочего места подготовки управляющих программ для станков с ЧПУ. Технологическая сущность и формализация алгоритма задачи; техническое и программное обеспечение АРМ. Организация оптимальных условий труда программиста; смета.
дипломная работа [2,4 M], добавлен 22.05.2013Понятие, типовая структура, классификация, признаки и функции автоматизированного рабочего места. Практическое применение АРМ в средней образовательной школе на примере СОШ №69 г.Оренбурга. Техническое и программное обеспечение АРМ учителя информатики.
курсовая работа [625,2 K], добавлен 10.06.2012Создание автоматизированного рабочего места сотрудника отдела кадров администрации Петровского муниципального района г. Светлоград. Задачи проектирования: реализация информационной подсистемы "Отдел кадров". Информационное и программное обеспечение.
дипломная работа [7,7 M], добавлен 24.06.2011