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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

// Конец запоменания даты //начало очистки тикущего дня Table1

while not form1.Table1.IsEmpty do begin form1.Table1.Delete; end;

wq:for q:=1 to form1.StringGrid1.ColCount-1 do //Начало большого цикло{1} Table2.Active:=false; //база дисцеплин группы.Table2.IndexName:=''; Table2.DatabaseName:=put+'\BDE\GRUPP'; Table2.TableName:=StringGrid1.Cells[q,0]+'.db';.Active:=true; { открытие БД дистциплин группы} // fff:=0;.Insert; Table1.FieldByName('GRUPPI').Text:=StringGrid1.Cells[q,0];

//подсчет чисов в недели и в день ко всем парам группы

if not form1.Table2.IsEmpty then while not Table2.eof do //пройтись по всем парам 1-?Table2.Edit;Table2.FieldByName('W').Value:=0; Table2.Next; end;

//Конец подсчета чисов в недели и в день

form1.Table2.Filter:='_N>1';form1.Table2.Filtered:=true;

//form1.Table2.IndexName:='VO'; //упорядочить БД группы.First; x:=0; m:=1; n:=0; Table2.Edit; //fff:=0;not form1.Table2.eof do begin form1.Table2.Edit; form1.Table2.FieldByName('A').Value:=trunc((Table2.FieldByName('_N').Value/2)/(6-form1.peg5.TabIndex))+1; form1.Table2.Next;end; Table2.First;:while (n<Table2.FieldByName('Q').Value)and(m<(par.ItemIndex+3)) doif (Table2.FieldByName('_N').Value>=2) and (form1.Table2.FieldByName('A').Value>0)and(not(Table2.FieldByName('VP').Value<2)) and //если пара подходит

(Table2.FieldByName('W').Value<Table2.FieldByName('VO_N').Value)not Table1.Locate('PR_'+inttostr(m),Table2.FieldByName('PREPOD').Text,[]) then try begin form1.Table1.Edit;.FieldByName('PR_'+inttostr(m)).Text:=Table2.FieldName('PREPOD').Text;.FieldByName('P_'+inttostr(m)).Text:=Table2.ByName('PREDMET').Text;.Post;Table2.Edit; Table2.FieldByName('_N').Value:=Table2.FieldByName('_N').Value-2;.FieldByName('VP').Value:=Table2.FieldByName('VP').Value-2;.FieldByName('w').Value:=Table2.FieldByName('w').Value+1; Table2.Post;:=m+1; n:=n+1; x:=0; end; except beep end // except

else // если пара не подходит//x:=х+1; //31

Table1.Locate('GRUPPI',StringGrid1.Cells[q,0],[]); if m=8 then goto wq; //прошло 8 парTable2.Eof then BEGIN m:=m+1; Table2.First; END else Table2.Next;; //31x=2 then begin x:=0; m:=m+1; goto opn; end end; //22.Table2.Filtered:=false; end; //1q:=form1.peg5.TabIndex; Table4.Edit;.FieldByName('Q'+inttostr(form1.peg5.TabIndex)).Value:=1;q=5 then begin Table4.Edit; Table4.FieldByName('Q0').Value:=0; end else begin.Edit; Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex+1)).Value:=0; end; form1.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false; Table4.Post; END; // заполнение таблициq:=1 to form1.StringGrid1.ColCount-1 doif form1.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]) thenw:=1 to 8 do.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('p_'+inttostr(w)).Text+'/'+form1.Table1.FieldByName('pr_'+inttostr(w)).Text end; // конец заполнения ;TForm1.Creat5Click(Sender: TObject);q,w:integer;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.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]); for w:=1 to 8 do.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('pr_'+inttostr(w)).Text; end; end;TForm1.AddAll5Click(Sender: TObject);q,w:integer;form1.Table2.Active:=false; form1.Table2.DatabaseName:=put+'\BDE\DANNI';.Table2.TableName:='Gruppi.db'; form1.Table2.IndexName:='';.Table2.Active:=true; form1.Table2.First; q:=1;

//заполнения таблици группами учащихсяnot form1.Table2.Eof do BEGIN if StringGrid1.ColCount=q then.StringGrid1.ColCount:=form1.StringGrid1.ColCount+1;StringGrid1.ColCount=2 then StringGrid1.FixedCols:=1;.StringGrid1.Cells[q,0]:=form1.Table2.FieldByName('NAME').Text;.Table2.Next; q:=q+1; END; if form1.peg5.TabIndex>-1 thenq:=1 to form1.StringGrid1.ColCount-1 do begin.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]); for w:=1 to 8 do.StringGrid1.Cells[q,w]:=form1.Table1.FieldByName('P_'+inttostr(w)).Text+'/'+Table1.FieldByName('Pr_'+inttostr(w)).Text; end; form1.Table2.Active:=false; end;

