Курсовые работы / ПРИС КП_И_1
.pdfADODataSet1.CommandText:='select P_FIO, C_Kategoria,Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_Tarif_V_Chas *0.4+iif(D_ikzamen,''1'',''0'')*G_kolvo*C_Tarif_V_Chas*0.4)'+
'as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai '+
'where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N'+
' and D_N_semestra mod 2>0'+
// ' D_N_semestra in ("2","4","6","8","10")'+ ' Group by P_FIO, C_Kategoria';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=false; end; end;
procedure TfmNagruzka.Button3Click(Sender: TObject); begin
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO,
C_Kategoria,D_N_semestra,'+ ' Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4+iif(D_ikz amen,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N Group by P_FIO, C_Kategoria, D_N_semestra';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=true;
end;
procedure TfmNagruzka.FormShow(Sender: TObject); var s:string;
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria,D_N_semestra,'+
'
Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4+iif(D_ikz amen,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N Group by P_FIO, C_Kategoria, D_N_semestra';
ADODataSet1.Active:=true;
ADODataSet1.Active:=true;
ComboBox3.Visible:=false;
ComboBox3.Clear;
ComboBox2.Clear;
AdoQuery2.SQL.Clear;
ADOQuery2.Active:=false;
ADOQuery2.SQL.add('select p_tab_n ,p_fio from Prepodavateli order by p_fio');
ADOQuery2.Active:=true;
ADOQuery2.First;
while not (ADOQuery2.Eof) do begin
s:=ADOQuery2.FieldValues['p_fio']; ComboBox2.Items.Add(s); s:=ADOQuery2.FieldValues['p_tab_n']; ComboBox3.Items.Add(s); ADOQuery2.Next;
end;
end;
procedure TfmNagruzka.Button4Click(Sender: TObject); begin
Close;
end;
procedure TfmNagruzka.Button2Click(Sender: TObject); var s,n:string;
begin s:=Combobox3.Items[Combobox2.ItemIndex]; ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria,'+
'
Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_tarif_v_chas*0.4+iif(D_ikza men,''1'',''0'')*G_kolvo*C_tarif_v_chas*0.4)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and p_tab_n="'+s+'" Group by P_FIO, C_Kategoria ';
ADODataSet1.Active:=true;
end;
procedure TfmNagruzka.Button5Click(Sender: TObject); var
Template:OleVariant; Table1: Table; flag:boolean; a,s,d,n:string;
begin
If Combobox2.Text<>'' then begin
a:=Combobox3.Items[Combobox2.ItemIndex];;
ADOQuery3.SQl.Clear;
ADOQuery3.Active:=false;
WordApplication1.Connect; Template:=ExtractFilePath(Application.EXEName)+'Нагрузка.d ot'; //путь к шаблону документа
WordApplication1.Documents.Add(Template,EmptyParam,Empt yParam,EmptyParam);// создаем документ на основе шаблона
WordDocument1.ConnectTo(WordApplication1.ActiveDocumen t); //Связываем компонент WordDocument1 c активным документом (т.е. с только что созданным документом)
Table1:=WordDocument1.Tables.Item(1); Table1.Cell(1,2).Range.Text :=a; Table1.Cell(2,2).Range.Text :=Combobox2.Text;
AdoQuery3.SQL.Add('select C_Kategoria from Categoria, Prepodavateli where P_Kategoria=C_N and p_tab_n="'+a+'"');
ADOQuery3.Active:=true;
d:= AdoQuery3.FieldValues['C_Kategoria']; Table1.Cell(3,2).Range.Text :=d; ADOQuery3.SQl.Clear;
ADOQuery3.Active:=false; AdoQuery3.SQl.Add('select P_FIO, C_Kategoria,'+
'
Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_tarif_v_chas*0.4+iif(D_ikza men,''1'',''0'')*G_kolvo*C_tarif_v_chas*0.4)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and p_tab_n="'+a+'" Group by P_FIO, C_Kategoria ');
ADOQuery3.Active:=true ;
s:= AdoQuery3.FieldValues['Result']; if s='' then s:='0'; Table1.Cell(5,2).Range.Text := s;
50
WordApplication1.Visible:=true; //делаем приложение MS Word видимым
WordApplication1.Disconnect; // Разрываем связь с сервером end
else ShowMessage('Введите ФИО преподавателя'); end;
procedure TfmNagruzka.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmNagruzka.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmNagruzka.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
end.
unit Unit12; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Unit8, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, WordXP,
OleServer,DBCtrls; type
TfmOplata = class(TForm) ADODataSet1: TADODataSet; DataSource1: TDataSource; Button1: TButton;
Label1: TLabel; ComboBox1: TComboBox; Label2: TLabel;
Button2: TButton; DBGrid1: TDBGrid; ADOQuery1: TADOQuery; ComboBox3: TComboBox; ADOQuery2: TADOQuery; Button3: TButton; Button4: TButton;
WordApplication1: TWordApplication; WordDocument1: TWordDocument; Button5: TButton;
ADOQuery3: TADOQuery;
ComboBox2: TComboBox; Button6: TButton; Button7: TButton; Button8: TButton;
procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject); procedure Button8Click(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations } public
{Public declarations } end;
var
fmOplata: TfmOplata; implementation
uses Unit19; {$R *.dfm}
procedure TfmOplata.Button1Click(Sender: TObject); var
i:integer; begin
If ComboBox1.Text='Четный' then begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria,Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_T arif_v_chas) as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
|
' where'+ |
|
' P_Kategoria=C_N and'+ |
|
' S_Prepodavatel=P_Tab_N and'+ |
|
' S_Gruppa=G_N and'+ |
|
' S_Disciplina=D_N and'+ |
|
' D_N_semestra mod 2=0'+ |
// |
' D_N_semestra in ("2","4","6","8","10")'+ |
|
' Group by P_FIO,C_Kategoria'; |
|
ADODataSet1.Active:=true; |
|
DBGrid1.Columns[2].Visible:=false; |
end else begin
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO,
C_Kategoria,Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_T arif_v_chas) as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
|
' where'+ |
|
' P_Kategoria=C_N and'+ |
|
' S_Prepodavatel=P_Tab_N and'+ |
|
' S_Gruppa=G_N and'+ |
|
' S_Disciplina=D_N and'+ |
|
' D_N_semestra mod 2>0'+ |
// |
' D_N_semestra in ("2","4","6","8","10")'+ |
|
' Group by P_FIO,C_Kategoria'; |
|
ADODataSet1.Active:=true; |
|
DBGrid1.Columns[2].Visible:=false; |
|
end; |
end;
procedure TfmOplata.FormShow(Sender: TObject); var s:string;
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO,C_Kategoria, D_N_semestra,'
51
+' Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_chas) as result'
+' from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai' +' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N
and S_Gruppa=G_N and'
+' S_Disciplina=D_N Group by P_FIO,C_Kategoria,D_N_semestra';
ADODataSet1.Active:=true;
ComboBox3.Visible:=false;
ComboBox3.Clear;
ComboBox2.Clear;
AdoQuery3.SQL.Clear;
ADOQuery3.Active:=false;
ADOQuery3.SQL.add('select p_tab_n ,p_fio from Prepodavateli order by p_fio');
ADOQuery3.Active:=true;
ADOQuery3.First;
while not (ADOQuery3.Eof) do begin
s:=ADOQuery3.FieldValues['p_fio']; ComboBox2.Items.Add(s); s:=ADOQuery3.FieldValues['p_tab_n']; ComboBox3.Items.Add(s); ADOQuery3.Next;
end;
end;
procedure TfmOplata.Button3Click(Sender: TObject); begin
Close;
end;
procedure TfmOplata.Button2Click(Sender: TObject); var d,n:string;
begin
If Combobox2.Text<>'' then begin
d:=ComboBox3.Items[Combobox2.ItemIndex]; If ComboBox1.Text='Четный' then
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria,Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_T arif_v_chas) as result'
+' from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
'where'+
'P_Kategoria=C_N '+
'and S_Prepodavatel=P_Tab_N and
S_Gruppa=G_N and'+
'D_N_semestra mod 2=0 and'+
'S_Disciplina=D_N and P_Tab_N="'+d+'"
Group by P_FIO,C_Kategoria, D_N_Semestra'; ADODataSet1.Active:=true; DBGrid1.Columns[2].Visible:=false;
end else
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select p_FIO,C_Kategoria, D_N_Semestra, Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_chas) as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
'where'+
'P_Kategoria=C_N '+
' and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and'+
'D_N_semestra mod 2>0 and'+
'S_Disciplina=D_N and P_Tab_N="'+d+'"
Group by P_FIO,C_Kategoria, D_N_Semestra'; ADODataSet1.Active:=true; DBGrid1.Columns[2].Visible:=false;
end; end else
Showmessage('Введите ФИО преподавателя!'); end;
procedure TfmOplata.Button4Click(Sender: TObject); var d,n:string;
begin
If Combobox2.Text<>'' then begin
d:=Combobox3.Items[Combobox2.ItemIndex];
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO, C_Kategoria,'+
'
Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_chas)' +' as result from Categoria, Disciplini,
Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and p_Tab_N="'+d+'" Group by P_FIO,C_Kategoria';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=false; end
else
Showmessage('Введите преподавателя!'); end;
procedure TfmOplata.Button5Click(Sender: TObject); var
Template:OleVariant; Table1: Table; flag:boolean; a,s,d,n:string;
begin
If Combobox2.Text<>'' then begin
a:=Combobox3.Items[Combobox2.ItemIndex];;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
WordApplication1.Connect; Template:=ExtractFilePath(Application.EXEName)+'Квиток для оплаты.dot'; //путь к шаблону документа
WordApplication1.Documents.Add(Template,EmptyParam,Empt yParam,EmptyParam);// создаем документ на основе шаблона
WordDocument1.ConnectTo(WordApplication1.ActiveDocumen t); //Связываем компонент WordDocument1 c активным документом (т.е. с только что созданным документом)
Table1:=WordDocument1.Tables.Item(1); Table1.Cell(1,2).Range.Text :=a; Table1.Cell(2,2).Range.Text :=Combobox2.Text;
AdoQuery2.SQL.Add('select C_Kategoria from Categoria, Prepodavateli where P_Kategoria=C_N and p_tab_n="'+a+'"');
ADOQuery2.Active:=true;
d:= AdoQuery2.FieldValues['C_Kategoria']; Table1.Cell(3,2).Range.Text :=d; ADOQuery2.SQl.Clear;
52
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum((iif(D_RZ,''1'',''0'')*G_kolvo*0.4+iif(D_ikzamen,''1'',''0'')*G _kolvo*0.4+D_Laboratornii+D_Practica+D_Lekcii )*C_Tarif_v_chas )'
+ ' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(5,2).Range.Text := s;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum(D_Lekcii*C_Tarif_v_chas)' + ' as result from Categoria, Disciplini,
Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(6,2).Range.Text := s;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum(D_Practica*C_Tarif_v_chas)' + ' as result from Categoria, Disciplini,
Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(7,2).Range.Text := s;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum(D_Laboratornii*C_Tarif_v_chas)'
+ ' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(8,2).Range.Text := s;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum(iif(D_RZ,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4)'
+ ' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(9,2).Range.Text := s;
ADOQuery2.SQl.Clear;
ADOQuery2.Active:=false;
AdoQuery2.SQl.Add('select Sum(iif(D_ikzamen,''1'',''0'')*G_kolvo*C_Tarif_v_chas*0.4)'
+ ' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and P_Tab_N="' +
a+'" Group by P_FIO,C_Kategoria'); ADOQuery2.Active:=true ;
s:= AdoQuery2.FieldValues['Result']; Table1.Cell(10,2).Range.Text := s; WordApplication1.Visible:=true; //делаем приложение MS Word видимым
WordApplication1.Disconnect; // Разрываем связь с сервером end
else ShowMessage('Введите ФИО преподавателя'); end;
procedure TfmOplata.Button7Click(Sender: TObject); var d,n:string;
begin
If Combobox2.Text<>'' then begin
d:=Combobox3.Items[Combobox2.ItemIndex];
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO, C_Kategoria,'+
'
Sum((iif(D_RZ,''1'',''0'')*G_kolvo*0.4+iif(D_ikzamen,''1'',''0'')*G _kolvo*0.4+D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_ chas)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N and S_Disciplina=D_N and p_Tab_N="'+d+'" Group by P_FIO,C_Kategoria';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=false; end
else
Showmessage('Введите преподавателя!'); end;
procedure TfmOplata.Button6Click(Sender: TObject); var d,n:string;
begin
If Combobox2.Text<>'' then begin
d:=ComboBox3.Items[Combobox2.ItemIndex]; If ComboBox1.Text='Четный' then
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria,Sum((iif(D_RZ,''1'',''0'')*G_kolvo*0.4+iif(D_ikzam en,''1'',''0'')*G_kolvo*0.4+D_Laboratornii+D_Practica+D_Lekcii )*C_Tarif_v_chas) as result'
+' from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
'where'+
'P_Kategoria=C_N '+
'and S_Prepodavatel=P_Tab_N and
S_Gruppa=G_N and'+
'D_N_semestra mod 2=0 and'+
'S_Disciplina=D_N and P_Tab_N="'+d+'"
Group by P_FIO,C_Kategoria, D_N_Semestra';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=false;
53
end;
If ComboBox1.Text='Нечетный' then begin
d:=ComboBox3.Items[Combobox2.ItemIndex];
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select p_FIO,C_Kategoria,
D_N_Semestra, Sum((iif(D_RZ,''1'',''0'')*G_kolvo*0.4+iif(D_ikzamen,''1'',''0'')*G _kolvo*0.4+D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_ chas) as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
'where'+
'P_Kategoria=C_N '+
'and S_Prepodavatel=P_Tab_N and
S_Gruppa=G_N and'+
'D_N_semestra mod 2>0 and'+
'S_Disciplina=D_N and P_Tab_N="'+d+'"
Group by P_FIO,C_Kategoria, D_N_Semestra';
ADODataSet1.Active:=true;
DBGrid1.Columns[2].Visible:=false; end; end
else
Showmessage('Введите ФИО преподавателя!'); end;
procedure TfmOplata.Button8Click(Sender: TObject); begin
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO,C_Kategoria,
D_N_semestra,' +'
Sum((D_Laboratornii+D_Practica+D_Lekcii)*C_Tarif_v_chas) as result'
+' from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai' +' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N
and S_Gruppa=G_N and'
+' S_Disciplina=D_N Group by P_FIO,C_Kategoria,D_N_semestra';
ADODataSet1.Active:=true;
end;
procedure TfmOplata.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmOplata.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmOplata.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
end.
unit Unit13; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, DB, ADODB,Unit8; type
TfmDisRed = class(TForm) Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel; Edit1: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox; Edit2: TEdit;
Button1: TButton;
Button2: TButton; ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit4KeyPress(Sender: TObject; var Key: Char); procedure Edit5KeyPress(Sender: TObject; var Key: Char); procedure ComboBox1KeyPress(Sender: TObject; var Key:
Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations } public
{Public declarations } end;
var
fmDisRed: TfmDisRed; implementation
{$R *.dfm}
uses Unit4, Unit1;
procedure TfmDisRed.Button1Click(Sender: TObject); var a,r,ek,s:string;
begin
If ComboBox2.ItemIndex=0 then ek:='true' else ek:='false'; If ComboBox1.ItemIndex=0 then r:='true' else r:='false'; a:=fmDisciplini.ADODataSet1.FieldValues['D_N']; fmDisciplini.ADOQuery1.SQL.Clear;
if ((Edit1.Text='') or (Edit2.Text='')or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text=''))then
ShowMessage('Введены не все необходимые данные') else
if Edit2.Text='0' then ShowMessage('Номер семестра не может быть нулевым')
else begin
fmDisciplini.ADOQuery1.SQL.Add('update Disciplini set D_Disciplina='''+Edit1.Text+''', D_N_semestra='''+Edit2.Text+''', D_Lekcii='''+Edit3.Text+
''', D_Laboratornii='''+Edit4.Text+''', D_Practica='''+Edit5.Text+''', D_RZ='+r+', D_Ikzamen='+ek+' where D_N='+a+'');
fmDisciplini.ADOQuery1.ExecSQL;
fmDisciplini.ADODataSet1.Active:=false;
fmDisciplini.ADODataSet1.Active:=True;
54
close;
end;
end;
procedure TfmDisRed.Button2Click(Sender: TObject); begin
Close;
end;
procedure TfmDisRed.FormShow(Sender: TObject); var d,n,lk,p,lab:string;
begin d:=fmDisciplini.ADODataSet1.FieldValues['D_Disciplina']; Edit1.Text:=d; n:=fmDisciplini.ADODataSet1.FieldValues['D_N_semestra']; Edit2.Text:=n; lk:=fmDisciplini.ADODataSet1.FieldValues['D_Lekcii']; Edit3.Text:=lk;
lab:=fmDisciplini.ADODataSet1.FieldValues['D_Laboratornii']; Edit4.Text:=lab; p:=fmDisciplini.ADODataSet1.FieldValues['D_Practica']; Edit5.Text:=p;
end;
procedure TfmDisRed.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0; end;
procedure TfmDisRed.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0; end;
procedure TfmDisRed.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0; end;
procedure TfmDisRed.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0; end;
procedure TfmDisRed.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmDisRed.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
end.
unit Unit14; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, Unit9, StdCtrls, Unit8, DB, ADODB; type
TfmGrPrepDob = class(TForm) Label1: TLabel;
Label3: TLabel;
Label4: TLabel; ADOQuery1: TADOQuery; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; ComboBox2: TComboBox; ComboBox5: TComboBox; ComboBox7: TComboBox; ComboBox8: TComboBox; ADOQuery3: TADOQuery; ADOQuery4: TADOQuery; ComboBox4: TComboBox;
procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
fmGrPrepDob: TfmGrPrepDob; implementation
{$R *.dfm}
procedure TfmGrPrepDob.FormShow(Sender: TObject); var s:string;
begin ComboBox2.Clear; ComboBox4.Clear; ComboBox5.Clear; ComboBox1.Clear; ComboBox7.Clear; ComboBox8.Clear;
ComboBox1.Visible:=false;
ComboBox7.Visible:=false;
ComboBox8.Visible:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.Active:=false;
ADOQuery1.SQL.add('select p_tab_n ,p_fio from Prepodavateli order by p_fio');
ADOQuery1.Active:=true;
ADOQuery1.First;
while not (ADOQuery1.Eof) do begin
s:=ADOQuery1.FieldValues['p_fio']; ComboBox2.Items.Add(s); s:=ADOQuery1.FieldValues['p_tab_n']; ComboBox1.Items.Add(s); ADOQuery1.Next;
end;
ADOQuery3.SQL.Clear;
ADOQuery3.Active:=false;
ADOQuery3.SQL.Clear; ADOQuery3.SQL.add('select D_N ,D_Disciplina from Disciplini order by D_Disciplina'); ADOQuery3.Active:=true;
ADOQuery3.First;
while not (ADOQuery3.Eof) do begin
s:=ADOQuery3.FieldValues['D_Disciplina']; ComboBox4.Items.Add(s); s:=ADOQuery3.FieldValues['d_n']; ComboBox7.Items.Add(s); ADOQuery3.Next;
end;
55
ADOQuery4.SQL.Clear;
ADOQuery4.Active:=false;
ADOQuery4.SQL.Clear;
ADOQuery4.SQL.Clear;
ADOQuery4.SQL.add('select G_N ,G_Gruppa from Gruppi order by G_Gruppa');
ADOQuery4.Active:=true;
ADOQuery4.First;
while not (ADOQuery4.Eof) do begin
s:=ADOQuery4.FieldValues['G_Gruppa']; ComboBox5.Items.Add(s); s:=ADOQuery4.FieldValues['g_n']; ComboBox8.Items.Add(s); ADOQuery4.Next;
end;
end;
procedure TfmGrPrepDob.Button1Click(Sender: TObject); var
f,d,c,g:string; begin
f:=ComboBox1.Items[ComboBox2.ItemIndex];
d:=ComboBox7.Items[ComboBox4.ItemIndex];
g:=ComboBox8.Items[ComboBox5.ItemIndex];
fmGRPrep.ADOQuery1.SQL.Clear;
if (ComboBox2.Text<>'') and (ComboBox4.Text<>'') and (ComboBox5.Text<>'') then
begin
fmGRPrep.ADOQuery1.SQL.Add('insert into svodnai (S_Prepodavatel, S_Disciplina, S_Gruppa) values ('+f+','+d+','+g+')'); fmGRPrep.ADOQuery1.ExecSQL; fmGRPrep.ADODataSet1.Active:=false; fmGRPrep.ADODataSet1.Active:=true;
close end else
Showmessage('введены не все данные!'); end;
procedure TfmGrPrepDob.Button2Click(Sender: TObject); begin
Close;
end;
end.
unit Unit15; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Unit2,Unit8, StdCtrls, DB, ADODB; type
TfmPrepDob = class(TForm) Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
ADOQuery1: TADOQuery; Label1: TLabel;
Label2: TLabel;
Label3: TLabel; Button1: TButton; Button2: TButton;
ADOQuery2: TADOQuery;
ComboBox2: TComboBox;
procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure ComboBox1KeyPress(Sender: TObject; var Key:
Char); private
{Private declarations } public
{Public declarations } end;
var
fmPrepDob: TfmPrepDob; implementation
uses Unit4; {$R *.dfm}
procedure TfmPrepDob.Button2Click(Sender: TObject); begin
Close;
end;
procedure TfmPrepDob.Button1Click(Sender: TObject); var dol:string;
begin dol:=ComboBox2.Items[ComboBox1.ItemIndex]; fmPrepodavateli.ADOQuery1.SQL.Clear;
if (Edit1.Text<>'') and (Edit2.Text<>'') and (ComboBox1.Text<>'') then
begin fmPrepodavateli.ADOQuery1.SQL.Add('insert into prepodavateli (P_Tab_N, P_FIO, P_Kategoria) values ('''+Edit1.Text+''','''+Edit2.Text+''','+dol+')'); fmPrepodavateli.ADOQuery1.ExecSQL; fmPrepodavateli.ADODataSet1.Active:=false; fmPrepodavateli.ADODataSet1.Active:=true; Edit2.Clear;
close end else
ShowMessage('Заполнены не все поля!') end;
procedure TfmPrepDob.FormShow(Sender: TObject); var s,r:string;
i:longint; begin
ComboBox1.Clear;
ComboBox2.Clear;
Combobox2.Visible:=false;
ADOQuery1.Active:=false;
Adoquery1.SQL.Clear; ADOQuery1.SQL.add('select c_n, C_Kategoria from Categoria');
ADOQuery1.Active:=true;
ADOQuery1.First;
while not (ADOQuery1.Eof) do begin
s:=ADOQuery1.FieldValues['c_kategoria']; ComboBox1.Items.Add(s); s:=ADOQuery1.FieldValues['c_n']; ComboBox2.Items.Add(s); ADOQuery1.Next;
end;
Adoquery2.SQL.Clear;
ADOQuery2.Active:=false;
ADOQuery2.SQL.add('select P_Tab_N from Prepodavateli'); ADOQuery2.Active:=true;
ADOQuery2.First;
while not (ADOQuery2.Eof) do begin
r:=ADOQuery2.FieldValues['p_tab_n'];
56
ADOQuery2.Next;
end;
i:=StrtoInt(r)+1;
Edit1.Text:=IntToStr(i);
end;
procedure TfmPrepDob.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmPrepDob.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
end.
unit Unit16; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit1,Unit9, DB, ADODB, StdCtrls, XPMan, jpeg, ExtCtrls;
type
TfmAbout = class(TForm) Button1: TButton; XPManifest1: TXPManifest; Image1: TImage;
ListBox1: TListBox;
procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
fmAbout: TfmAbout; implementation
uses Unit4; {$R *.dfm}
procedure TfmAbout.Button2Click(Sender: TObject); begin
Close;
end;
procedure TfmAbout.FormShow(Sender: TObject); var s,a,f,d,g:string;
begin {ComboBox4.Visible:=False; ComboBox5.Visible:=False; ComboBox6.Visible:=False;
f:=fmGrPrep.ADODataSet1.FieldValues['P_FIO']; Combobox1.Text:=f; d:=fmGrPrep.ADODataSet1.FieldValues['D_Disciplina']; Combobox2.Text:=d; g:=fmGrPrep.ADODataSet1.FieldValues['G_Gruppa']; Combobox3.Text:=g; a:=fmGrPrep.ADODataSet1.FieldValues['s_n']; ADOQuery1.Active:=false;
ADOQuery1.SQL.add('select p_tab_n ,p_fio from Prepodavateli order by p_fio');
ADOQuery1.Active:=true;
ADOQuery1.First;
while not (ADOQuery1.Eof) do begin
s:=ADOQuery1.FieldValues['p_fio']; ComboBox1.Items.Add(s); s:=ADOQuery1.FieldValues['p_tab_n']; ComboBox4.Items.Add(s); ADOQuery1.Next;
end;
ADOQuery2.Active:=false; ADOQuery2.SQL.add('select D_N ,D_Disciplina from Disciplini order by D_Disciplina'); ADOQuery2.Active:=true;
ADOQuery2.First;
while not (ADOQuery2.Eof) do begin
s:=ADOQuery2.FieldValues['D_Disciplina']; ComboBox2.Items.Add(s); s:=ADOQuery2.FieldValues['d_n']; ComboBox5.Items.Add(s); ADOQuery2.Next;
end;
ADOQuery3.Active:=false;
ADOQuery3.SQL.add('select G_N ,G_Gruppa from Gruppi order by G_Gruppa');
ADOQuery3.Active:=true;
ADOQuery3.First;
while not (ADOQuery3.Eof) do begin
s:=ADOQuery3.FieldValues['G_Gruppa']; ComboBox3.Items.Add(s); s:=ADOQuery3.FieldValues['g_n']; ComboBox6.Items.Add(s); ADOQuery3.Next;
end; } end;
procedure TfmAbout.Button1Click(Sender: TObject); begin
Close;
end;
end.
unit Unit17; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit8,Unit2, DB, ADODB; type
TfmPrepRed = class(TForm) Button1: TButton; Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel; Edit1: TEdit; Edit2: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
57
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations } public
{Public declarations } end;
var
fmPrepRed: TfmPrepRed; implementation
uses Unit4, Unit9; {$R *.dfm}
procedure TfmPrepRed.Button2Click(Sender: TObject); begin
Close;
end;
procedure TfmPrepRed.FormShow(Sender: TObject); var s,a,f:string;
begin a:=fmPrepodavateli.ADODataSet1.FieldValues['P_tab_N']; Edit1.Text:=a;
ComboBox1.Clear;
ComboBox2.Clear;
Combobox2.Visible:=false;
ADOQuery1.SQl.Clear;
ADOQuery1.Active:=false; f:=fmPrepodavateli.ADODataSet1.FieldValues['P_FIO']; Edit2.Text:=f;
ADOQuery1.SQL.add('select c_n, C_Kategoria from Categoria');
ADOQuery1.Active:=true;
ADOQuery1.First;
while not (ADOQuery1.Eof) do begin
s:=ADOQuery1.FieldValues['c_kategoria']; ComboBox1.Items.Add(s); s:=ADOQuery1.FieldValues['c_n']; ComboBox2.Items.Add(s); ADOQuery1.Next;
end;
end;
procedure TfmPrepRed.Button1Click(Sender: TObject); var a,f:string;
begin a:=fmPrepodavateli.ADODataSet1.FieldValues['P_tab_N']; f:=ComboBox2.Items[Combobox1.ItemIndex];
if (Edit1.Text<>'') and (Edit2.Text<>'') and (ComboBox1.Text<>'') then
begin fmPrepodavateli.ADOQuery2.SQL.Clear;
fmPrepodavateli.ADOQuery2.SQL.Add('update Prepodavateli set P_FIO="'+Edit2.Text+'", P_Kategoria="'+f+'" where P_tab_N="'+a+'"');
fmPrepodavateli.ADOQuery2.ExecSQL;
fmPrepodavateli.ADODataSet1.Active:=false;
fmPrepodavateli.ADODataSet1.Active:=True; close
end else
ShowMessage('Заполнены не все поля!') end;
procedure TfmPrepRed.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9':key:=#0; end;
end;
procedure TfmPrepRed.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9':key:=#0; end;
end;
end.
unit Unit18; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Unit8, Grids, DBGrids, ADODB, DB, StdCtrls; type
TfmEkzPrep = class(TForm) DataSource1: TDataSource; ADOQuery1: TADOQuery; ADODataSet1: TADODataSet; DBGrid1: TDBGrid;
Button1: TButton; ComboBox2: TComboBox; Button2: TButton;
Label1: TLabel;
Label2: TLabel; Button3: TButton;
ComboBox3: TComboBox;
ComboBox1: TComboBox;
ADOQuery2: TADOQuery;
procedure FormShow(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations } public
{Public declarations } end;
var
fmEkzPrep: TfmEkzPrep; implementation
{$R *.dfm}
procedure TfmEkzPrep.FormShow(Sender: TObject); var s:string;
begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria, D_Ikzamen, D_Disciplina'
+' from Prepodavateli, Disciplini, Categoria,
Svodnai'+
'where'+
'P_Kategoria=C_N and'+
'D_Ikzamen=true and S_disciplina=D_N
and'+
' S_Prepodavatel=P_tab_N'; ADODataSet1.Active:=true;
ComboBox3.Visible:=false;
ComboBox3.Clear;
ComboBox1.Clear;
58
AdoQuery1.SQL.Clear;
ADOQuery1.Active:=false;
ADOQuery1.SQL.add('select p_tab_n ,p_fio from Prepodavateli order by p_fio');
ADOQuery1.Active:=true;
ADOQuery1.First;
while not (ADOQuery1.Eof) do begin
s:=ADOQuery1.FieldValues['p_fio']; ComboBox1.Items.Add(s); s:=ADOQuery1.FieldValues['p_tab_n']; ComboBox3.Items.Add(s); ADOQuery1.Next;
end;
end;
procedure TfmEkzPrep.Button2Click(Sender: TObject); begin
Close;
end;
procedure TfmEkzPrep.Button1Click(Sender: TObject); var d,n:string;
begin d:=ComboBox3.Items[Combobox1.ItemIndex]; n:=inttostr(length(d));
if ComboBox2.Text='Четный' then begin ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select P_FIO, C_Kategoria, D_Ikzamen, D_Disciplina'
+' from Prepodavateli, Disciplini, Categoria,
Svodnai'
+' where '
+'P_Kategoria=C_N and D_Ikzamen=true' +' and S_disciplina=D_N and'
+' S_Prepodavatel=P_tab_N and ' +'D_N_semestra mod 2=0 and
p_tab_n="'+d+'"'; DBGrid1.Columns[0].Visible:=false; DBGrid1.Columns[1].Visible:=false; AdODataSet1.Active:=true;
end else begin
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO, C_Kategoria,
D_Ikzamen, D_Disciplina'
+' from Prepodavateli, Disciplini, Categoria,
Svodnai'
+' where '
+'P_Kategoria=C_N and D_Ikzamen=true' +' and S_disciplina=D_N and'
+' S_Prepodavatel=P_tab_N and ' +'D_N_semestra mod 2>0 and
p_tab_n="'+d+'"'; DBGrid1.Columns[0].Visible:=false; DBGrid1.Columns[1].Visible:=false; AdODataSet1.Active:=true;
end;
end;
procedure TfmEkzPrep.Button3Click(Sender: TObject); begin
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO, C_Kategoria,
D_Ikzamen, D_Disciplina'
+' from Prepodavateli, Disciplini, Categoria,
Svodnai'+
'where'+
'P_Kategoria=C_N and'+
'D_Ikzamen=true and S_disciplina=D_N
and'+
' S_Prepodavatel=P_tab_N'; ADODataSet1.Active:=true;
end;
procedure TfmEkzPrep.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
procedure TfmEkzPrep.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
case key of '0'..'9' :key:=#0; end;
end;
end.
unit Unit19; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Grids, DBGrids, ADODB, DB,Unit8,Unit12, StdCtrls; type
TfmopPrep = class(TForm) DataSource1: TDataSource; ADODataSet1: TADODataSet; ADOQuery1: TADOQuery; DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
fmopPrep: TfmopPrep; implementation
{$R *.dfm}
procedure TfmopPrep.FormShow(Sender: TObject); var d,n:string;
begin d:=fmOplata.Combobox3.Items[fmOplata.Combobox2.ItemInde x];
n:=inttostr(length(d));
ADODataSet1.Active:=false; ADODataSet1.CommandText:='select P_FIO,
C_Kategoria,D_N_semestra,'+
'
Sum((iif(D_RZ,''1'',''0'')+iif(D_ikzamen,''1'',''0''))*G_kolvo+(D_L aboratornii+D_Practica+D_Lekcii)*C_Tarif_v_chas)'
+' as result from Categoria, Disciplini, Gruppi, Prepodavateli, Svodnai'+
' where P_Kategoria=C_N and S_Prepodavatel=P_Tab_N and S_Gruppa=G_N'
59