Курсовые работы / ПРИС П _11
.pdf
|
|
Обязательное поле: нет |
|
pr_dolzhnost |
Размер поля: Длинное целое |
|
|
Индексированное поле: нет |
|
|
Обязательное поле: нет |
|
EDIT |
Формат поля: Истина/Ложь |
|
|
Значенеие по умолчанию: 0 |
|
|
Индексированное поле: нет |
prepodDiscipline |
prepDisc_id |
Размер поля: Длинное целое |
|
|
Индексированное поле: Да (совпадения не |
|
|
допускаются) |
|
prepDisc_prep |
Размер поля: Длинное целое |
|
|
Индексированное поле: нет |
|
|
Обязательное поле: нет |
|
prepDisc_disc |
Размер поля: Длинное целое |
|
|
Индексированное поле: нет |
|
|
Обязательное поле: нет |
|
EDIT |
Формат поля: Истина/Ложь |
|
|
Значенеие по умолчанию: 0 |
|
|
Индексированное поле: нет |
tarify |
t_id_tarifa |
Размер поля: Длинное целое |
|
|
Новые значения: последовательные |
|
|
Индексированное поле: Да (совпадения не |
|
|
допускаются) |
|
t_dolzhnost |
Размер поля: 255 |
|
|
Пустые строки: да |
|
|
Индексированное поле: да |
|
|
Обязательное поле: нет |
|
t_tarif |
Размер поля: 255 |
|
|
Пустые строки: да |
|
|
Индексированное поле: нет |
|
|
Обязательное поле: нет |
|
EDIT |
Формат поля: Истина/Ложь |
|
|
Значенеие по умолчанию: 0 |
|
|
Индексированное поле: нет |
32
ПРИЛОЖЕНИЕ В
Листинг программы
unit DiscipEkzUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, MyWord, DBTables, ExtCtrls;
type
TDiscipEkzForm = class(TForm) Button2: TButton;
Button3: TButton; DBGrid1: TDBGrid; DataSource1: TDataSource;
ADODataSet1: TADODataSet; Table1: TTable;
PrinterSetupDialog1: TPrinterSetupDialog; Panel2: TPanel;
Label4: TLabel;
Label5: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
ADODataSet2: TADODataSet; Button1: TButton;
procedure ComboBox1Change(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);
private
{Private declarations } public
{Public declarations } end;
var
DiscipEkzForm: TDiscipEkzForm;
implementation
{$R *.dfm}
procedure TDiscipEkzForm.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,
prepodavateli.pr_FIO, discipline.d_nazvanie, discipline.d_ekz'#13#10 +
'FROM (prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda ='#13#10 +
'PrepodDiscipline.prepDisc_prep) INNER JOIN nagruzka ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc'#13#10 + 'WHERE ((prepodavateli.pr_FIO)="'+s+'") AND ((discipline.d_ekz)=True)';
ADODataSet1.Active:=True;
end;
procedure TDiscipEkzForm.FormActivate(Sender: TObject); begin
ADODataSet2.Active:=False; ADODataSet2.CommandText:='select * from prepodavateli'; ADODataSet2.Active:=True;
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,
prepodavateli.pr_FIO, discipline.d_nazvanie, discipline.d_ekz'#13#10 +
'FROM (prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda ='#13#10 +
'PrepodDiscipline.prepDisc_prep) INNER JOIN nagruzka ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc'#13#10 + 'WHERE (((discipline.d_ekz)=True))';
ADODataSet1.Active:=True;
end;
procedure TDiscipEkzForm.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, prepodavateli.pr_FIO, discipline.d_nazvanie, discipline.d_ekz'#13#10 +
'FROM (prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda ='#13#10 +
'PrepodDiscipline.prepDisc_prep) INNER JOIN nagruzka ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc'#13#10 + 'WHERE (((nagruzka.n_semestr) = "'+Edit4.text+'") AND ((prepodavateli.pr_FIO)="'+s+'") AND ((discipline.d_ekz)=True))'; ADODataSet1.Active:=True;
end;
procedure TDiscipEkzForm.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 TDiscipEkzForm.Button3Click(Sender: TObject);
33
begin PrinterSetupDialog1.Execute; end;
procedure TDiscipEkzForm.Button1Click(Sender: TObject); begin
Edit4.clear;
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,
prepodavateli.pr_FIO, discipline.d_nazvanie, discipline.d_ekz'#13#10 +
'FROM (prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda ='#13#10 +
'PrepodDiscipline.prepDisc_prep) INNER JOIN nagruzka ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc'#13#10 + 'WHERE (((discipline.d_ekz)=True))';
ADODataSet1.Active:=True;
ComboBox1.ItemIndex:=-1; end;
procedure TDiscipEkzForm.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 DisciplineUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, ADODB, DBCtrls, StdCtrls, Mask, Grids, DBGrids;
type
TDisciplineForm = class(TForm) DBGrid1: TDBGrid;
Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label4: TLabel;
Label3: TLabel; DBEdit2: TDBEdit; DBEdit1: TDBEdit; DBEdit3: TDBEdit; Button4: TButton; Button3: TButton; Button2: TButton; Button1: TButton; Button5: TButton; DBEdit4: TDBEdit;
ADODataSet1: TADODataSet; DataSource1: TDataSource; DBEdit5: TDBEdit;
Label5: TLabel;
Label6: TLabel; DBCheckBox1: TDBCheckBox; DBCheckBox2: TDBCheckBox; ADODataSet2: TADODataSet; Panel2: TPanel;
Label7: TLabel;
Label8: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
Label12: TLabel; DBEdit6: TDBEdit;
DBNavigator1: TDBNavigator; Timer1: TTimer;
procedure FormActivate(Sender: TObject);
procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit4Enter(Sender: TObject); procedure DBEdit5Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); procedure DBEdit4Exit(Sender: TObject); procedure DBEdit5Exit(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure DBGrid1KeyDown(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
DisciplineForm: TDisciplineForm;
implementation
uses MainUnit, DM;
{$R *.dfm} var ins:boolean;
procedure TDisciplineForm.Refresh; var i:integer;
begin ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TDisciplineForm.isEdit; begin
if DBEdit1.Text<>'' then begin
DMForm.CheckEditQuery.SQL.Text:='UPDATE discipline SET discipline.EDIT = True WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;
end;
end;
procedure TDisciplineForm.notEdit; begin
if DBEdit1.Text<>'' then begin
DMForm.CheckEditQuery.SQL.Text:='UPDATE discipline SET discipline.EDIT = False WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;
end;
end;
34
function TDisciplineForm.checkEdit:boolean; begin
checkEdit:=false;
if DBEdit1.Text<>'' then DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+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); DBEdit3.Enabled:=not strtobool(DBEdit6.Text); DBEdit4.Enabled:=not strtobool(DBEdit6.Text); DBEdit5.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 TDisciplineForm.FormActivate(Sender: TObject); var i:integer;
begin ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from discipline'; ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM discipline'; ADODataSet2.Active:=True;
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)
;
end;
procedure TDisciplineForm.Button4Click(Sender: TObject); begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;
end;
procedure TDisciplineForm.Button1Click(Sender: TObject); begin
ins:=false;
ADODataSet2.Active:=false; ADODataSet2.CommandText:='select * from discipline where
(d_nazvanie like "'+DBEdit2.Text+'")'; ADODataSet2.Active:=true;
if (DBEdit2.Text='') or (DBEdit3.Text='') or (DBEdit4.Text='') or (DBEdit5.Text='') then
begin
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end
else
if ADODataSet2.RecordCount>0 then begin
MessageDlg('Такаядисциплинаужеесть',mtWarning, [mbOk], 0);
ADODataSet1.Cancel; end
else begin
ADODataSet1['d_nazvanie']:=DBEdit2.Text; ADODataSet1['d_hour_lektsii']:=DBEdit3.Text; ADODataSet1['d_hour_lab']:=DBEdit4.Text; ADODataSet1['d_hour_practice']:=DBEdit5.Text; ADODataSet1['d_RZ']:=DBCheckBox1.State; ADODataSet1['d_ekz']:=DBCheckBox2.State; ADODataSet1.Post; ADODataSet1.Active:=False;
ADODataSet1.Active:=True;
ADODataSet2.Active:=False;
ADODataSet2.Active:=True; end
end;
procedure TDisciplineForm.Button5Click(Sender: TObject); begin
ADODataSet1.Active:=False; ADODataSet1.CommandText:='select * from discipline'; ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM discipline'; ADODataSet2.Active:=True;
end;
procedure TDisciplineForm.Button3Click(Sender: TObject); begin
{ADODataSet2.Active:=false; ADODataSet2.CommandText:='select * from prepodavateli
where (pr_FIO like "'+DBEdit2.Text+'")'; ADODataSet2.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.Edit;
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True; end; }
end;
procedure TDisciplineForm.Button2Click(Sender: TObject); var i:Integer;
begin ADODataSet2.Active:=False;
ADODataSet2.CommandText:='SELECT * FROM discipline'; ADODataSet2.Active:=True;
ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['d_id_discipline']; ADODataSet2.Locate('d_id_discipline',i,[]); ADODataSet2.Delete; ADODataSet2.Active:=False; ADODataSet2.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TDisciplineForm.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 * FROM discipline
WHERE '+s+' LIKE "'+Edit4.text+'%"'; ADODataSet1.Active:=True;
end;
procedure TDisciplineForm.DBGrid1TitleClick(Column: TColumn);
35
begin |
ADODataSet1.Active:=False; |
if ADODataSet1.Sort=Column.FieldName+' ASC' then |
ADODataSet1.Active:=True; |
ADODataSet1.Sort:=Column.FieldName+' DESC' |
ADODataSet1.Locate('d_id_discipline',i,[]); |
else |
end; |
ADODataSet1.Sort:=Column.FieldName+' ASC'; |
|
end; |
procedure TDisciplineForm.DBGrid1KeyUp(Sender: TObject; var |
|
Key: Word; |
procedure TDisciplineForm.DBEdit1Change(Sender: TObject); |
Shift: TShiftState); |
begin |
var i:integer; |
if (DBEdit1.Text<>'')and(not ins) then checkEdit; |
begin |
end; |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
|
ADODataSet1.Active:=False; |
procedure TDisciplineForm.DBEdit2Enter(Sender: TObject); |
ADODataSet1.Active:=True; |
begin |
ADODataSet1.Locate('d_id_discipline',i,[]); |
Timer1.Enabled:=false; |
end; |
if (DBEdit1.Text<>'')and(not ins) then |
|
if not checkEdit then isEdit; |
procedure TDisciplineForm.DBGrid1KeyDown(Sender: TObject; |
end; |
var Key: Word; |
|
Shift: TShiftState); |
procedure TDisciplineForm.DBEdit3Enter(Sender: TObject); |
var i:integer; |
begin |
begin |
Timer1.Enabled:=false; |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
if (DBEdit1.Text<>'')and(not ins) then |
ADODataSet1.Active:=False; |
if not checkEdit then isEdit; |
ADODataSet1.Active:=True; |
end; |
ADODataSet1.Locate('d_id_discipline',i,[]); |
|
end; |
procedure TDisciplineForm.DBEdit4Enter(Sender: TObject); |
|
begin |
procedure TDisciplineForm.FormClose(Sender: TObject; |
Timer1.Enabled:=false; |
var Action: TCloseAction); |
if (DBEdit1.Text<>'')and(not ins) then |
begin |
if not checkEdit then isEdit; |
notEdit; |
end; |
Timer1.Enabled:=false; |
|
end; |
procedure TDisciplineForm.DBEdit5Enter(Sender: TObject); |
|
begin |
end. |
Timer1.Enabled:=false; |
|
if (DBEdit1.Text<>'')and(not ins) then |
unit DisciplineUnit; |
if not checkEdit then isEdit; |
|
end; |
interface |
procedure TDisciplineForm.DBEdit2Exit(Sender: TObject); |
uses |
begin |
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
Timer1.Enabled:=true; |
Controls, Forms, |
notEdit; |
Dialogs, ExtCtrls, DB, ADODB, DBCtrls, StdCtrls, Mask, Grids, |
end; |
DBGrids; |
procedure TDisciplineForm.DBEdit3Exit(Sender: TObject); |
type |
begin |
TDisciplineForm = class(TForm) |
Timer1.Enabled:=true; |
DBGrid1: TDBGrid; |
notEdit; |
Panel1: TPanel; |
end; |
Label2: TLabel; |
|
Label1: TLabel; |
procedure TDisciplineForm.DBEdit4Exit(Sender: TObject); |
Label4: TLabel; |
begin |
Label3: TLabel; |
Timer1.Enabled:=true; |
DBEdit2: TDBEdit; |
notEdit; |
DBEdit1: TDBEdit; |
end; |
DBEdit3: TDBEdit; |
|
Button4: TButton; |
procedure TDisciplineForm.DBEdit5Exit(Sender: TObject); |
Button3: TButton; |
begin |
Button2: TButton; |
Timer1.Enabled:=true; |
Button1: TButton; |
notEdit; |
Button5: TButton; |
end; |
DBEdit4: TDBEdit; |
|
ADODataSet1: TADODataSet; |
procedure TDisciplineForm.Timer1Timer(Sender: TObject); |
DataSource1: TDataSource; |
var i:integer; |
DBEdit5: TDBEdit; |
begin |
Label5: TLabel; |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
Label6: TLabel; |
ADODataSet1.Active:=False; |
DBCheckBox1: TDBCheckBox; |
ADODataSet1.Active:=True; |
DBCheckBox2: TDBCheckBox; |
ADODataSet1.Locate('d_id_discipline',i,[]); |
ADODataSet2: TADODataSet; |
end; |
Panel2: TPanel; |
|
Label7: TLabel; |
procedure TDisciplineForm.DBGrid1CellClick(Column: |
Label8: TLabel; |
TColumn); |
ComboBox1: TComboBox; |
var i:integer; |
Edit4: TEdit; |
begin |
Label12: TLabel; |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
DBEdit6: TDBEdit; |
36
DBNavigator1: TDBNavigator; Timer1: TTimer;
procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit4Enter(Sender: TObject); procedure DBEdit5Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); procedure DBEdit4Exit(Sender: TObject); procedure DBEdit5Exit(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure DBGrid1KeyDown(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
DisciplineForm: TDisciplineForm;
implementation
uses MainUnit, DM;
{$R *.dfm} var ins:boolean;
procedure TDisciplineForm.Refresh; var i:integer;
begin ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TDisciplineForm.isEdit; begin
if DBEdit1.Text<>'' then begin
DMForm.CheckEditQuery.SQL.Text:='UPDATE discipline SET discipline.EDIT = True WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;
end;
end;
procedure TDisciplineForm.notEdit; begin
if DBEdit1.Text<>'' then begin
DMForm.CheckEditQuery.SQL.Text:='UPDATE discipline SET discipline.EDIT = False WHERE discipline.d_id_discipline='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+DBEdit1.Text+';';
DMForm.CheckEditQuery.Open;
end;
end;
function TDisciplineForm.checkEdit:boolean; begin
checkEdit:=false;
if DBEdit1.Text<>'' then DMForm.CheckEditQuery.SQL.Text:='select * from discipline WHERE discipline.d_id_discipline='+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); DBEdit3.Enabled:=not strtobool(DBEdit6.Text); DBEdit4.Enabled:=not strtobool(DBEdit6.Text); DBEdit5.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 TDisciplineForm.FormActivate(Sender: TObject); var i:integer;
begin ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from discipline'; ADODataSet1.Active:=True;
ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM discipline'; ADODataSet2.Active:=True;
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)
;
end;
procedure TDisciplineForm.Button4Click(Sender: TObject); begin
ins:=true;
if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;
end;
procedure TDisciplineForm.Button1Click(Sender: TObject); begin
ins:=false;
ADODataSet2.Active:=false; ADODataSet2.CommandText:='select * from discipline where
(d_nazvanie like "'+DBEdit2.Text+'")'; ADODataSet2.Active:=true;
if (DBEdit2.Text='') or (DBEdit3.Text='') or (DBEdit4.Text='') or (DBEdit5.Text='') then
begin
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end
else
if ADODataSet2.RecordCount>0 then begin
MessageDlg('Такаядисциплинаужеесть',mtWarning, [mbOk], 0);
ADODataSet1.Cancel; end
else begin
ADODataSet1['d_nazvanie']:=DBEdit2.Text; ADODataSet1['d_hour_lektsii']:=DBEdit3.Text; ADODataSet1['d_hour_lab']:=DBEdit4.Text; ADODataSet1['d_hour_practice']:=DBEdit5.Text; ADODataSet1['d_RZ']:=DBCheckBox1.State;
37
ADODataSet1['d_ekz']:=DBCheckBox2.State; |
|
ADODataSet1.Post; |
procedure TDisciplineForm.DBGrid1TitleClick(Column: |
ADODataSet1.Active:=False; |
TColumn); |
ADODataSet1.Active:=True; |
begin |
|
if ADODataSet1.Sort=Column.FieldName+' ASC' then |
ADODataSet2.Active:=False; |
ADODataSet1.Sort:=Column.FieldName+' DESC' |
ADODataSet2.Active:=True; |
else |
end |
ADODataSet1.Sort:=Column.FieldName+' ASC'; |
end; |
end; |
procedure TDisciplineForm.Button5Click(Sender: TObject); |
procedure TDisciplineForm.DBEdit1Change(Sender: TObject); |
begin |
begin |
ADODataSet1.Active:=False; |
if (DBEdit1.Text<>'')and(not ins) then checkEdit; |
ADODataSet1.CommandText:='select * from discipline'; |
end; |
ADODataSet1.Active:=True; |
|
|
procedure TDisciplineForm.DBEdit2Enter(Sender: TObject); |
ADODataSet2.Active:=False; |
begin |
ADODataSet2.CommandText:='SELECT * FROM discipline'; |
Timer1.Enabled:=false; |
ADODataSet2.Active:=True; |
if (DBEdit1.Text<>'')and(not ins) then |
end; |
if not checkEdit then isEdit; |
|
end; |
procedure TDisciplineForm.Button3Click(Sender: TObject); |
|
begin |
procedure TDisciplineForm.DBEdit3Enter(Sender: TObject); |
|
begin |
{ADODataSet2.Active:=false; |
Timer1.Enabled:=false; |
ADODataSet2.CommandText:='select * from prepodavateli |
if (DBEdit1.Text<>'')and(not ins) then |
where (pr_FIO like "'+DBEdit2.Text+'")'; |
if not checkEdit then isEdit; |
ADODataSet2.Active:=true; |
end; |
if (DBEdit2.Text='') or |
procedure TDisciplineForm.DBEdit4Enter(Sender: TObject); |
(DBLookupComboBox1.KeyValue=null) then |
begin |
begin |
Timer1.Enabled:=false; |
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); |
if (DBEdit1.Text<>'')and(not ins) then |
end |
if not checkEdit then isEdit; |
else |
end; |
if ADODataSet4.RecordCount>0 then |
|
begin |
procedure TDisciplineForm.DBEdit5Enter(Sender: TObject); |
MessageDlg('Такойпреподавательужеесть',mtWarning, |
begin |
[mbOk], 0); |
Timer1.Enabled:=false; |
ADODataSet1.Cancel; |
if (DBEdit1.Text<>'')and(not ins) then |
end |
if not checkEdit then isEdit; |
else |
end; |
begin |
|
ADODataSet1.Edit; |
procedure TDisciplineForm.DBEdit2Exit(Sender: TObject); |
ADODataSet1.Post; |
begin |
ADODataSet1.Active:=False; |
Timer1.Enabled:=true; |
ADODataSet1.Active:=True; |
notEdit; |
end; } |
end; |
end; |
|
|
procedure TDisciplineForm.DBEdit3Exit(Sender: TObject); |
procedure TDisciplineForm.Button2Click(Sender: TObject); |
begin |
var i:Integer; |
Timer1.Enabled:=true; |
begin |
notEdit; |
ADODataSet2.Active:=False; |
end; |
ADODataSet2.CommandText:='SELECT * FROM discipline'; |
|
ADODataSet2.Active:=True; |
procedure TDisciplineForm.DBEdit4Exit(Sender: TObject); |
ADODataSet1.Active:=True; |
begin |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
Timer1.Enabled:=true; |
ADODataSet2.Locate('d_id_discipline',i,[]); |
notEdit; |
ADODataSet2.Delete; |
end; |
ADODataSet2.Active:=False; |
|
ADODataSet2.Active:=True; |
procedure TDisciplineForm.DBEdit5Exit(Sender: TObject); |
ADODataSet1.Active:=False; |
begin |
ADODataSet1.Active:=True; |
Timer1.Enabled:=true; |
end; |
notEdit; |
|
end; |
procedure TDisciplineForm.Edit4Change(Sender: TObject); |
|
Var S:String; |
procedure TDisciplineForm.Timer1Timer(Sender: TObject); |
begin |
var i:integer; |
ADODataSet1.Active:=False; |
begin |
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; |
i:=ADODataSet1.FieldValues['d_id_discipline']; |
// Сохранение имени поля DBGrid1 в переменную S, по |
ADODataSet1.Active:=False; |
индексу выбранной записи в ComboBox1 |
ADODataSet1.Active:=True; |
S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; |
ADODataSet1.Locate('d_id_discipline',i,[]); |
ADODataSet1.CommandText:='SELECT * FROM discipline |
end; |
WHERE '+s+' LIKE "'+Edit4.text+'%"'; |
|
ADODataSet1.Active:=True; |
procedure TDisciplineForm.DBGrid1CellClick(Column: |
end; |
TColumn); |
38
var i:integer; begin
i:=ADODataSet1.FieldValues['d_id_discipline']; ADODataSet1.Active:=False; ADODataSet1.Active:=True; ADODataSet1.Locate('d_id_discipline',i,[]);
end;
procedure TDisciplineForm.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState); var i:integer;
begin i:=ADODataSet1.FieldValues['d_id_discipline']; ADODataSet1.Active:=False; ADODataSet1.Active:=True; ADODataSet1.Locate('d_id_discipline',i,[]);
end;
procedure TDisciplineForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var i:integer;
begin i:=ADODataSet1.FieldValues['d_id_discipline']; ADODataSet1.Active:=False; ADODataSet1.Active:=True; ADODataSet1.Locate('d_id_discipline',i,[]);
end;
procedure TDisciplineForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin notEdit;
Timer1.Enabled:=false;
end;
end.
unit GruppyUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids;
type
TGruppyForm = class(TForm) DBGrid1: TDBGrid;
Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label4: TLabel;
Label3: TLabel; DBEdit2: TDBEdit; DBEdit1: TDBEdit; DBEdit3: TDBEdit; Button4: TButton; Button3: TButton; Button2: TButton; Button1: TButton; Button5: TButton;
ADODataSet1: TADODataSet; DataSource1: TDataSource; ADODataSet2: TADODataSet; DataSource2: TDataSource; Panel2: TPanel;
Label11: TLabel;
Label12: TLabel; ComboBox1: TComboBox; Edit4: TEdit;
procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);
private
{Private declarations } public
{Public declarations } end;
var
GruppyForm: TGruppyForm;
implementation
{$R *.dfm}
procedure TGruppyForm.Button2Click(Sender: TObject); var i:Integer;
begin ADODataSet1.Active:=True;
i:=ADODataSet1.FieldValues['gr_id_gruppy']; ADODataSet1.Locate('gr_id_gruppy',i,[]); ADODataSet1.Delete; ADODataSet1.Active:=False; ADODataSet1.Active:=True;
end;
procedure TGruppyForm.Button5Click(Sender: TObject); var i:integer;
begin
i:=ADODataSet1.FieldValues['gr_id_gruppy'];
ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT * FROM gruppy'; ADODataSet1.Active:=True;
ADODataSet1.Locate('gr_id_gruppy',i,[]); end;
procedure TGruppyForm.Button4Click(Sender: TObject); begin
//ins:=true;
//DBEdit2.text:=DateToStr(date);
if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;
end;
procedure TGruppyForm.Button1Click(Sender: TObject); begin
//ins:=false;
if (DBEdit2.Text<>'') or (DBEdit3.Text<>'') then
begin ADODataSet2.Active:=false;
ADODataSet2.CommandText:='select * from gruppy where (gr_nazvanie like "'+DBEdit2.Text+'")';
ADODataSet2.Active:=true;
if ADODataSet2.RecordCount>0 then begin
MessageDlg('ТакаяГруппаужесуществует',mtWarning, [mbOk], 0);
ADODataSet1.Cancel; end
else
begin ADODataSet1['gr_nazvanie']:=DBEdit2.Text; ADODataSet1['gr_chisl_stud']:=DBEdit3.Text; ADODataSet1.Post; ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from gruppy'; ADODataSet1.Active:=True;
end; end
39
else
begin
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end;
end;
procedure TGruppyForm.FormActivate(Sender: TObject); var i:integer;
begin ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from gruppy'; ADODataSet1.Active:=True;
for i:=0 to DBGrid1.Columns.Count-1 do
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)
;
end;
procedure TGruppyForm.Button3Click(Sender: TObject); begin
ADODataSet2.Active:=false; ADODataSet2.CommandText:='select * from gruppy where (gr_nazvanie like "'+DBEdit2.Text+'")'; ADODataSet2.Active:=true;
if (DBEdit2.Text<>'') or (DBEdit3.Text<>'') then
begin
if ADODataSet2.RecordCount>1 then begin
MessageDlg('Такаягруппаужесуществует',mtWarning, [mbOk], 0);
ADODataSet1.Cancel; end
else begin
ADODataSet1.Edit;
ADODataSet1.Post;
ADODataSet1.Active:=False;
ADODataSet1.Active:=True;
end; end
else begin
MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end;
end;
procedure TGruppyForm.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 * from gruppy WHERE
'+s+' LIKE "'+Edit4.text+'%"';
ADODataSet1.Active:=True;
end;
procedure TGruppyForm.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 MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, DB, ADODB, IniFiles, ExtCtrls, jpeg, DateUtils;
type
TMainForm = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem;
N14: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
N6: TMenuItem;
N17: TMenuItem;
N12: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N18: TMenuItem;
N8: TMenuItem;
N19: TMenuItem;
ADOConnection1: TADOConnection; OpenDialog1: TOpenDialog;
Panel1: TPanel; N13: TMenuItem; N10: TMenuItem;
procedure N14Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N9Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject); procedure N16Click(Sender: TObject); procedure N18Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N10Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
MainForm: TMainForm;
implementation
uses DisciplineUnit, PrepodavateliUnit, TarifyUnit, NagruzkaOtchetUnit,
DiscipEkzUnit, PrepodGruppyUnit, GruppyUnit, PrepDiscUnit, NagruzkaUnit,
DostupUnit, DM, SmenaParolUnit;
{$R *.dfm}
procedure TMainForm.N14Click(Sender: TObject); var F:TiniFile;//дискриптор ini-файла
DBPath:widestring; //путькБД begin
//создаём объект Ini-файла, ассоциируя его с физическим файлом на диске
F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Optio
ns.ini');
40
//запускаем диалог открытия, если запущен успешно, то...
if OpenDialog1.Execute then begin
//сохраняем указанный в диалоговом окне пользователем путь
DBPath:=ExtractFilePath(OpenDialog1.FileName);
//записываем в раздел Section_DBPath значение переменной DBPath в параметр Path ini-файла
F.WriteString('Section_DBPath','Path',DBPath); ADOConnection1.Close;
//формируем ConnectionString ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OL EDB.4.0;Data Source='+DBPath+'BD_Kinoteatr.mdb;Persist Security Info=False';
//открываем соединение
ADOConnection1.Open;
end;
// освобождаем память
F.Free;
end;
procedure TMainForm.N5Click(Sender: TObject); begin
DisciplineForm.ShowModal;
end;
procedure TMainForm.N7Click(Sender: TObject); begin
PrepodavateliForm.ShowModal;
end;
procedure TMainForm.N9Click(Sender: TObject); begin
TarifyForm.ShowModal;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin ADOConnection1.Connected:=false; Application.Terminate;
end;
procedure TMainForm.FormCreate(Sender: TObject); begin
ADOConnection1.Connected:=False;
if FileExists(GetCurrentDir+'\bd_Strukov.mdb') then begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OL EDB.4.0;User ID=Admin;Data Source='
+GetCurrentDir+'\bd_Strukov.mdb'+ ';Mode=Share Deny None;Extended
Properties="";Persist Security Info=False;'+
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False'; Application.Title:='Результатоперации'; ShowMessage('Базаданныхнайдена'); ADOConnection1.Connected:=True;
end else begin
Application.Title:='Результатоперации';
ShowMessage('База данных не найдена');
If OpenDialog1.Execute then begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OL EDB.4.0;User ID=Admin;Data Source='+
OpenDialog1.FileName+ ';Mode=Share Deny None;Extended
Properties="";Persist Security Info=False;'+
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False'; ADOConnection1.Connected:=True;
end;
end;
end;
procedure TMainForm.N16Click(Sender: TObject); begin
NagruzkaOtchetForm.ShowModal;
end;
procedure TMainForm.N18Click(Sender: TObject); begin
DiscipEkzForm.ShowModal;
end;
procedure TMainForm.N15Click(Sender: TObject); begin
PrepodGruppyForm.ShowModal;
end;
procedure TMainForm.N17Click(Sender: TObject); begin
GruppyForm.ShowModal;
end;
procedure TMainForm.N2Click(Sender: TObject); var F:TiniFile;
DBPath1:string; begin
F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Optio
ns.ini');
//Считываем путь резервного копирования из файла option.ini
DBPath1:=F.ReadString('Section_DBPath','Path',''); F.Free;
// делаем резервную копию файла БД
CopyFile(pchar(DBPath1+'bd_Strukov.mdb'),pchar(DBPath1+'bd_ Strukov_'+datetostr(date)+'_'+stringreplace(timetostr(time),':','.',[rf ReplaceAll, rfIgnoreCase])+'.mdb'),false);
MessageDlg('СозданарезервнаякопияБД ',mtInformation, [mbOk], 0);
end;
procedure TMainForm.N11Click(Sender: TObject); begin
PrepDiscForm.ShowModal;
end;
procedure TMainForm.N3Click(Sender: TObject); begin
MainForm.Close;
end;
procedure TMainForm.N6Click(Sender: TObject); begin
NagruzkaForm.ShowModal;
end;
procedure TMainForm.N19Click(Sender: TObject);
41