// удалить группуTForm1.DelGr5Click(Sender: TObject);q,w:integer;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];.Cells[q,1]:=StringGrid1.Cells[q+1,1]; StringGrid1.Cells[q,2]:=StringGrid1.Cells[q+1,2];.Cells[q,3]:=StringGrid1.Cells[q+1,3];.Cells[q,4]:=StringGrid1.Cells[q+1,4];.Cells[q,5]:=StringGrid1.Cells[q+1,5];.Cells[q,6]:=StringGrid1.Cells[q+1,6];.Cells[q,7]:=StringGrid1.Cells[q+1,7];.Cells[q,8]:=StringGrid1.Cells[q+1,8];; StringGrid1.ColCount:=StringGrid1.ColCount-1; if form1.Table1.Active then begin.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]);.Table1.Delete; end; end;

// убрать пару с расписанияTForm1.Del5Click(Sender: TObject);Table2.Active:=false; //база дисцеплин группы.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,[]);.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]); Table1.Edit;.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;TForm1.Cencl5Click(Sender: TObject);form1.Panel5.Visible:=false; form1.Panel5_1.Visible:=true; Panel5.Visible:=false; List5.Clear; end;TForm1.Add5Click(Sender: TObject);form1.Panel5_1.Visible:=true; Panel5.Visible:=false;.ColCount:=StringGrid1.ColCount+1; StringGrid1.FixedCols:=1;.Cells[StringGrid1.ColCount-1,0]:=List5.Items[List5.itemindex];List5.Clear;end;TForm1.AddOn5Click(Sender: TObject);q,w:integer;form1.Panel5_1.Visible:=FALSE; form1.Panel5.Visible:=TRUE; Table2.Active:=false;.DatabaseName:=put+'\BDE\DANNI';Table2.TableName:='Gruppi.db';.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 doStringGrid1.Cells[q,0]=Table2.FieldByName('NAME').Text then w:=1;w=0 then form1.List5.Items.Add(Table2.FieldByName('NAME').Text); Table2.Next; END; form1.Panel5.Visible:=true; end;TForm1.BitBtn7Click(Sender: TObject);q:integer;for q:=1 to form1.StringGrid1.ColCount-1 do begin.Table2.Active:=false; //база дисцеплин группы.Table2.DatabaseName:=put+'\BDE\GRUPP';.Table2.TableName:=StringGrid1.Cells[q,0]+'.db';.Table2.Active:=true; // открытие БД дистциплин группы.Table2.First; Table2.Edit; while not Table2.Eof do begin Table2.Edit;.FieldByName('_N').Value:=Table2.FieldByName('_N').Value+Table2.FieldByName('N').Value; Table2.Next; end; end; end;TForm1.DBGri4CellClick(Column: TColumn);

