LazStats: Refactor DifUnit. Add to chm.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7395 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-04-21 20:00:11 +00:00
parent e2de5809db
commit 3019ff51ba
10 changed files with 85430 additions and 1066 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +1,30 @@
object DIFFrm: TDIFFrm object DIFFrm: TDIFFrm
Left = 573 Left = 573
Height = 296 Height = 350
Top = 253 Top = 244
Width = 748 Width = 748
Caption = 'DIF Specifications' Caption = 'DIF Specifications'
ClientHeight = 296 ClientHeight = 350
ClientWidth = 748 ClientWidth = 748
OnActivate = FormActivate OnActivate = FormActivate
OnCreate = FormCreate OnCreate = FormCreate
OnShow = FormShow OnShow = FormShow
Position = poMainFormCenter Position = poMainFormCenter
LCLVersion = '2.1.0.0' LCLVersion = '2.1.0.0'
object GroupBox1: TGroupBox object OptionsGroup: TGroupBox
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
AnchorSideRight.Control = GroupBox2 AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel2 AnchorSideBottom.Control = Panel2
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 368 Left = 575
Height = 235 Height = 235
Top = 8 Top = 8
Width = 165 Width = 165
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 8
Caption = 'Options' Caption = 'Options'
ChildSizing.LeftRightSpacing = 12 ChildSizing.LeftRightSpacing = 12
ChildSizing.TopBottomSpacing = 6 ChildSizing.TopBottomSpacing = 6
@@ -30,7 +32,7 @@ object DIFFrm: TDIFFrm
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ClientHeight = 215 ClientHeight = 215
ClientWidth = 161 ClientWidth = 161
TabOrder = 1 TabOrder = 3
object ItemStatsChk: TCheckBox object ItemStatsChk: TCheckBox
Left = 12 Left = 12
Height = 19 Height = 19
@@ -105,93 +107,74 @@ object DIFFrm: TDIFFrm
end end
end end
object ResetBtn: TButton object ResetBtn: TButton
AnchorSideRight.Control = CancelBtn AnchorSideRight.Control = ComputeBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 447 Left = 539
Height = 25 Height = 25
Top = 263 Top = 317
Width = 54 Width = 54
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Reset' Caption = 'Reset'
OnClick = ResetBtnClick OnClick = ResetBtnClick
TabOrder = 5 TabOrder = 5
end end
object CancelBtn: TButton
AnchorSideRight.Control = ComputeBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 513
Height = 25
Top = 263
Width = 62
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Bottom = 8
Caption = 'Cancel'
ModalResult = 2
TabOrder = 6
end
object ComputeBtn: TButton object ComputeBtn: TButton
AnchorSideRight.Control = ReturnBtn AnchorSideRight.Control = CloseBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 587 Left = 601
Height = 25 Height = 25
Top = 263 Top = 317
Width = 76 Width = 76
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Compute' Caption = 'Compute'
OnClick = ComputeBtnClick OnClick = ComputeBtnClick
TabOrder = 7 TabOrder = 6
end end
object ReturnBtn: TButton object CloseBtn: TButton
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 675 Left = 685
Height = 25 Height = 25
Top = 263 Top = 317
Width = 61 Width = 55
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Return' Caption = 'Close'
ModalResult = 1 ModalResult = 11
OnClick = ReturnBtnClick TabOrder = 7
TabOrder = 8
end end
object HelpBtn: TButton object HelpBtn: TButton
Tag = 122 Tag = 122
AnchorSideRight.Control = ResetBtn AnchorSideRight.Control = ResetBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 384 Left = 480
Height = 25 Height = 25
Top = 263 Top = 317
Width = 51 Width = 51
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Help' Caption = 'Help'
OnClick = HelpBtnClick OnClick = HelpBtnClick
@@ -201,10 +184,10 @@ object DIFFrm: TDIFFrm
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ReturnBtn AnchorSideBottom.Control = CloseBtn
Left = 0 Left = 0
Height = 8 Height = 8
Top = 247 Top = 301
Width = 748 Width = 748
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine Shape = bsBottomLine
@@ -212,19 +195,19 @@ object DIFFrm: TDIFFrm
object Panel1: TPanel object Panel1: TPanel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
AnchorSideRight.Control = GroupBox1 AnchorSideRight.Control = Panel2
AnchorSideBottom.Control = Bevel1 AnchorSideBottom.Control = Bevel1
Left = 8 Left = 8
Height = 239 Height = 293
Top = 8 Top = 8
Width = 352 Width = 360
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 8 BorderSpacing.Right = 12
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 239 ClientHeight = 293
ClientWidth = 352 ClientWidth = 360
TabOrder = 0 TabOrder = 0
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
@@ -248,9 +231,9 @@ object DIFFrm: TDIFFrm
object Label3: TLabel object Label3: TLabel
AnchorSideLeft.Control = ItemsList AnchorSideLeft.Control = ItemsList
AnchorSideBottom.Control = GroupVarEdit AnchorSideBottom.Control = GroupVarEdit
Left = 207 Left = 211
Height = 15 Height = 15
Top = 171 Top = 225
Width = 94 Width = 94
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 2 BorderSpacing.Bottom = 2
@@ -265,21 +248,22 @@ object DIFFrm: TDIFFrm
AnchorSideBottom.Control = Panel1 AnchorSideBottom.Control = Panel1
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 0 Left = 0
Height = 222 Height = 276
Top = 17 Top = 17
Width = 145 Width = 149
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Right = 8 BorderSpacing.Right = 8
ItemHeight = 0 ItemHeight = 0
MultiSelect = True MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 0 TabOrder = 0
end end
object ItemInBtn: TBitBtn object ItemInBtn: TBitBtn
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList AnchorSideTop.Control = VarList
Left = 162 Left = 166
Height = 28 Height = 28
Top = 33 Top = 33
Width = 28 Width = 28
@@ -295,7 +279,7 @@ object DIFFrm: TDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ItemInBtn AnchorSideTop.Control = ItemInBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 162 Left = 166
Height = 28 Height = 28
Top = 65 Top = 65
Width = 28 Width = 28
@@ -311,7 +295,7 @@ object DIFFrm: TDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ItemOutBtn AnchorSideTop.Control = ItemOutBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 153 Left = 157
Height = 25 Height = 25
Top = 97 Top = 97
Width = 46 Width = 46
@@ -326,9 +310,9 @@ object DIFFrm: TDIFFrm
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = GrpOutBtn AnchorSideBottom.Control = GrpOutBtn
Left = 162 Left = 166
Height = 28 Height = 28
Top = 163 Top = 217
Width = 28 Width = 28
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
@@ -343,9 +327,9 @@ object DIFFrm: TDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = VarList AnchorSideBottom.Control = VarList
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 162 Left = 166
Height = 28 Height = 28
Top = 195 Top = 249
Width = 28 Width = 28
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 16 BorderSpacing.Bottom = 16
@@ -363,15 +347,17 @@ object DIFFrm: TDIFFrm
AnchorSideRight.Control = Panel1 AnchorSideRight.Control = Panel1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = GrpInBtn AnchorSideBottom.Control = GrpInBtn
Left = 207 Left = 211
Height = 122 Height = 188
Top = 17 Top = 17
Width = 145 Width = 149
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Bottom = 24 BorderSpacing.Bottom = 12
ItemHeight = 0 ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 4 TabOrder = 4
end end
object GroupVarEdit: TEdit object GroupVarEdit: TEdit
@@ -380,81 +366,80 @@ object DIFFrm: TDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = GrpOutBtn AnchorSideBottom.Control = GrpOutBtn
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 207 Left = 211
Height = 23 Height = 23
Top = 188 Top = 242
Width = 145 Width = 149
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Bottom = 12 BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 7 TabOrder = 7
Text = 'GroupVarEdit' Text = 'GroupVarEdit'
end end
end end
object Panel2: TPanel object Panel2: TPanel
AnchorSideLeft.Control = GroupBox2 AnchorSideLeft.Control = LevelsGroup
AnchorSideTop.Control = GroupBox2 AnchorSideTop.Control = Owner
AnchorSideTop.Side = asrBottom AnchorSideRight.Control = OptionsGroup
AnchorSideRight.Control = GroupBox2 Left = 380
AnchorSideRight.Side = asrBottom
Left = 565
Height = 77 Height = 77
Top = 162 Top = 16
Width = 175 Width = 179
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 16
BorderSpacing.Top = 16 BorderSpacing.Top = 16
BorderSpacing.Right = 16
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 77 ClientHeight = 77
ClientWidth = 175 ClientWidth = 179
TabOrder = 3 TabOrder = 1
object Label4: TLabel object Label4: TLabel
AnchorSideTop.Control = RefGrpEdit AnchorSideTop.Control = RefGrpEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = RefGrpEdit AnchorSideRight.Control = RefGrpEdit
Left = 9 Left = 20
Height = 15 Height = 15
Top = 4 Top = 4
Width = 124 Width = 119
Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'Reference Group Code?' Caption = 'Reference Group Code'
ParentColor = False ParentColor = False
end end
object Label5: TLabel object Label5: TLabel
AnchorSideTop.Control = TrgtGrpEdit AnchorSideTop.Control = TrgtGrpEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = TrgtGrpEdit AnchorSideRight.Control = TrgtGrpEdit
Left = 33 Left = 44
Height = 15 Height = 15
Top = 31 Top = 31
Width = 100 Width = 95
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'Focal Group Code?' Caption = 'Focal Group Code'
ParentColor = False ParentColor = False
end end
object Label6: TLabel object Label6: TLabel
AnchorSideTop.Control = LevelsEdit AnchorSideTop.Control = LevelsEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = LevelsEdit AnchorSideRight.Control = LevelsEdit
Left = 28 Left = 39
Height = 15 Height = 15
Top = 58 Top = 58
Width = 105 Width = 100
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'No. of Score Levels?' Caption = 'No. of Score Levels'
ParentColor = False ParentColor = False
end end
object RefGrpEdit: TEdit object RefGrpEdit: TEdit
AnchorSideTop.Control = Panel2 AnchorSideTop.Control = Panel2
AnchorSideRight.Control = Panel2 AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 141 Left = 147
Height = 23 Height = 23
Top = 0 Top = 0
Width = 34 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
TabOrder = 0 TabOrder = 0
@@ -466,15 +451,15 @@ object DIFFrm: TDIFFrm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = RefGrpEdit AnchorSideRight.Control = RefGrpEdit
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 141 Left = 147
Height = 23 Height = 23
Top = 27 Top = 27
Width = 34 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
TabOrder = 1 TabOrder = 1
Text = 'Edit1' Text = 'TrgtGrpEdit'
end end
object LevelsEdit: TEdit object LevelsEdit: TEdit
AnchorSideLeft.Control = RefGrpEdit AnchorSideLeft.Control = RefGrpEdit
@@ -482,53 +467,51 @@ object DIFFrm: TDIFFrm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel2 AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 141 Left = 147
Height = 23 Height = 23
Top = 54 Top = 54
Width = 34 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
OnExit = LevelsEditExit OnEditingDone = LevelsEditEditingDone
TabOrder = 2 TabOrder = 2
Text = 'Edit1' Text = 'LevelsEdit'
end end
end end
object GroupBox2: TGroupBox object LevelsGroup: TGroupBox
AnchorSideLeft.Control = GroupBox1 AnchorSideLeft.Control = Panel2
AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel2
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = OptionsGroup
AnchorSideRight.Side = asrBottom Left = 380
Left = 549 Height = 159
Height = 138 Top = 109
Top = 8 Width = 183
Width = 191 Anchors = [akTop, akLeft, akRight]
Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Left = 16 BorderSpacing.Top = 16
BorderSpacing.Right = 8 BorderSpacing.Right = 12
Caption = 'Enter Bounds for Levels' Caption = 'Enter Bounds for Levels'
ClientHeight = 118 ClientHeight = 139
ClientWidth = 187 ClientWidth = 179
TabOrder = 2 TabOrder = 2
object Panel3: TPanel object Panel3: TPanel
AnchorSideTop.Control = GroupBox2
Left = 8 Left = 8
Height = 108 Height = 129
Top = 2 Top = 2
Width = 171 Width = 163
AutoSize = True Align = alClient
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Right = 8 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 108 ClientHeight = 129
ClientWidth = 171 ClientWidth = 163
TabOrder = 0 TabOrder = 0
object Label8: TLabel object Label8: TLabel
AnchorSideLeft.Control = Panel3 AnchorSideLeft.Control = LevelScroll
AnchorSideTop.Control = Panel3 AnchorSideTop.Control = Panel3
Left = 0 Left = 0
Height = 15 Height = 15
@@ -540,7 +523,9 @@ object DIFFrm: TDIFFrm
end end
object Label9: TLabel object Label9: TLabel
AnchorSideTop.Control = Panel3 AnchorSideTop.Control = Panel3
Left = 106 AnchorSideRight.Control = LevelScroll
AnchorSideRight.Side = asrBottom
Left = 110
Height = 15 Height = 15
Top = 4 Top = 4
Width = 15 Width = 15
@@ -550,14 +535,14 @@ object DIFFrm: TDIFFrm
ParentColor = False ParentColor = False
end end
object Label10: TLabel object Label10: TLabel
AnchorSideLeft.Control = LevelNoEdit
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Panel3 AnchorSideTop.Control = Panel3
AnchorSideRight.Control = Panel3
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 123 Left = 134
Height = 15 Height = 15
Top = 4 Top = 4
Width = 48 Width = 27
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
Caption = 'Level' Caption = 'Level'
ParentColor = False ParentColor = False
@@ -566,9 +551,9 @@ object DIFFrm: TDIFFrm
AnchorSideTop.Control = LowBoundEdit AnchorSideTop.Control = LowBoundEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = LowBoundEdit AnchorSideRight.Control = LowBoundEdit
Left = 51 Left = 53
Height = 15 Height = 15
Top = 62 Top = 54
Width = 70 Width = 70
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@@ -579,9 +564,9 @@ object DIFFrm: TDIFFrm
AnchorSideTop.Control = UpBoundEdit AnchorSideTop.Control = UpBoundEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = UpBoundEdit AnchorSideRight.Control = UpBoundEdit
Left = 48 Left = 50
Height = 15 Height = 15
Top = 89 Top = 81
Width = 73 Width = 73
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@@ -591,68 +576,81 @@ object DIFFrm: TDIFFrm
object LevelScroll: TScrollBar object LevelScroll: TScrollBar
AnchorSideLeft.Control = Panel3 AnchorSideLeft.Control = Panel3
AnchorSideTop.Control = LevelNoEdit AnchorSideTop.Control = LevelNoEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = LevelNoEdit AnchorSideRight.Control = LevelNoEdit
Left = 0 Left = 0
Height = 16 Height = 16
Top = 28 Top = 23
Width = 121 Width = 125
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 6
Min = 1 Min = 1
PageSize = 0 PageSize = 0
Position = 1 Position = 1
TabOrder = 0 TabOrder = 0
OnScroll = LevelScrollScroll OnChange = LevelScrollChange
end
object LevelNoEdit: TEdit
AnchorSideTop.Control = Label10
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel3
AnchorSideRight.Side = asrBottom
Left = 129
Height = 23
Top = 25
Width = 42
Alignment = taRightJustify
Anchors = [akTop, akRight]
BorderSpacing.Top = 6
TabOrder = 1
Text = 'LevelNoEdit'
end end
object LowBoundEdit: TEdit object LowBoundEdit: TEdit
AnchorSideLeft.Control = LevelNoEdit
AnchorSideTop.Control = LevelNoEdit AnchorSideTop.Control = LevelNoEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel3 AnchorSideRight.Control = Panel3
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 129 Left = 131
Height = 23 Height = 23
Top = 58 Top = 50
Width = 42 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 10 BorderSpacing.Top = 4
OnExit = LowBoundEditExit OnEditingDone = LowBoundEditEditingDone
TabOrder = 2 TabOrder = 2
Text = 'Edit4' Text = 'LowBoundEdit'
end end
object UpBoundEdit: TEdit object UpBoundEdit: TEdit
AnchorSideLeft.Control = LevelNoEdit
AnchorSideTop.Control = LowBoundEdit AnchorSideTop.Control = LowBoundEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel3 AnchorSideRight.Control = Panel3
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 129 Left = 131
Height = 23 Height = 23
Top = 85 Top = 77
Width = 42 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
OnExit = UpBoundEditExit OnEditingDone = UpBoundEditEditingDone
TabOrder = 3 TabOrder = 3
Text = 'Edit4' Text = 'UpBoundEdit'
end
object LevelNoEdit: TStaticText
AnchorSideTop.Control = Label10
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel3
AnchorSideRight.Side = asrBottom
Left = 131
Height = 23
Top = 23
Width = 32
Alignment = taRightJustify
Anchors = [akTop, akRight]
BorderSpacing.Top = 4
BorderStyle = sbsSingle
TabOrder = 1
end
object NextBtn: TButton
AnchorSideTop.Control = UpBoundEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = UpBoundEdit
AnchorSideRight.Side = asrBottom
Left = 85
Height = 25
Top = 104
Width = 78
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Top = 4
Caption = 'Next level'
OnClick = NextBtnClick
TabOrder = 4
end end
end end
end end

