ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/local-employeedb/unit1.lfm
Revision: 410
Committed: Thu Jun 22 13:52:39 2023 UTC (17 months ago) by tony
File size: 28400 byte(s)
Log Message:
Release 2.6.0 beta

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

Properties

Name Value
svn:eol-style native