ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/local-employeedb/unit1.lfm
Revision: 45
Committed: Tue Dec 6 10:33:46 2016 UTC (7 years, 4 months ago) by tony
File size: 27744 byte(s)
Log Message:
Committing updates for Release R2-0-0

File Contents

# Content
1 object Form1: TForm1
2 Left = 453
3 Height = 482
4 Top = 355
5 Width = 1043
6 Caption = 'Employee List'
7 ClientHeight = 461
8 ClientWidth = 1043
9 Menu = MainMenu1
10 OnClose = FormClose
11 OnShow = FormShow
12 LCLVersion = '1.6.0.4'
13 object Button1: TButton
14 Left = 956
15 Height = 25
16 Top = 48
17 Width = 75
18 Action = AddEmployee
19 Anchors = [akTop, akRight]
20 TabOrder = 0
21 end
22 object Button2: TButton
23 Left = 956
24 Height = 25
25 Top = 86
26 Width = 75
27 Action = EditEmployee
28 Anchors = [akTop, akRight]
29 TabOrder = 1
30 end
31 object Button3: TButton
32 Left = 956
33 Height = 25
34 Top = 125
35 Width = 75
36 Action = DeleteEmployee
37 Anchors = [akTop, akRight]
38 TabOrder = 2
39 end
40 object Label1: TLabel
41 Left = 17
42 Height = 15
43 Top = 14
44 Width = 87
45 Caption = 'Started Before'
46 ParentColor = False
47 end
48 object BeforeDate: TDateEdit
49 Left = 112
50 Height = 25
51 Top = 8
52 Width = 80
53 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
54 OKCaption = 'OK'
55 CancelCaption = 'Cancel'
56 DateOrder = doNone
57 ButtonWidth = 23
58 NumGlyphs = 1
59 MaxLength = 0
60 OnChange = BeforeDateChange
61 TabOrder = 3
62 end
63 object Label2: TLabel
64 Left = 241
65 Height = 15
66 Top = 14
67 Width = 78
68 Caption = 'Started After'
69 ParentColor = False
70 end
71 object AfterDate: TDateEdit
72 Left = 333
73 Height = 25
74 Top = 8
75 Width = 80
76 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
77 OKCaption = 'OK'
78 CancelCaption = 'Cancel'
79 DateOrder = doNone
80 ButtonWidth = 23
81 NumGlyphs = 1
82 MaxLength = 0
83 OnChange = BeforeDateChange
84 TabOrder = 4
85 end
86 object Panel1: TPanel
87 Left = 0
88 Height = 413
89 Top = 42
90 Width = 921
91 Anchors = [akTop, akLeft, akRight, akBottom]
92 BevelOuter = bvNone
93 ClientHeight = 413
94 ClientWidth = 921
95 Color = clBackground
96 ParentColor = False
97 TabOrder = 5
98 object IBDynamicGrid1: TIBDynamicGrid
99 Left = 0
100 Height = 363
101 Top = 0
102 Width = 921
103 Align = alClient
104 Color = clWindow
105 Columns = <
106 item
107 Title.Alignment = taCenter
108 Title.Caption = 'Last Name'
109 Width = 100
110 FieldName = 'LAST_NAME'
111 AutoSizeColumn = False
112 InitialSortColumn = False
113 DBLookupProperties.ItemHeight = 0
114 DBLookupProperties.ItemWidth = 0
115 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
116 end
117 item
118 Title.Alignment = taCenter
119 Title.Caption = 'First Name'
120 Width = 100
121 FieldName = 'FIRST_NAME'
122 AutoSizeColumn = False
123 InitialSortColumn = False
124 DBLookupProperties.ItemHeight = 0
125 DBLookupProperties.ItemWidth = 0
126 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
127 end
128 item
129 Alignment = taCenter
130 Title.Alignment = taCenter
131 Title.Caption = 'Emp No.'
132 Width = 60
133 FieldName = 'EMP_NO'
134 AutoSizeColumn = False
135 InitialSortColumn = False
136 DBLookupProperties.ItemHeight = 0
137 DBLookupProperties.ItemWidth = 0
138 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
139 end
140 item
141 ReadOnly = True
142 Title.Alignment = taCenter
143 Title.Caption = 'Dept'
144 Width = 200
145 FieldName = 'DEPT_PATH'
146 AutoSizeColumn = True
147 InitialSortColumn = False
148 DBLookupProperties.ItemHeight = 0
149 DBLookupProperties.ItemWidth = 0
150 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
151 end
152 item
153 ButtonStyle = cbsPickList
154 Title.Alignment = taCenter
155 Title.Caption = 'Located'
156 Width = 100
157 FieldName = 'JOB_COUNTRY'
158 AutoSizeColumn = False
159 InitialSortColumn = False
160 DBLookupProperties.ItemHeight = 0
161 DBLookupProperties.ItemWidth = 0
162 DBLookupProperties.ListSource = CountrySource
163 DBLookupProperties.ListField = 'COUNTRY'
164 DBLookupProperties.AutoInsert = False
165 DBLookupProperties.AutoComplete = False
166 end
167 item
168 Title.Alignment = taCenter
169 Title.Caption = 'Started'
170 Width = 80
171 FieldName = 'HIRE_DATE'
172 AutoSizeColumn = False
173 InitialSortColumn = False
174 DBLookupProperties.ItemHeight = 0
175 DBLookupProperties.ItemWidth = 0
176 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
177 end
178 item
179 Title.Alignment = taCenter
180 Title.Caption = 'Salary'
181 Width = 120
182 FieldName = 'SALARY'
183 ColumnTotalsControl = DBText1
184 AutoSizeColumn = False
185 InitialSortColumn = False
186 DBLookupProperties.ItemHeight = 0
187 DBLookupProperties.ItemWidth = 0
188 DBLookupProperties.AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
189 end>
190 DataSource = EmployeeSource
191 Scrollbars = ssAutoBoth
192 TabOrder = 0
193 EditorPanel = EmployeeEditorPanel
194 ExpandEditorPanelBelowRow = False
195 Descending = False
196 EditorBorderStyle = bsSingle
197 DefaultPositionAtEnd = False
198 IndexFieldNames = 'EMP_NO'
199 end
200 object Panel2: TPanel
201 Left = 0
202 Height = 50
203 Top = 363
204 Width = 921
205 Align = alBottom
206 BevelOuter = bvNone
207 ClientHeight = 50
208 ClientWidth = 921
209 ParentColor = False
210 TabOrder = 1
211 object Button5: TButton
212 Left = 80
213 Height = 25
214 Top = 16
215 Width = 75
216 Action = CancelChanges
217 Anchors = [akLeft, akBottom]
218 TabOrder = 0
219 end
220 object Button4: TButton
221 Left = 1
222 Height = 25
223 Top = 16
224 Width = 75
225 Action = SaveChanges
226 Anchors = [akLeft, akBottom]
227 TabOrder = 1
228 end
229 object DBText1: TDBText
230 Left = 688
231 Height = 27
232 Top = 16
233 Width = 49
234 Alignment = taRightJustify
235 Anchors = [akTop, akLeft, akBottom]
236 DataField = 'TOTALSALARIES'
237 DataSource = TotalsSource
238 ParentColor = False
239 end
240 end
241 object EmployeeEditorPanel: TPanel
242 Left = 8
243 Height = 80
244 Top = 40
245 Width = 832
246 BevelOuter = bvNone
247 BorderWidth = 2
248 BorderStyle = bsSingle
249 ClientHeight = 78
250 ClientWidth = 830
251 Color = clWindow
252 ParentColor = False
253 TabOrder = 2
254 Visible = False
255 object Label3: TLabel
256 Left = 0
257 Height = 15
258 Top = 7
259 Width = 83
260 Caption = 'Employee No.'
261 ParentColor = False
262 end
263 object DBEdit1: TDBEdit
264 Left = 90
265 Height = 25
266 Top = 2
267 Width = 120
268 DataField = 'EMP_NO'
269 DataSource = EmployeeSource
270 CharCase = ecNormal
271 MaxLength = 0
272 TabOrder = 0
273 end
274 object Label4: TLabel
275 Left = 12
276 Height = 15
277 Top = 32
278 Width = 64
279 Caption = 'First Name'
280 ParentColor = False
281 end
282 object DBEdit2: TDBEdit
283 Left = 90
284 Height = 25
285 Top = 24
286 Width = 120
287 DataField = 'FIRST_NAME'
288 DataSource = EmployeeSource
289 CharCase = ecNormal
290 MaxLength = 0
291 TabOrder = 1
292 end
293 object Label5: TLabel
294 Left = 12
295 Height = 15
296 Top = 56
297 Width = 64
298 Caption = 'Last Name'
299 ParentColor = False
300 end
301 object DBEdit3: TDBEdit
302 Left = 90
303 Height = 25
304 Top = 46
305 Width = 120
306 DataField = 'LAST_NAME'
307 DataSource = EmployeeSource
308 CharCase = ecNormal
309 MaxLength = 0
310 TabOrder = 2
311 end
312 object Label6: TLabel
313 Left = 216
314 Height = 15
315 Top = 7
316 Width = 77
317 Caption = 'Date Started'
318 ParentColor = False
319 end
320 object IBDateEdit1: TDBDateEdit
321 Left = 300
322 Height = 25
323 Top = 2
324 Width = 80
325 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
326 OKCaption = 'OK'
327 CancelCaption = 'Cancel'
328 DateOrder = doNone
329 ButtonWidth = 23
330 AutoSelect = False
331 NumGlyphs = 1
332 MaxLength = 0
333 TabOrder = 3
334 DataField = 'HIRE_DATE'
335 DataSource = EmployeeSource
336 end
337 object Label7: TLabel
338 Left = 252
339 Height = 15
340 Top = 32
341 Width = 37
342 Caption = 'Salary'
343 ParentColor = False
344 end
345 object DBEdit4: TDBEdit
346 Left = 300
347 Height = 25
348 Top = 24
349 Width = 104
350 DataField = 'SALARY'
351 DataSource = EmployeeSource
352 CharCase = ecNormal
353 MaxLength = 0
354 TabOrder = 5
355 end
356 object Label8: TLabel
357 Left = 696
358 Height = 15
359 Top = 54
360 Width = 24
361 Anchors = [akTop, akRight]
362 Caption = 'Ext.'
363 ParentColor = False
364 end
365 object DBEdit5: TDBEdit
366 Left = 720
367 Height = 25
368 Top = 48
369 Width = 40
370 DataField = 'PHONE_EXT'
371 DataSource = EmployeeSource
372 Anchors = [akTop, akRight]
373 CharCase = ecNormal
374 MaxLength = 0
375 TabOrder = 4
376 end
377 object Label9: TLabel
378 Left = 536
379 Height = 15
380 Top = 7
381 Width = 51
382 Caption = 'Location'
383 ParentColor = False
384 end
385 object Label10: TLabel
386 Left = 413
387 Height = 15
388 Top = 9
389 Width = 59
390 Caption = 'Job Grade'
391 ParentColor = False
392 end
393 object JobGradeDBComboBox: TDBComboBox
394 Left = 480
395 Height = 23
396 Top = 2
397 Width = 48
398 AutoSize = False
399 DataField = 'JOB_GRADE'
400 DataSource = EmployeeSource
401 ItemHeight = 0
402 Items.Strings = (
403 '1'
404 '2'
405 '3'
406 '4'
407 '5'
408 )
409 MaxLength = 0
410 OnCloseUp = JobGradeDBComboBoxCloseUp
411 Style = csDropDownList
412 TabOrder = 6
413 end
414 object Label11: TLabel
415 Left = 536
416 Height = 15
417 Top = 32
418 Width = 48
419 Caption = 'Job Title'
420 ParentColor = False
421 end
422 object Label12: TLabel
423 Left = 256
424 Height = 15
425 Top = 54
426 Width = 33
427 Caption = 'Dept.'
428 ParentColor = False
429 end
430 object SpeedButton1: TSpeedButton
431 Left = 664
432 Height = 25
433 Top = 48
434 Width = 23
435 Action = SelectDept
436 Anchors = [akTop, akRight]
437 end
438 object DBEdit6: TDBEdit
439 Left = 300
440 Height = 25
441 Top = 48
442 Width = 356
443 DataField = 'DEPT_PATH'
444 DataSource = EmployeeSource
445 ReadOnly = True
446 Anchors = [akTop, akLeft, akRight]
447 CharCase = ecNormal
448 MaxLength = 0
449 TabOrder = 7
450 end
451 object IBLookupComboEditBox2: TIBLookupComboEditBox
452 Left = 600
453 Height = 23
454 Top = 0
455 Width = 160
456 Anchors = [akTop, akLeft, akRight]
457 AutoSize = False
458 DataField = 'JOB_COUNTRY'
459 DataSource = EmployeeSource
460 KeyField = 'COUNTRY'
461 ListField = 'COUNTRY'
462 ListFieldIndex = 0
463 ListSource = CountrySource
464 LookupCache = False
465 Style = csDropDownList
466 TabOrder = 8
467 AutoInsert = False
468 AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
469 ItemHeight = 0
470 end
471 object IBLookupComboEditBox1: TIBLookupComboEditBox
472 Left = 600
473 Height = 23
474 Top = 24
475 Width = 160
476 Anchors = [akTop, akLeft, akRight]
477 AutoSize = False
478 DataField = 'JOB_CODE'
479 DataSource = EmployeeSource
480 KeyField = 'JOB_CODE'
481 ListField = 'JOB_TITLE'
482 ListFieldIndex = 0
483 ListSource = JobCodeSource
484 LookupCache = False
485 Style = csDropDownList
486 TabOrder = 9
487 AutoInsert = False
488 AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
489 ItemHeight = 0
490 end
491 object Panel3: TPanel
492 Left = 768
493 Height = 67
494 Top = 3
495 Width = 56
496 Anchors = [akTop, akRight]
497 Caption = 'No Image'
498 ClientHeight = 67
499 ClientWidth = 56
500 Font.Height = -10
501 ParentFont = False
502 TabOrder = 10
503 object DBImage1: TDBImage
504 Left = 1
505 Height = 65
506 Top = 1
507 Width = 54
508 Align = alClient
509 Center = True
510 DataField = 'PHOTO'
511 DataSource = EmployeeSource
512 OnDBImageRead = DBImage1DBImageRead
513 Proportional = True
514 end
515 end
516 end
517 end
518 object Label13: TLabel
519 Left = 456
520 Height = 15
521 Top = 14
522 Width = 79
523 Caption = 'Salary Range'
524 ParentColor = False
525 end
526 object SalaryRange: TComboBox
527 Left = 544
528 Height = 25
529 Top = 8
530 Width = 272
531 ItemHeight = 0
532 ItemIndex = 0
533 Items.Strings = (
534 'None Specified'
535 'Below $40,000'
536 'Between $40,000 and $100,000'
537 'Above $100,000'
538 )
539 OnCloseUp = BeforeDateChange
540 Style = csDropDownList
541 TabOrder = 6
542 Text = 'None Specified'
543 end
544 object IBDatabase1: TIBDatabase
545 Connected = False
546 LoginPrompt = False
547 AfterConnect = IBDatabase1AfterConnect
548 CreateIfNotExists = False
549 AllowStreamedConnected = False
550 DatabaseName = 'employee'
551 Params.Strings = (
552 'user_name=SYSDBA'
553 'lc_ctype=UTF8'
554 )
555 DefaultTransaction = IBTransaction1
556 IdleTimer = 0
557 TraceFlags = []
558 UseDefaultSystemCodePage = False
559 left = 832
560 top = 168
561 end
562 object IBTransaction1: TIBTransaction
563 Active = False
564 DefaultDatabase = IBDatabase1
565 Params.Strings = (
566 'read_committed'
567 'rec_version'
568 'nowait'
569 )
570 left = 872
571 top = 168
572 end
573 object EmployeeSource: TDataSource
574 DataSet = Employees
575 left = 832
576 top = 336
577 end
578 object ActionList1: TActionList
579 left = 832
580 top = 416
581 object AddEmployee: TAction
582 Caption = 'Add'
583 OnExecute = AddEmployeeExecute
584 end
585 object EditEmployee: TAction
586 Caption = 'Edit'
587 OnExecute = EditEmployeeExecute
588 OnUpdate = EditEmployeeUpdate
589 end
590 object DeleteEmployee: TAction
591 Caption = 'Delete'
592 OnExecute = DeleteEmployeeExecute
593 OnUpdate = EditEmployeeUpdate
594 end
595 object SaveChanges: TAction
596 Caption = 'Save'
597 OnExecute = SaveChangesExecute
598 OnUpdate = SaveChangesUpdate
599 end
600 object CancelChanges: TAction
601 Caption = 'Cancel'
602 OnExecute = CancelChangesExecute
603 OnUpdate = SaveChangesUpdate
604 end
605 object SelectDept: TAction
606 Caption = '...'
607 OnExecute = SelectDeptExecute
608 end
609 object NewDatabase: TAction
610 Category = 'LocalDB'
611 Caption = 'Reinitialise Database'
612 OnExecute = NewDatabaseExecute
613 end
614 object SaveDatabase: TAction
615 Category = 'LocalDB'
616 Caption = 'Save Database to Archive'
617 OnExecute = SaveDatabaseExecute
618 end
619 object RestoreDatabase: TAction
620 Category = 'LocalDB'
621 Caption = 'Restore Database From Archive'
622 OnExecute = RestoreDatabaseExecute
623 end
624 object Quit: TAction
625 Caption = 'Quit'
626 OnExecute = QuitExecute
627 end
628 end
629 object CountrySource: TDataSource
630 DataSet = Countries
631 left = 832
632 top = 296
633 end
634 object TotalsQuery: TIBQuery
635 AllowAutoActivateTransaction = False
636 Database = IBDatabase1
637 Transaction = IBTransaction1
638 BeforeOpen = EmployeesBeforeOpen
639 BufferChunks = 1000
640 CachedUpdates = False
641 GenerateParamNames = False
642 GeneratorField.ApplyOnEvent = gaeOnNewRecord
643 SQL.Strings = (
644 'Select sum(Salary) as TotalSalaries'
645 'From EMPLOYEE'
646 )
647 Params = <>
648 DataSetCloseAction = dcDiscardChanges
649 left = 872
650 top = 376
651 object TotalsQueryTOTALSALARIES: TIBBCDField
652 DisplayWidth = 18
653 FieldKind = fkData
654 FieldName = 'TOTALSALARIES'
655 Index = 0
656 LookupCache = False
657 ProviderFlags = [pfInUpdate, pfInWhere]
658 ReadOnly = False
659 Required = False
660 OnGetText = EmployeesSALARYGetText
661 Precision = 18
662 Currency = False
663 MaxValue = 0
664 MinValue = 0
665 Size = 2
666 end
667 end
668 object TotalsSource: TDataSource
669 DataSet = TotalsQuery
670 left = 832
671 top = 376
672 end
673 object Employees: TIBDataSet
674 AllowAutoActivateTransaction = False
675 Database = IBDatabase1
676 Transaction = IBTransaction1
677 AfterDelete = EmployeesAfterDelete
678 AfterEdit = EmployeesAfterDelete
679 AfterInsert = EmployeesAfterInsert
680 AfterOpen = EmployeesAfterOpen
681 AfterPost = EmployeesAfterPost
682 AfterScroll = EmployeesAfterScroll
683 BeforeClose = EmployeesBeforeClose
684 BeforeOpen = EmployeesBeforeOpen
685 BufferChunks = 1000
686 CachedUpdates = False
687 DeleteSQL.Strings = (
688 'Delete From EMPLOYEE A'
689 'Where A.EMP_NO = :EMP_NO'
690 )
691 InsertSQL.Strings = (
692 'Insert Into EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY)'
693 'Values(:EMP_NO, :FIRST_NAME, :LAST_NAME, :PHONE_EXT, :HIRE_DATE, :DEPT_NO, :JOB_CODE, :JOB_GRADE, :JOB_COUNTRY, :SALARY)'
694 )
695 RefreshSQL.Strings = (
696 'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
697 'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, A.DEPT_PATH, A.DEPT_KEY_PATH, A.PHOTO'
698 'From DEPTLIST A'
699 'Where A.EMP_NO = :EMP_NO'
700 )
701 SelectSQL.Strings = (
702 'Select A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE, '
703 'A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, A.DEPT_PATH, A.DEPT_KEY_PATH, A.PHOTO'
704 'From DEPTLIST A'
705 ''
706 )
707 ModifySQL.Strings = (
708 'Update EMPLOYEE A Set '#13#10' A.DEPT_NO = :DEPT_NO,'#13#10' A.FIRST_NAME = :FIRST_NAME,'#13#10' A.HIRE_DATE = :HIRE_DATE,'#13#10' A.JOB_CODE = :JOB_CODE,'#13#10' A.JOB_COUNTRY = :JOB_COUNTRY,'#13#10' A.JOB_GRADE = :JOB_GRADE,'#13#10' A.LAST_NAME = :LAST_NAME,'#13#10' A.PHONE_EXT = :PHONE_EXT,'#13#10' A.SALARY = :SALARY'
709 'Where A.EMP_NO = :OLD_EMP_NO'
710 )
711 GeneratorField.Generator = 'EMP_NO_GEN'
712 GeneratorField.Field = 'EMP_NO'
713 GeneratorField.ApplyOnEvent = gaeOnNewRecord
714 GenerateParamNames = False
715 DataSetCloseAction = dcSaveChanges
716 AfterTransactionEnd = EmployeesAfterTransactionEnd
717 OnValidatePost = EmployeesValidatePost
718 left = 872
719 top = 336
720 object EmployeesEMP_NO: TSmallintField
721 DisplayWidth = 10
722 FieldKind = fkData
723 FieldName = 'EMP_NO'
724 Index = 0
725 LookupCache = False
726 ProviderFlags = [pfInUpdate, pfInWhere]
727 ReadOnly = False
728 Required = True
729 end
730 object EmployeesFIRST_NAME: TIBStringField
731 DisplayWidth = 15
732 FieldKind = fkData
733 FieldName = 'FIRST_NAME'
734 Index = 1
735 LookupCache = False
736 ProviderFlags = [pfInUpdate, pfInWhere]
737 ReadOnly = False
738 Required = True
739 Size = 15
740 end
741 object EmployeesLAST_NAME: TIBStringField
742 DisplayWidth = 20
743 FieldKind = fkData
744 FieldName = 'LAST_NAME'
745 Index = 2
746 LookupCache = False
747 ProviderFlags = [pfInUpdate, pfInWhere]
748 ReadOnly = False
749 Required = True
750 end
751 object EmployeesPHONE_EXT: TIBStringField
752 Alignment = taRightJustify
753 DisplayWidth = 4
754 FieldKind = fkData
755 FieldName = 'PHONE_EXT'
756 Index = 3
757 LookupCache = False
758 ProviderFlags = [pfInUpdate, pfInWhere]
759 ReadOnly = False
760 Required = False
761 Size = 4
762 end
763 object EmployeesHIRE_DATE: TDateTimeField
764 DisplayWidth = 10
765 FieldKind = fkData
766 FieldName = 'HIRE_DATE'
767 Index = 4
768 LookupCache = False
769 ProviderFlags = [pfInUpdate, pfInWhere]
770 ReadOnly = False
771 Required = True
772 end
773 object EmployeesDEPT_NO: TIBStringField
774 DisplayWidth = 3
775 FieldKind = fkData
776 FieldName = 'DEPT_NO'
777 Index = 5
778 LookupCache = False
779 ProviderFlags = [pfInUpdate, pfInWhere]
780 ReadOnly = False
781 Required = True
782 Size = 3
783 end
784 object EmployeesJOB_CODE: TIBStringField
785 DisplayWidth = 5
786 FieldKind = fkData
787 FieldName = 'JOB_CODE'
788 Index = 6
789 LookupCache = False
790 ProviderFlags = [pfInUpdate, pfInWhere]
791 ReadOnly = False
792 Required = True
793 OnChange = EmployeesJOB_CODEChange
794 Size = 5
795 end
796 object EmployeesJOB_GRADE: TSmallintField
797 DisplayWidth = 10
798 FieldKind = fkData
799 FieldName = 'JOB_GRADE'
800 Index = 7
801 LookupCache = False
802 ProviderFlags = [pfInUpdate, pfInWhere]
803 ReadOnly = False
804 Required = True
805 OnChange = EmployeesJOB_GRADEChange
806 end
807 object EmployeesJOB_COUNTRY: TIBStringField
808 DisplayWidth = 15
809 FieldKind = fkData
810 FieldName = 'JOB_COUNTRY'
811 Index = 8
812 LookupCache = False
813 ProviderFlags = [pfInUpdate, pfInWhere]
814 ReadOnly = False
815 Required = True
816 Size = 15
817 end
818 object EmployeesSALARY: TIBBCDField
819 DisplayWidth = 18
820 FieldKind = fkData
821 FieldName = 'SALARY'
822 Index = 9
823 LookupCache = False
824 ProviderFlags = [pfInUpdate, pfInWhere]
825 ReadOnly = False
826 Required = True
827 OnGetText = EmployeesSALARYGetText
828 Precision = 18
829 Currency = False
830 MaxValue = 0
831 MinValue = 0
832 Size = 2
833 end
834 object EmployeesFULL_NAME: TIBStringField
835 DisplayWidth = 37
836 FieldKind = fkData
837 FieldName = 'FULL_NAME'
838 Index = 10
839 LookupCache = False
840 ProviderFlags = [pfInUpdate, pfInWhere]
841 ReadOnly = True
842 Required = False
843 Size = 37
844 end
845 object EmployeesDEPT_PATH: TIBStringField
846 DisplayWidth = 256
847 FieldKind = fkData
848 FieldName = 'DEPT_PATH'
849 Index = 11
850 LookupCache = False
851 ProviderFlags = [pfInUpdate, pfInWhere]
852 ReadOnly = False
853 Required = True
854 Size = 256
855 end
856 object EmployeesDEPT_KEY_PATH: TIBStringField
857 DisplayWidth = 64
858 FieldKind = fkData
859 FieldName = 'DEPT_KEY_PATH'
860 Index = 12
861 LookupCache = False
862 ProviderFlags = [pfInUpdate, pfInWhere]
863 ReadOnly = False
864 Required = True
865 Size = 64
866 end
867 object EmployeesPHOTO1: TBlobField
868 DisplayWidth = 10
869 FieldKind = fkData
870 FieldName = 'PHOTO'
871 Index = 13
872 LookupCache = False
873 ProviderFlags = [pfInUpdate, pfInWhere]
874 ReadOnly = False
875 Required = False
876 end
877 end
878 object Countries: TIBQuery
879 AllowAutoActivateTransaction = False
880 Database = IBDatabase1
881 Transaction = IBTransaction1
882 BeforeOpen = CountriesBeforeOpen
883 BufferChunks = 1000
884 CachedUpdates = False
885 GenerateParamNames = False
886 GeneratorField.ApplyOnEvent = gaeOnNewRecord
887 SQL.Strings = (
888 'Select A.COUNTRY, A.CURRENCY From COUNTRY A'
889 'JOIN JOB J On J.JOB_COUNTRY = A.COUNTRY'
890 'Where J.JOB_CODE = :JOB_CODE and J.JOB_GRADE = :JOB_GRADE'
891 'Order by 1'
892 )
893 Params = <
894 item
895 DataType = ftUnknown
896 Name = 'JOB_CODE'
897 ParamType = ptInput
898 end
899 item
900 DataType = ftUnknown
901 Name = 'JOB_GRADE'
902 ParamType = ptInput
903 end>
904 DataSetCloseAction = dcDiscardChanges
905 left = 872
906 top = 296
907 ParamData = <
908 item
909 DataType = ftUnknown
910 Name = 'JOB_CODE'
911 ParamType = ptInput
912 end
913 item
914 DataType = ftUnknown
915 Name = 'JOB_GRADE'
916 ParamType = ptInput
917 end>
918 end
919 object JobCodeSource: TDataSource
920 DataSet = JobCodes
921 left = 832
922 top = 256
923 end
924 object JobCodes: TIBQuery
925 AllowAutoActivateTransaction = False
926 Database = IBDatabase1
927 Transaction = IBTransaction1
928 BeforeOpen = JobCodesBeforeOpen
929 BufferChunks = 1000
930 CachedUpdates = False
931 GenerateParamNames = False
932 GeneratorField.ApplyOnEvent = gaeOnNewRecord
933 SQL.Strings = (
934 'Select A.JOB_CODE, A.JOB_TITLE From JOB A'
935 'Where JOB_COUNTRY = :JOB_COUNTRY and JOB_GRADE = :JOB_GRADE'
936 'Order by Upper(JOB_TITLE)'
937 )
938 Params = <
939 item
940 DataType = ftUnknown
941 Name = 'JOB_COUNTRY'
942 ParamType = ptInput
943 end
944 item
945 DataType = ftUnknown
946 Name = 'JOB_GRADE'
947 ParamType = ptInput
948 end>
949 DataSetCloseAction = dcDiscardChanges
950 left = 872
951 top = 256
952 ParamData = <
953 item
954 DataType = ftUnknown
955 Name = 'JOB_COUNTRY'
956 ParamType = ptInput
957 end
958 item
959 DataType = ftUnknown
960 Name = 'JOB_GRADE'
961 ParamType = ptInput
962 end>
963 end
964 object Depts: TIBQuery
965 AllowAutoActivateTransaction = False
966 Database = IBDatabase1
967 Transaction = IBTransaction1
968 BufferChunks = 1000
969 CachedUpdates = False
970 GenerateParamNames = False
971 GeneratorField.ApplyOnEvent = gaeOnNewRecord
972 SQL.Strings = (
973 'Select A.DEPT_NO, A.DEPARTMENT From DEPARTMENT A'
974 ''
975 'Order by Upper(Department)'
976 )
977 Params = <>
978 DataSetCloseAction = dcDiscardChanges
979 left = 872
980 top = 208
981 end
982 object DeptsSource: TDataSource
983 DataSet = Depts
984 left = 832
985 top = 208
986 end
987 object JobGradeChangeTimer: TTimer
988 Interval = 0
989 OnTimer = JobGradeChangeTimerTimer
990 left = 928
991 top = 175
992 end
993 object JobCodeChangeTimer: TTimer
994 Interval = 0
995 OnTimer = JobCodeChangeTimerTimer
996 left = 927
997 top = 224
998 end
999 object IBLocalDBSupport1: TIBLocalDBSupport
1000 Database = IBDatabase1
1001 DatabaseName = 'employee.fdb'
1002 EmptyDBArchive = 'employee.gbk'
1003 Options = [iblAutoUpgrade, iblAllowDowngrade]
1004 RequiredVersionNo = 2
1005 UpgradeConfFile = 'upgrade.conf'
1006 VendorName = 'MWA Software'
1007 OnGetDBVersionNo = IBLocalDBSupport1GetDBVersionNo
1008 left = 937
1009 top = 264
1010 end
1011 object MainMenu1: TMainMenu
1012 left = 937
1013 top = 318
1014 object MenuItem1: TMenuItem
1015 Caption = 'File'
1016 object MenuItem2: TMenuItem
1017 Action = NewDatabase
1018 end
1019 object MenuItem3: TMenuItem
1020 Caption = '-'
1021 end
1022 object MenuItem4: TMenuItem
1023 Action = SaveDatabase
1024 end
1025 object MenuItem5: TMenuItem
1026 Action = RestoreDatabase
1027 end
1028 object MenuItem6: TMenuItem
1029 Caption = '-'
1030 end
1031 object MenuItem7: TMenuItem
1032 Action = Quit
1033 end
1034 end
1035 end
1036 object CheckVersionTablePresent: TIBSQL
1037 Database = IBDatabase1
1038 GenerateParamNames = False
1039 UniqueParamNames = False
1040 ParamCheck = True
1041 SQL.Strings = (
1042 'Select * From RDB$RELATIONS Where RDB$RELATION_NAME = ''DBVERSIONINFO'';'
1043 )
1044 Transaction = IBTransaction1
1045 left = 937
1046 top = 358
1047 end
1048 object GetDBVersionNoQuery: TIBSQL
1049 Database = IBDatabase1
1050 GenerateParamNames = False
1051 UniqueParamNames = False
1052 ParamCheck = True
1053 SQL.Strings = (
1054 'Select VersionNo From DBVersionInfo'
1055 )
1056 Transaction = IBTransaction1
1057 left = 936
1058 top = 399
1059 end
1060 end