Курсовые работы / ПРИС П _11
.pdfbegin DostupForm.Show; MainForm.hide; end;
procedure TMainForm.N13Click(Sender: TObject); begin
PrepDiscForm.ShowModal;
end;
procedure TMainForm.N10Click(Sender: TObject); begin
SmenaParolForm.ShowModal;
end;
end.
unit NagruzkaUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, DBCtrls, Mask, ExtCtrls, Grids, DBGrids;
type
TNagruzkaForm = class(TForm) DBGrid1: TDBGrid;
Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label3: TLabel;
Label6: TLabel; DBEdit2: TDBEdit; DBEdit1: TDBEdit; Button4: TButton; Button3: TButton; Button2: TButton; Button1: TButton; Button5: TButton;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
ADODataSet1: TADODataSet; DataSource1: TDataSource; ADODataSet2: TADODataSet; DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; DBEdit9: TDBEdit; DBEdit10: TDBEdit; Label4: TLabel;
DBLookupComboBox1: TDBLookupComboBox; Label5: TLabel;
DataSource2: TDataSource; Button6: TButton; ADODataSet3: TADODataSet;
DBLookupComboBox2: TDBLookupComboBox; ADODataSet4: TADODataSet;
DataSource4: TDataSource; ADODataSet5: TADODataSet; Panel2: TPanel;
Label11: TLabel;
Label12: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
procedure Button3Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject);
procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);
private
{Private declarations } public
{Public declarations } end;
var
NagruzkaForm: TNagruzkaForm;
implementation
uses PrepDiscUnit;
{$R *.dfm}
procedure TNagruzkaForm.Button3Click(Sender: TObject); var sum:real;
begin
if (DBCheckBox1.Checked = true) and (DBCheckBox2.Checked = true) then
begin ADODataSet1.Edit;
ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.8 * strtoint(DBEdit10.text));
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True; end
else
if (DBCheckBox1.Checked = true) and (DBCheckBox2.Checked
=false) then begin
ADODataSet1.Edit;
ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.4 * strtoint(DBEdit10.text));
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True; end
else
if (DBCheckBox1.Checked = false) and (DBCheckBox2.Checked = true) then
begin ADODataSet1.Edit;
ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.4 * strtoint(DBEdit10.text));
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True; end
else
if (DBCheckBox1.Checked = false) OR (DBCheckBox2.Checked = false) then
begin ADODataSet1.Edit;
ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text));
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True; end
{ADODataSet1.Edit;
ADODataSet1['n_oplata']:=strtoint(DBEdit6.text)*(strtoint(DBEdit 6.text) + strtoint(DBEdit7.text) + strtoint(DBEdit8.text));
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True;}
42
end;
procedure TNagruzkaForm.FormActivate(Sender: TObject); var i:integer;
begin
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +
' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +
' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM
prepodDiscipline';
ADODataSet2.Active:=True;
ADODataSet4.Active:=False; ADODataSet4.CommandText:='SELECT * FROM gruppy'; ADODataSet4.Active:=True;
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)
;
end;
procedure TNagruzkaForm.Button6Click(Sender: TObject); begin
PrepDiscForm.ShowModal;
end;
procedure TNagruzkaForm.Button4Click(Sender: TObject); begin
//ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;
end;
procedure TNagruzkaForm.Button1Click(Sender: TObject); begin
//ins:=false;
ADODataSet3.Active:=false; ADODataSet3.CommandText:='SELECT nagruzka.n_prepDisc,
nagruzka.n_gruppa, nagruzka.n_semestr'#13#10 + 'FROM nagruzka WHERE (((nagruzka.n_prepDisc) like "'+inttostr(DBLookupComboBox1.KeyValue)+'") AND ((nagruzka.n_gruppa) like "'+inttostr(DBLookupComboBox2.KeyValue)+'") AND ((nagruzka.n_semestr) like "'+DBEdit2.text+'"))';
ADODataSet3.Active:=true;
if (DBEdit2.text='') or (DBLookupComboBox2.KeyValue=null) or (DBLookupComboBox1.KeyValue=null) then
begin
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end
else
if ADODataSet3.RecordCount>0 then begin
MessageDlg('Такаязаписьужеесть',mtWarning, [mbOk], 0); ADODataSet1.Cancel;
end else begin
ADODataSet1['n_semestr']:=inttostr(DBLookupComboBox1.Key
Value);
ADODataSet1['n_gruppa']:=inttostr(DBLookupComboBox1.KeyV alue);
ADODataSet1['n_prepDisc']:=inttostr(DBLookupComboBox1.Key Value);
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True;
end;
end;
procedure TNagruzkaForm.Button2Click(Sender: TObject); var i:Integer;
begin ADODataSet5.Active:=False;
ADODataSet5.CommandText:='SELECT * FROM nagruzka'; ADODataSet5.Active:=True;
ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['n_id_nagruzka']; ADODataSet5.Locate('n_id_nagruzka',i,[]); ADODataSet5.Delete; ADODataSet5.Active:=False; ADODataSet5.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TNagruzkaForm.Button5Click(Sender: TObject); begin
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +
' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +
' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM
prepodDiscipline';
ADODataSet2.Active:=True;
ADODataSet4.Active:=False; ADODataSet4.CommandText:='SELECT * FROM gruppy'; ADODataSet4.Active:=True;
end;
procedure TNagruzkaForm.Edit4Change(Sender: TObject); Var S:String;
begin ADODataSet1.Active:=False;
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;
// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1
S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +
43
' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +
' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE '+s+' LIKE "'+Edit4.text+'%"';
ADODataSet1.Active:=True;
end;
procedure TNagruzkaForm.DBGrid1TitleClick(Column: TColumn);
begin
if ADODataSet1.Sort=Column.FieldName+' ASC' then ADODataSet1.Sort:=Column.FieldName+' DESC' else
ADODataSet1.Sort:=Column.FieldName+' ASC'; end;
end.
unit NagruzkaOtchetUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, MyWord, DBTables, ExtCtrls;
type
TNagruzkaOtchetForm = class(TForm) Button1: TButton;
Button2: TButton;
Button3: TButton; Table1: TTable;
PrinterSetupDialog1: TPrinterSetupDialog; Panel2: TPanel;
Label4: TLabel;
Label5: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
ADODataSet2: TADODataSet; DBGrid2: TDBGrid; DataSource2: TDataSource; DBGrid1: TDBGrid; ADODataSet1: TADODataSet; DataSource1: TDataSource;
procedure FormActivate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
NagruzkaOtchetForm: TNagruzkaOtchetForm;
implementation
{$R *.dfm}
procedure TNagruzkaOtchetForm.FormActivate(Sender: TObject); var i: integer;
begin
ADODataSet2.Active:=False; ADODataSet2.CommandText:='select * from prepodavateli'; ADODataSet2.Active:=True;
//*for i:=0 to DBGrid2.Columns.Count-1 do //ComboBox1.Items.Add(DBGrid2.Fields[i]. //dbgrid2.Fields[i].AsString *//
ADODataSet2.First;
While not ADODataSet2.eof do begin
ComboBox1.Items.Add(ADODataSet2.FieldByName('pr_FIO').As String);
ADODataSet2.Next;
end;
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr, discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +
'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +
'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
end;
procedure TNagruzkaOtchetForm.ComboBox1Change(Sender: TObject);
Var S:String; begin
ADODataSet1.Active:=False;
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;
// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1
S:=Combobox1.Items[ComboBox1.ItemIndex]; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +
'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +
'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE
(((prepodavateli.pr_FIO) like "'+s+'"));'; ADODataSet1.Active:=True;
end;
procedure TNagruzkaOtchetForm.Edit4Change(Sender: TObject); Var S:String;
begin ADODataSet1.Active:=False;
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;
// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1
S:=Combobox1.Items[ComboBox1.ItemIndex]; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +
44
'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +
'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +
'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE
(((nagruzka.n_semestr) like "'+Edit4.text+'") AND ((prepodavateli.pr_FIO)="'+s+'"))';
ADODataSet1.Active:=True;
end;
procedure TNagruzkaOtchetForm.Button1Click(Sender: TObject); begin
Edit4.clear;
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +
'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +
'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +
'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True; ComboBox1.ItemIndex:=-1;
end;
procedure TNagruzkaOtchetForm.Button2Click(Sender: TObject); var table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
Table1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
Table1.EnableControls;
end;
end;
procedure TNagruzkaOtchetForm.Button3Click(Sender: TObject); begin
PrinterSetupDialog1.Execute;
end;
end.
unit PrepDiscUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, DBCtrls, Mask, ExtCtrls;
type
TPrepDiscForm = class(TForm) Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label5: TLabel;
Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox; Button4: TButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
DBEdit1: TDBEdit;
Button5: TButton; DBGrid1: TDBGrid;
ADODataSet1: TADODataSet; DataSource1: TDataSource;
DBLookupComboBox2: TDBLookupComboBox; ADODataSet2: TADODataSet;
DataSource2: TDataSource; ADODataSet3: TADODataSet; DataSource3: TDataSource; ADODataSet4: TADODataSet;
procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
PrepDiscForm: TPrepDiscForm;
implementation
{$R *.dfm}
procedure TPrepDiscForm.FormActivate(Sender: TObject); begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='SELECT PrepodDiscipline.prepDisc_id, prepodavateli.pr_FIO, discipline.d_nazvanie, PrepodDiscipline.prepDisc_prep, PrepodDiscipline.prepDisc_disc'#13#10 +
'FROM discipline INNER JOIN (prepodavateli INNER JOIN PrepodDiscipline ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM
prepodavateli';
ADODataSet2.Active:=True;
ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM discipline'; ADODataSet3.Active:=True;
end;
procedure TPrepDiscForm.Button4Click(Sender: TObject); begin
//ins:=true;
ADODataSet1.Insert;
end;
procedure TPrepDiscForm.Button1Click(Sender: TObject); begin
//ins:=false;
ADODataSet4.Active:=false; ADODataSet4.CommandText:='select * from prepodDiscipline
where (prepDisc_prep like "'+inttostr(DBLookupComboBox1.KeyValue)+'" AND prepDisc_disc like "'+inttostr(DBLookupComboBox2.KeyValue)+'")';
ADODataSet4.Active:=true;
if (DBLookupComboBox1.KeyValue=null) or (DBLookupComboBox2.KeyValue=null) then
begin
MessageDlg('Заполните все поля',mtWarning, [mbOk], 0);
45
end else
if ADODataSet4.RecordCount>0 then begin
MessageDlg('Такая запись уже есть',mtWarning, [mbOk], 0);
ADODataSet1.Cancel; end
else begin
ADODataSet1['prepDisc_prep']:=inttostr(DBLookupComboBox1.
KeyValue);
ADODataSet1['prepDisc_disc']:=inttostr(DBLookupComboBox2. KeyValue);
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True;
end;
end;
procedure TPrepDiscForm.Button5Click(Sender: TObject); begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='SELECT PrepodDiscipline.prepDisc_id, prepodavateli.pr_FIO, discipline.d_nazvanie, PrepodDiscipline.prepDisc_prep, PrepodDiscipline.prepDisc_disc'#13#10 +
'FROM discipline INNER JOIN (prepodavateli INNER JOIN PrepodDiscipline ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM
prepodavateli';
ADODataSet2.Active:=True;
ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM discipline'; ADODataSet3.Active:=True;
end;
procedure TPrepDiscForm.Button2Click(Sender: TObject); var i:Integer;
begin ADODataSet4.Active:=False;
ADODataSet4.CommandText:='SELECT * FROM prepodDiscipline';
ADODataSet4.Active:=True;
ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['prepDisc_id']; ADODataSet4.Locate('prepDisc_id',i,[]); ADODataSet4.Delete; ADODataSet4.Active:=False; ADODataSet4.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
end.
unit PrepodavateliUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, ADODB, DBCtrls, StdCtrls, Mask, Grids, DBGrids;
type
TPrepodavateliForm = class(TForm) Label12: TLabel;
Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label5: TLabel;
Label3: TLabel; DBEdit2: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox; Button4: TButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
DBEdit1: TDBEdit;
Button5: TButton;
DBEdit6: TDBEdit; DBNavigator1: TDBNavigator; ADODataSet1: TADODataSet; DataSource1: TDataSource; DataSource2: TDataSource; ADODataSet2: TADODataSet; Timer1: TTimer; ADODataSet4: TADODataSet; ADODataSet3: TADODataSet; DBGrid1: TDBGrid;
Panel2: TPanel;
Label7: TLabel;
Label8: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject);
procedure DBLookupComboBox1Enter(Sender: TObject); procedure DBLookupComboBox1Exit(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations } procedure Refresh; procedure isEdit; procedure notEdit;
function CheckEdit:boolean; public
{ Public declarations } end;
var
PrepodavateliForm: TPrepodavateliForm;
implementation
uses MainUnit, DM;
{$R *.dfm} var ins:boolean;
procedure TPrepodavateliForm.Refresh; var i:integer;
begin ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TPrepodavateliForm.isEdit; begin
if DBEdit1.Text<>'' then begin
46
DMForm.CheckEditQuery.SQL.Text:='UPDATE prepodavateli SET prepodavateli.EDIT = True WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;
end;
end;
procedure TPrepodavateliForm.notEdit; begin
if DBEdit1.Text<>'' then begin
DMForm.CheckEditQuery.SQL.Text:='UPDATE prepodavateli SET prepodavateli.EDIT = False WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;
end;
end;
function TPrepodavateliForm.checkEdit:boolean; begin
checkEdit:=false;
if DBEdit1.Text<>'' then DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';';
DMForm.CheckEditQuery.Open; if DBEdit6.Text<>'' then
begin
checkEdit:= strtobool(DBEdit6.Text); Label12.Visible:= strtobool(DBEdit6.Text); DBEdit2.Enabled:=not strtobool(DBEdit6.Text); DBLookupComboBox1.Enabled:=not
strtobool(DBEdit6.Text);
Button1.Enabled:=not strtobool(DBEdit6.Text); Button2.Enabled:=not strtobool(DBEdit6.Text); Button3.Enabled:=not strtobool(DBEdit6.Text); Button4.Enabled:=not strtobool(DBEdit6.Text); Button5.Enabled:=not strtobool(DBEdit6.Text); end;
end;
procedure TPrepodavateliForm.FormActivate(Sender: TObject); var i:integer;
begin ADODataSet1.Active:=False;
ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa, tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +
'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM tarify'; ADODataSet2.Active:=True;
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)
;
end;
procedure TPrepodavateliForm.Button4Click(Sender: TObject); begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;
end;
procedure TPrepodavateliForm.Button2Click(Sender: TObject);
var i:Integer; begin
ADODataSet3.Active:=True;
ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['pr_id_prepoda']; ADODataSet3.Locate('pr_id_prepoda',i,[]); ADODataSet3.Delete; ADODataSet3.Active:=False; ADODataSet3.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TPrepodavateliForm.Button1Click(Sender: TObject); begin
ins:=false;
ADODataSet4.Active:=false; ADODataSet4.CommandText:='select * from prepodavateli
where (pr_FIO like "'+DBEdit2.Text+'")'; ADODataSet4.Active:=true;
if (DBEdit2.Text='') or (DBLookupComboBox1.KeyValue=null) then
begin
MessageDlg('Заполните все поля',mtWarning, [mbOk], 0); end
else
if ADODataSet4.RecordCount>0 then begin
MessageDlg('Такой преподаватель уже есть',mtWarning,
[mbOk], 0); ADODataSet1.Cancel; end
else begin
ADODataSet1['pr_FIO']:=DBEdit2.Text;
ADODataSet1['pr_dolzhnost']:=inttostr(DBLookupComboBox1.K eyValue);
ADODataSet1.Post;
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa,
tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +
'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM
prepodavateli';
ADODataSet3.Active:=True; end
end;
procedure TPrepodavateliForm.Button5Click(Sender: TObject); begin
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa,
tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +
'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';
ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM tarify'; ADODataSet2.Active:=True;
end;
procedure TPrepodavateliForm.Button3Click(Sender: TObject); begin
ADODataSet4.Active:=false;
47
ADODataSet4.CommandText:='select * from prepodavateli |
begin |
where (pr_FIO like "'+DBEdit2.Text+'")'; |
//Timer1.Enabled:=true; |
ADODataSet4.Active:=true; |
notEdit; |
|
end; |
if (DBEdit2.Text='') or |
|
(DBLookupComboBox1.KeyValue=null) then |
procedure |
begin |
TPrepodavateliForm.DBLookupComboBox1Enter(Sender: |
MessageDlg('Заполните все поля',mtWarning, [mbOk], 0); |
TObject); |
end |
begin |
else |
Timer1.Enabled:=false; |
if ADODataSet4.RecordCount>0 then |
if (DBEdit1.Text<>'')and(not ins) then |
begin |
if not checkEdit then isEdit; |
MessageDlg('Такой преподаватель уже есть',mtWarning, |
end; |
[mbOk], 0); |
|
ADODataSet1.Cancel; |
procedure |
end |
TPrepodavateliForm.DBLookupComboBox1Exit(Sender: |
else |
TObject); |
begin |
begin |
ADODataSet1.Edit; |
Timer1.Enabled:=true; |
ADODataSet1.Post; |
notEdit; |
ADODataSet1.Active:=False; |
end; |
ADODataSet1.Active:=True; |
|
end; |
procedure TPrepodavateliForm.DBGrid1CellClick(Column: |
end; |
TColumn); |
|
var i:integer; |
procedure TPrepodavateliForm.Edit4Change(Sender: TObject); |
begin |
Var S:String; |
i:=ADODataSet1.FieldValues['pr_id_prepoda']; |
begin |
ADODataSet1.Active:=False; |
ADODataSet1.Active:=False; |
ADODataSet1.Active:=True; |
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; |
ADODataSet1.Locate('pr_id_prepoda',i,[]); |
// Сохранение имени поля DBGrid1 в переменную S, по |
end; |
индексу выбранной записи в ComboBox1 |
|
S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; |
procedure TPrepodavateliForm.DBGrid1KeyDown(Sender: |
ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa, |
TObject; var Key: Word; |
tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, |
Shift: TShiftState); |
prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost FROM tarify |
var i:integer; |
INNER JOIN prepodavateli ON tarify.t_id_tarifa = |
begin |
prepodavateli.pr_dolzhnost where '+s+' LIKE "'+Edit4.text+'%"'; |
i:=ADODataSet1.FieldValues['pr_id_prepoda']; |
ADODataSet1.Active:=True; |
ADODataSet1.Active:=False; |
end; |
ADODataSet1.Active:=True; |
|
ADODataSet1.Locate('pr_id_prepoda',i,[]); |
procedure TPrepodavateliForm.DBGrid1TitleClick(Column: |
end; |
TColumn); |
|
begin |
procedure TPrepodavateliForm.DBGrid1KeyUp(Sender: TObject; |
if ADODataSet1.Sort=Column.FieldName+' ASC' then |
var Key: Word; |
ADODataSet1.Sort:=Column.FieldName+' DESC' |
Shift: TShiftState); |
else |
var i:integer; |
ADODataSet1.Sort:=Column.FieldName+' ASC'; |
begin |
end; |
i:=ADODataSet1.FieldValues['pr_id_prepoda']; |
|
ADODataSet1.Active:=False; |
procedure TPrepodavateliForm.DBEdit1Change(Sender: TObject); |
ADODataSet1.Active:=True; |
begin |
ADODataSet1.Locate('pr_id_prepoda',i,[]); |
if (DBEdit1.Text<>'')and(not ins) then checkEdit; |
end; |
end; |
|
|
procedure TPrepodavateliForm.FormClose(Sender: TObject; |
procedure TPrepodavateliForm.DBEdit2Enter(Sender: TObject); |
var Action: TCloseAction); |
begin |
begin |
Timer1.Enabled:=false; |
notEdit; |
if (DBEdit1.Text<>'')and(not ins) then |
Timer1.Enabled:=false; |
if not checkEdit then isEdit; |
end; |
end; |
|
|
end. |
procedure TPrepodavateliForm.DBEdit2Exit(Sender: TObject); |
|
48