ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/local-employeedb/unit1.lfm
Revision: 318
Committed: Thu Feb 25 12:03:26 2021 UTC (3 years, 2 months ago) by tony
File size: 28626 byte(s)
Log Message:
Update Examples for FB4

File Contents

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