--- ibx/trunk/examples/employee/unit2.pas 2013/02/28 16:56:14 16 +++ ibx/trunk/examples/employee/unit2.pas 2013/12/28 19:22:24 17 @@ -1,139 +1,139 @@ -unit Unit2; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, - DbCtrls, EditBtn, IBCustomDataSet, IBQuery, db; - -type - - { TEditEmployeeDlg } - - TEditEmployeeDlg = class(TForm) - Button1: TButton; - Button2: TButton; - CountriesCOUNTRY: TIBStringField; - CountriesCURRENCY: TIBStringField; - Datasource1: TDatasource; - Datasource2: TDatasource; - Datasource4: TDatasource; - DateEdit1: TDateEdit; - DBEdit1: TDBEdit; - DBEdit2: TDBEdit; - DBEdit4: TDBEdit; - DBEdit5: TDBEdit; - DBLookupComboBox1: TDBLookupComboBox; - DBLookupComboBox3: TDBLookupComboBox; - IBDataSet1: TIBDataSet; - IBDataSet1DEPT_NO: TIBStringField; - IBDataSet1EMP_NO: TSmallintField; - IBDataSet1FIRST_NAME: TIBStringField; - IBDataSet1FULL_NAME: TIBStringField; - IBDataSet1HIRE_DATE: TDateTimeField; - IBDataSet1JOB_CODE: TIBStringField; - IBDataSet1JOB_COUNTRY: TIBStringField; - IBDataSet1JOB_GRADE: TSmallintField; - IBDataSet1LAST_NAME: TIBStringField; - IBDataSet1PHONE_EXT: TIBStringField; - IBDataSet1SALARY: TIBBCDField; - Depts: TIBQuery; - Countries: TIBQuery; - Label1: TLabel; - Label2: TLabel; - Label3: TLabel; - Label4: TLabel; - Label5: TLabel; - Label6: TLabel; - Label8: TLabel; - procedure DateEdit1Change(Sender: TObject); - procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); - procedure FormShow(Sender: TObject); - procedure IBDataSet1AfterClose(DataSet: TDataSet); - procedure IBDataSet1AfterInsert(DataSet: TDataSet); - procedure IBDataSet1AfterScroll(DataSet: TDataSet); - procedure IBDataSet1BeforeOpen(DataSet: TDataSet); - procedure IBDataSet1BeforePost(DataSet: TDataSet); - private - { private declarations } - FEmp_no: integer; - public - { public declarations } - function ShowModal(Emp_no: integer): TModalResult; - end; - -var - EditEmployeeDlg: TEditEmployeeDlg; - -implementation - -{$R *.lfm} - -uses Unit1; - -{ TEditEmployeeDlg } - -procedure TEditEmployeeDlg.IBDataSet1AfterScroll(DataSet: TDataSet); -begin - DateEdit1.Date := DataSet.FieldByName('HIRE_DATE').AsDateTime -end; - -procedure TEditEmployeeDlg.IBDataSet1BeforeOpen(DataSet: TDataSet); -begin - Depts.Active:= true; - Countries.Active := true; - IBDataSet1.ParamByName('EMP_NO').AsInteger := FEmp_no -end; - -procedure TEditEmployeeDlg.DateEdit1Change(Sender: TObject); -begin - IBDataSet1.Edit; - IBDataSet1.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date -end; - -procedure TEditEmployeeDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction); -begin - if IBDataSet1.State in [dsEdit,dsInsert] then - begin - if ModalResult = mrOK then - IBDataSet1.Post - else - IBDataSet1.Cancel - end; - IBDataSet1.Active := false -end; - -procedure TEditEmployeeDlg.FormShow(Sender: TObject); -begin - IBDataSet1.Active := true -end; - -procedure TEditEmployeeDlg.IBDataSet1AfterClose(DataSet: TDataSet); -begin - Depts.Active := false; - Countries.Active := false; -end; - -procedure TEditEmployeeDlg.IBDataSet1AfterInsert(DataSet: TDataSet); -begin - DataSet.FieldByName('HIRE_DATE').AsDateTime := Now; - DataSet.FieldByName('JOB_CODE').AsString := 'Eng'; - DataSet.FieldByName('JOB_GRADE').AsInteger := 2; - DataSet.FieldByName('Salary').AsFloat := 70000; -end; - -procedure TEditEmployeeDlg.IBDataSet1BeforePost(DataSet: TDataSet); -begin - DataSet.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date -end; - -function TEditEmployeeDlg.ShowModal(Emp_no: integer): TModalResult; -begin - FEmp_no := Emp_no; - Result := inherited ShowModal -end; - -end. - +unit Unit2; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, + DbCtrls, EditBtn, IBCustomDataSet, IBQuery, db; + +type + + { TEditEmployeeDlg } + + TEditEmployeeDlg = class(TForm) + Button1: TButton; + Button2: TButton; + CountriesCOUNTRY: TIBStringField; + CountriesCURRENCY: TIBStringField; + Datasource1: TDatasource; + Datasource2: TDatasource; + Datasource4: TDatasource; + DateEdit1: TDateEdit; + DBEdit1: TDBEdit; + DBEdit2: TDBEdit; + DBEdit4: TDBEdit; + DBEdit5: TDBEdit; + DBLookupComboBox1: TDBLookupComboBox; + DBLookupComboBox3: TDBLookupComboBox; + IBDataSet1: TIBDataSet; + IBDataSet1DEPT_NO: TIBStringField; + IBDataSet1EMP_NO: TSmallintField; + IBDataSet1FIRST_NAME: TIBStringField; + IBDataSet1FULL_NAME: TIBStringField; + IBDataSet1HIRE_DATE: TDateTimeField; + IBDataSet1JOB_CODE: TIBStringField; + IBDataSet1JOB_COUNTRY: TIBStringField; + IBDataSet1JOB_GRADE: TSmallintField; + IBDataSet1LAST_NAME: TIBStringField; + IBDataSet1PHONE_EXT: TIBStringField; + IBDataSet1SALARY: TIBBCDField; + Depts: TIBQuery; + Countries: TIBQuery; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + Label8: TLabel; + procedure DateEdit1Change(Sender: TObject); + procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); + procedure FormShow(Sender: TObject); + procedure IBDataSet1AfterClose(DataSet: TDataSet); + procedure IBDataSet1AfterInsert(DataSet: TDataSet); + procedure IBDataSet1AfterScroll(DataSet: TDataSet); + procedure IBDataSet1BeforeOpen(DataSet: TDataSet); + procedure IBDataSet1BeforePost(DataSet: TDataSet); + private + { private declarations } + FEmp_no: integer; + public + { public declarations } + function ShowModal(Emp_no: integer): TModalResult; + end; + +var + EditEmployeeDlg: TEditEmployeeDlg; + +implementation + +{$R *.lfm} + +uses Unit1; + +{ TEditEmployeeDlg } + +procedure TEditEmployeeDlg.IBDataSet1AfterScroll(DataSet: TDataSet); +begin + DateEdit1.Date := DataSet.FieldByName('HIRE_DATE').AsDateTime +end; + +procedure TEditEmployeeDlg.IBDataSet1BeforeOpen(DataSet: TDataSet); +begin + Depts.Active:= true; + Countries.Active := true; + IBDataSet1.ParamByName('EMP_NO').AsInteger := FEmp_no +end; + +procedure TEditEmployeeDlg.DateEdit1Change(Sender: TObject); +begin + IBDataSet1.Edit; + IBDataSet1.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date +end; + +procedure TEditEmployeeDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction); +begin + if IBDataSet1.State in [dsEdit,dsInsert] then + begin + if ModalResult = mrOK then + IBDataSet1.Post + else + IBDataSet1.Cancel + end; + IBDataSet1.Active := false +end; + +procedure TEditEmployeeDlg.FormShow(Sender: TObject); +begin + IBDataSet1.Active := true +end; + +procedure TEditEmployeeDlg.IBDataSet1AfterClose(DataSet: TDataSet); +begin + Depts.Active := false; + Countries.Active := false; +end; + +procedure TEditEmployeeDlg.IBDataSet1AfterInsert(DataSet: TDataSet); +begin + DataSet.FieldByName('HIRE_DATE').AsDateTime := Now; + DataSet.FieldByName('JOB_CODE').AsString := 'Eng'; + DataSet.FieldByName('JOB_GRADE').AsInteger := 2; + DataSet.FieldByName('Salary').AsFloat := 70000; +end; + +procedure TEditEmployeeDlg.IBDataSet1BeforePost(DataSet: TDataSet); +begin + DataSet.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date +end; + +function TEditEmployeeDlg.ShowModal(Emp_no: integer): TModalResult; +begin + FEmp_no := Emp_no; + Result := inherited ShowModal +end; + +end. +