View File

@@ -130,18 +130,16 @@ begin
HiScoreEdit.Text := ''; HiScoreEdit.Text := '';
for i := 1 to NoVariables do for i := 1 to NoVariables do
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]); VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
LevelScroll.Min := 0; //1; LevelScroll.Min := 0;
LevelScroll.Max := 0; //LevelScroll.Min; LevelScroll.Max := 0;
LevelScroll.Position := 0; //1; LevelScroll.Position := 0;
{
if NoVariables > 0 then LevelsEdit.Text := '';
LevelScroll.Max := NoVariables; LevelNoEdit.Caption := '';
} LowBoundEdit.Text := '';
LevelsEdit.Text := ''; //IntToStr(NoVariables); UpBoundEdit.Text := '';
LevelNoEdit.Caption := ''; //'1';
LowBoundEdit.Text := ''; //'0'; //ComputeBtn.Enabled := false;
UpBoundEdit.Text := ''; //'2';
ComputeBtn.Enabled := false;
UpdateBtnStates; UpdateBtnStates;
end; end;
@@ -157,7 +155,7 @@ begin
ComputeBtn.Enabled := true; ComputeBtn.Enabled := true;
exit; exit;
end; end;
LowBoundEdit.Text := IntToStr(UBounds[level]); //IntToStr(Ubounds[level] + 1); // LowBoundEdit.Text := IntToStr(UBounds[level]); //IntToStr(Ubounds[level] + 1);
// LowBoundEdit.SetFocus; // LowBoundEdit.SetFocus;
end; end;
@@ -282,31 +280,6 @@ begin
UpBoundEdit.Text := IntToStr(UBounds[level]); UpBoundEdit.Text := IntToStr(UBounds[level]);
end; end;
// wp: Setting focus to other controls makes the form very difficult to use.
{
level := StrToInt(LevelNoEdit.Text);
scrlpos := LevelScroll.Position;
if ((scrlpos > level) and (level <= StrToInt(LevelsEdit.Text))) then
begin
LevelNoEdit.Text := IntToStr(scrlpos);
LowBoundEdit.SetFocus;
exit;
end;
if scrlpos < level then
begin
level := scrlpos;
if level > 0 then
begin
LevelNoEdit.Text := IntToStr(level);
LowBoundEdit.Text := IntToStr(Lbounds[level-1]);
UpBoundEdit.Text := IntToStr(Ubounds[level-1]);
end;
LowBoundEdit.SetFocus;
end;
end;
}
procedure TPolyDIFFrm.LevelsEditEditingDone(Sender: TObject); procedure TPolyDIFFrm.LevelsEditEditingDone(Sender: TObject);
var var
L: Integer; L: Integer;
@@ -326,9 +299,7 @@ var
level: integer; level: integer;
begin begin
level := LevelScroll.Position; level := LevelScroll.Position;
// level := StrToInt(LevelNoEdit.Caption) - 1;
Lbounds[level] := StrToInt(LowBoundEdit.Text); Lbounds[level] := StrToInt(LowBoundEdit.Text);
//UpBoundEdit.Set
end; end;
procedure TPolyDIFFrm.AllBtnClick(Sender: TObject); procedure TPolyDIFFrm.AllBtnClick(Sender: TObject);
@@ -372,6 +343,12 @@ begin
exit; exit;
end; end;
if GroupVarEdit.Text = '' then
begin
MessageDlg('No Grouping Variable selected.', mtError, [mbOK], 0);
exit;
end;
if not ValidNumEdit(LevelsEdit, 'Number of Grouping Levels', noLevels) then if not ValidNumEdit(LevelsEdit, 'Number of Grouping Levels', noLevels) then
exit; exit;
if not ValidNumEdit(LowScoreEdit, 'Lowest Item Score', loscore) then if not ValidNumEdit(LowScoreEdit, 'Lowest Item Score', loscore) then
@@ -383,6 +360,23 @@ begin
if not ValidNumEdit(TrgtGrpEdit, 'Focus Group Code', i) then if not ValidNumEdit(TrgtGrpEdit, 'Focus Group Code', i) then
exit; exit;
for i:=0 to StrToInt(LevelsEdit.Caption) - 1 do
begin
if LBounds[i] = -1 then begin
MessageDlg(Format('Lower bound not specified for level #%d.', [i+1]), mtError, [mbOK], 0);
exit;
end;
if UBounds[i] = -1 then begin
MessageDlg(Format('Upper bound not specified for level #%d.', [i+1]), mtError, [mbOk], 0);
exit;
end;
if LBounds[i] > UBounds[i] then begin
MessageDlg(Format('Upper bound must be larger than the lower bound (level #%d).', [i+1]), mtError, [mbOK], 0);
exit;
end;
end;
lReport := TStringList.Create; lReport := TStringList.Create;
try try
lReport.Add('POLYTOMOUS ITEM DIF ANALYSIS'); lReport.Add('POLYTOMOUS ITEM DIF ANALYSIS');

