Электронный диспетчер

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.