Скачиваний:
9
Добавлен:
17.06.2023
Размер:
1.44 Mб
Скачать

ADODataSet1.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

Соседние файлы в папке Курсовые работы