View File

@@ -694,6 +694,9 @@ object OS3MainFrm: TOS3MainFrm
Caption = 'Generate Sample Test Data' Caption = 'Generate Sample Test Data'
OnClick = MenuItem92Click OnClick = MenuItem92Click
end end
object MenuItem50: TMenuItem
Caption = '-'
end
object MenuItem93: TMenuItem object MenuItem93: TMenuItem
Caption = 'Classical Test Analysis' Caption = 'Classical Test Analysis'
OnClick = MenuItem93Click OnClick = MenuItem93Click
@@ -726,6 +729,9 @@ object OS3MainFrm: TOS3MainFrm
Caption = 'Reliability Due to Test Variance Change' Caption = 'Reliability Due to Test Variance Change'
OnClick = MenuItem100Click OnClick = MenuItem100Click
end end
object MenuItem47: TMenuItem
Caption = '-'
end
object MenuItem101: TMenuItem object MenuItem101: TMenuItem
Caption = 'Differential Item Functioning' Caption = 'Differential Item Functioning'
OnClick = MenuItem101Click OnClick = MenuItem101Click

View File

@@ -97,8 +97,10 @@ type
MenuItem45: TMenuItem; MenuItem45: TMenuItem;
MenuItem46: TMenuItem; MenuItem46: TMenuItem;
LicenseMenu: TMenuItem; LicenseMenu: TMenuItem;
MenuItem47: TMenuItem;
MenuItem48: TMenuItem; MenuItem48: TMenuItem;
MenuItem49: TMenuItem; MenuItem49: TMenuItem;
MenuItem50: TMenuItem;
SimpChiSqr: TMenuItem; SimpChiSqr: TMenuItem;
SRHItem: TMenuItem; SRHItem: TMenuItem;
OneCaseAnova: TMenuItem; OneCaseAnova: TMenuItem;

View File

@@ -60,7 +60,6 @@ object GraphFrm: TGraphFrm
BorderSpacing.Left = 12 BorderSpacing.Left = 12
Caption = 'Return' Caption = 'Return'
ModalResult = 1 ModalResult = 1
OnClick = ReturnBtnClick
TabOrder = 2 TabOrder = 2
end end
object SaveBtn: TButton object SaveBtn: TButton

View File

@@ -24,7 +24,6 @@ type
procedure FormActivate(Sender: TObject); procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure PrintBtnClick(Sender: TObject); procedure PrintBtnClick(Sender: TObject);
procedure ReturnBtnClick(Sender: TObject);
procedure SaveBtnClick(Sender: TObject); procedure SaveBtnClick(Sender: TObject);
private private
{ private declarations } { private declarations }
@@ -230,11 +229,6 @@ begin
end; end;
end; end;
procedure TGraphFrm.ReturnBtnClick(Sender: TObject);
begin
Close;
end;
procedure TGraphFrm.SaveBtnClick(Sender: TObject); procedure TGraphFrm.SaveBtnClick(Sender: TObject);
VAR VAR
response : string; response : string;