ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/employee/unit2.pas
Revision: 17
Committed: Sat Dec 28 19:22:24 2013 UTC (10 years, 3 months ago) by tony
Content type: text/x-pascal
File size: 3724 byte(s)
Log Message:
Committing updates for Release R1-0-5

File Contents

# User Rev Content
1 tony 17 unit Unit2;
2    
3     {$mode objfpc}{$H+}
4    
5     interface
6    
7     uses
8     Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
9     DbCtrls, EditBtn, IBCustomDataSet, IBQuery, db;
10    
11     type
12    
13     { TEditEmployeeDlg }
14    
15     TEditEmployeeDlg = class(TForm)
16     Button1: TButton;
17     Button2: TButton;
18     CountriesCOUNTRY: TIBStringField;
19     CountriesCURRENCY: TIBStringField;
20     Datasource1: TDatasource;
21     Datasource2: TDatasource;
22     Datasource4: TDatasource;
23     DateEdit1: TDateEdit;
24     DBEdit1: TDBEdit;
25     DBEdit2: TDBEdit;
26     DBEdit4: TDBEdit;
27     DBEdit5: TDBEdit;
28     DBLookupComboBox1: TDBLookupComboBox;
29     DBLookupComboBox3: TDBLookupComboBox;
30     IBDataSet1: TIBDataSet;
31     IBDataSet1DEPT_NO: TIBStringField;
32     IBDataSet1EMP_NO: TSmallintField;
33     IBDataSet1FIRST_NAME: TIBStringField;
34     IBDataSet1FULL_NAME: TIBStringField;
35     IBDataSet1HIRE_DATE: TDateTimeField;
36     IBDataSet1JOB_CODE: TIBStringField;
37     IBDataSet1JOB_COUNTRY: TIBStringField;
38     IBDataSet1JOB_GRADE: TSmallintField;
39     IBDataSet1LAST_NAME: TIBStringField;
40     IBDataSet1PHONE_EXT: TIBStringField;
41     IBDataSet1SALARY: TIBBCDField;
42     Depts: TIBQuery;
43     Countries: TIBQuery;
44     Label1: TLabel;
45     Label2: TLabel;
46     Label3: TLabel;
47     Label4: TLabel;
48     Label5: TLabel;
49     Label6: TLabel;
50     Label8: TLabel;
51     procedure DateEdit1Change(Sender: TObject);
52     procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
53     procedure FormShow(Sender: TObject);
54     procedure IBDataSet1AfterClose(DataSet: TDataSet);
55     procedure IBDataSet1AfterInsert(DataSet: TDataSet);
56     procedure IBDataSet1AfterScroll(DataSet: TDataSet);
57     procedure IBDataSet1BeforeOpen(DataSet: TDataSet);
58     procedure IBDataSet1BeforePost(DataSet: TDataSet);
59     private
60     { private declarations }
61     FEmp_no: integer;
62     public
63     { public declarations }
64     function ShowModal(Emp_no: integer): TModalResult;
65     end;
66    
67     var
68     EditEmployeeDlg: TEditEmployeeDlg;
69    
70     implementation
71    
72     {$R *.lfm}
73    
74     uses Unit1;
75    
76     { TEditEmployeeDlg }
77    
78     procedure TEditEmployeeDlg.IBDataSet1AfterScroll(DataSet: TDataSet);
79     begin
80     DateEdit1.Date := DataSet.FieldByName('HIRE_DATE').AsDateTime
81     end;
82    
83     procedure TEditEmployeeDlg.IBDataSet1BeforeOpen(DataSet: TDataSet);
84     begin
85     Depts.Active:= true;
86     Countries.Active := true;
87     IBDataSet1.ParamByName('EMP_NO').AsInteger := FEmp_no
88     end;
89    
90     procedure TEditEmployeeDlg.DateEdit1Change(Sender: TObject);
91     begin
92     IBDataSet1.Edit;
93     IBDataSet1.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date
94     end;
95    
96     procedure TEditEmployeeDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction);
97     begin
98     if IBDataSet1.State in [dsEdit,dsInsert] then
99     begin
100     if ModalResult = mrOK then
101     IBDataSet1.Post
102     else
103     IBDataSet1.Cancel
104     end;
105     IBDataSet1.Active := false
106     end;
107    
108     procedure TEditEmployeeDlg.FormShow(Sender: TObject);
109     begin
110     IBDataSet1.Active := true
111     end;
112    
113     procedure TEditEmployeeDlg.IBDataSet1AfterClose(DataSet: TDataSet);
114     begin
115     Depts.Active := false;
116     Countries.Active := false;
117     end;
118    
119     procedure TEditEmployeeDlg.IBDataSet1AfterInsert(DataSet: TDataSet);
120     begin
121     DataSet.FieldByName('HIRE_DATE').AsDateTime := Now;
122     DataSet.FieldByName('JOB_CODE').AsString := 'Eng';
123     DataSet.FieldByName('JOB_GRADE').AsInteger := 2;
124     DataSet.FieldByName('Salary').AsFloat := 70000;
125     end;
126    
127     procedure TEditEmployeeDlg.IBDataSet1BeforePost(DataSet: TDataSet);
128     begin
129     DataSet.FieldByName('HIRE_DATE').AsDateTime := DateEdit1.Date
130     end;
131    
132     function TEditEmployeeDlg.ShowModal(Emp_no: integer): TModalResult;
133     begin
134     FEmp_no := Emp_no;
135     Result := inherited ShowModal
136     end;
137    
138     end.
139