begin N.Caption:='Часов в неделю = '+Table2.FieldByName('_N').Text;.Caption:='Часов в сессии = '+Table2.FieldByName('VP').Text; end;TForm1.ClClick(Sender: TObject);form1.Notebook1.ActivePage:='титульный'; end;TForm1.FormActivate(Sender: TObject);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;TForm1.Edit3_1Change(Sender: TObject);if (edit3_1.Text='')or(edit3_2.Text='') then EditBtn3.Enabled:=false else ditBtn3.Enabled:=true; end;TForm1.Edit3_2Change(Sender: TObject);if (edit3_1.Text='')or(edit3_2.Text='') then EditBtn3.Enabled:=falseEditBtn3.Enabled:=true; end;TForm1.Edit3_3Change(Sender: TObject);if (edit3_3.Text='')or(edit3_3_3.Text='') then ADD3_1.Enabled:=falseADD3_1.Enabled:=true; end;TForm1.Edit3_3_3Change(Sender: TObject);if (edit3_3.Text='')or(edit3_3_3.Text='') then ADD3_1.Enabled:=false else ADD3_1.Enabled:=true; end;TForm1.BitBtn4Click(Sender: TObject);w:integer;Form1.Panel7.Visible:=false; for w:=0 to 5 do begin Table4.Edit;.FieldByName('Q'+inttostr(w)).Value:=1; end; Table4.Edit;.FieldByName('Q'+inttostr(com.ItemIndex)).Value:=0 end;TForm1.BitBtn8Click(Sender: TObject);Form1.Panel7.Visible:=true; end;TForm1.BitBtn11Click(Sender: TObject);form1.StringGrid1.Enabled:=true; form1.P8.Visible:=false; form1.Panel5_1.Visible:=true; List.Clear; end;TForm1.BitBtn9Click(Sender: TObject);form1.StringGrid1.Enabled:=false; form1.Table1.Locate('GRUPPI',StringGrid1.Cells[StringGrid1.Col,0],[]);.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false;form1.Panel5_1.Visible:=FALSE;.P8.Visible:=TRUE; Table2.Active:=false; //база дисцеплин группы.DatabaseName:=put+'\BDE\GRUPP';.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;TForm1.BitBtn10Click(Sender: TObject);form1.StringGrid1.Enabled:=true;.Table2.Locate('PREDMET',form1.List.Items[List.ItemIndex],[]);form1.Table1.Edit;.FieldByName('PR'+inttostr(StringGrid1.Row)).Text:=Table.FieldByName('PREPOD').Text;.FieldByName('P'+inttostr(StringGrid1.Row)).Text:=Table.FieldByName('PREDMET').Text; Table1.Post; Table2.Edit;Table2.FieldByName('N').Value:=Table2.FieldByName('N').Value-2;.FieldByName('VP').Value:=Table2.FieldByName('VP').Value-2; Table2.Post;.Cells[StringGrid1.Col,StringGrid1.Row]:=form1.Table1.FieldByName('p_'+inttostr(StringGrid1.Row)).Text+'/'+form1.Table1.FieldByName('pr_'+inttostr(StringGrid1.Row)).Text;.P8.Visible:=false; form1.Panel5_1.Visible:=true; List.Clear; end;TForm1.BitClick(Sender: TObject);q,w,z:integer;{//пропуск дня} q:=form1.peg5.TabIndex; Table4.Edit; Table4.FieldByName('Q'+inttostr(form1.peg5.TabIndex)).Value:=1; if q=5 thenTable4.Edit; Table4.FieldByName('Q0').Value:=0;end else begin Table4.Edit;.FieldByName('Q'+inttostr(form1.peg5.TabIndex+1)).Value:=0; end;.RASPRED5.Enabled:=false; form1.Bit.Enabled:=false; Table4.Post; //отчистка расписания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.Table1.Locate('GRUPPI',form1.StringGrid1.Cells[q,0],[]);w:=1 to 8 do form1.StringGrid1.Cells[q,w]:=''; end; // если конец недели form1.peg5.TabIndex=0 then ponedelnik; end;TForm1.Ecx1Click(Sender: TObject);srow : string; Excel, Sheet : Variant; i : integer;if not VarIsEmpty(Excel) then Excel.Quit; try Excel:=CreateOleObject('Excel.Application');ShowMessage('Нет доступа к серверу Excel!'); System.Exit; end;.SheetsInNewWorkbook:=2;.Workbooks.Add(ExtractFileDir(Application.ExeName)+'\BDE\excel\pl.xls');:=Excel.Workbooks[1].Sheets[1]; Sheet.Range['D2'].Value := DateToStr(date);i:=1 to form1.StringGrid1.ColCount-1 do begin Sheet.Range[chr(i+97)+inttostr(1)].Value := form1.StringGrid1.Cells[i,0];.Range[chr(i+97)+inttostr(2)].Value := form1.StringGrid1.Cells[i,1];.Range[chr(i+97)+inttostr(3)].Value := form1.StringGrid1.Cells[i,2];.Range[chr(i+97)+inttostr(4)].Value := form1.StringGrid1.Cells[i,3];.Range[chr(i+97)+inttostr(5)].Value := form1.StringGrid1.Cells[i,4];.Range[chr(i+97)+inttostr(6)].Value := form1.StringGrid1.Cells[i,5];.Range[chr(i+97)+inttostr(7)].Value := form1.StringGrid1.Cells[i,6];.Range[chr(i+97)+inttostr(8)].Value := form1.StringGrid1.Cells[i,7];.Range[chr(i+97)+inttostr(9)].Value := form1.StringGrid1.Cells[i,8]; end;.Visible:=true; Excel:=Unassigned;end;TForm1.FormCreate(Sender: TObject);GetDir(D,put); form1.Table2.DatabaseName:=put+'\BDE\GRUPP';.Table4.DatabaseName:=put+'\BDE\DNI_nedeli'; // form1.Table2.Active:=true;.Table4.Active:=true; Form1.ScrollBar1.Position:=form1.StringGrid1.DefaultColWidth;;TForm1.SpeedButton5Click(Sender: TObject);close; end;TForm1.ScrollBar1Change(Sender: TObject);form1.StringGrid1.DefaultColWidth:=Form1.ScrollBar1.Position;.StringGrid1.ColWidths[0]:=60; end;TForm1.EXLBClick(Sender: TObject);i,j:integer; s:string;EXL.Clear;.Lines.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');.Lines.Add('<html><head><title>Untitled</title>');.Lines.Add('<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">');.Lines.Add('</head>');.Lines.Add('<body bgcolor="D0E0F0" text="black">');.Lines.Add('<H1 align="center">Расписание уроков на '+Date_Table.FieldByName('Ч').AsString+'</H1>');.Lines.Add('<TABLE BORDER BORDERCOLOR=Black>');.Lines.Add('<TR BGCOLOR="#EEEEFF">');for i:=0 to form1.StringGrid1.ColCount-1 do.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];.Lines.Add(s); end; EXL.Lines.Add('</table></body></html>');:=put+'\RASPIS\RASPISANIE_'+Date_Table.FieldByName('Ч').AsString+'.HTM';.Lines.SaveToFile(s); form1.OleContainer1.CreateObjectFromFile(s,false);.OleContainer1.DoVerb(0); end;TForm1.N50Click(Sender: TObject);ExecuteFile(Put+'\HELP\DispeCH.HLP','','',SW_SHOW);end;TForm1.N51Click(Sender: TObject);form1.Notebook1.ActivePage:='Справка'; end; end.