You've already forked lazarus-ccr
419 lines
11 KiB
Plaintext
419 lines
11 KiB
Plaintext
![]() |
object DemoForm: TDemoForm
|
||
|
Left = 285
|
||
|
Height = 385
|
||
|
Top = 131
|
||
|
Width = 693
|
||
|
AutoSize = True
|
||
|
Caption = 'Captcha Demo'
|
||
|
ClientHeight = 385
|
||
|
ClientWidth = 693
|
||
|
OnCreate = FormCreate
|
||
|
LCLVersion = '2.3.0.0'
|
||
|
object SettingsPanel: TPanel
|
||
|
Left = 16
|
||
|
Height = 239
|
||
|
Top = 130
|
||
|
Width = 661
|
||
|
Align = alBottom
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Around = 16
|
||
|
BevelOuter = bvNone
|
||
|
ClientHeight = 239
|
||
|
ClientWidth = 661
|
||
|
TabOrder = 1
|
||
|
object clbBackgroundColor: TColorBox
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = SettingsPanel
|
||
|
AnchorSideRight.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 22
|
||
|
Top = 0
|
||
|
Width = 123
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
DropDownCount = 32
|
||
|
ItemHeight = 16
|
||
|
OnChange = clbBackgroundColorChange
|
||
|
TabOrder = 0
|
||
|
end
|
||
|
object lblBackgroundColor: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = clbBackgroundColor
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 4
|
||
|
Width = 94
|
||
|
Caption = 'Background color'
|
||
|
end
|
||
|
object lblMaxAngle: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = seMaxAngle
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 30
|
||
|
Width = 55
|
||
|
Caption = 'Max angle'
|
||
|
end
|
||
|
object seMaxAngle: TSpinEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = clbBackgroundColor
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 26
|
||
|
Width = 123
|
||
|
Alignment = taRightJustify
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
Increment = 5
|
||
|
MaxValue = 90
|
||
|
OnChange = seMaxAngleChange
|
||
|
TabOrder = 1
|
||
|
end
|
||
|
object cgOptions: TCheckGroup
|
||
|
AnchorSideLeft.Control = clbBackgroundColor
|
||
|
AnchorSideLeft.Side = asrBottom
|
||
|
AnchorSideTop.Control = SettingsPanel
|
||
|
Left = 260
|
||
|
Height = 103
|
||
|
Top = 0
|
||
|
Width = 418
|
||
|
AutoFill = True
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Left = 24
|
||
|
Caption = 'Options'
|
||
|
ChildSizing.LeftRightSpacing = 16
|
||
|
ChildSizing.TopBottomSpacing = 6
|
||
|
ChildSizing.HorizontalSpacing = 12
|
||
|
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||
|
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||
|
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||
|
ChildSizing.ShrinkVertical = crsScaleChilds
|
||
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||
|
ChildSizing.ControlsPerLine = 4
|
||
|
ClientHeight = 83
|
||
|
ClientWidth = 414
|
||
|
Columns = 4
|
||
|
Items.Strings = (
|
||
|
'Alpha uppercase'
|
||
|
'Alpha lowercase'
|
||
|
'Numeric'
|
||
|
'Custom'
|
||
|
'Rotated'
|
||
|
'Font 1'
|
||
|
'Font 2'
|
||
|
'Lines'
|
||
|
)
|
||
|
OnItemClick = cgOptionsItemClick
|
||
|
TabOrder = 4
|
||
|
Data = {
|
||
|
080000000202020202020202
|
||
|
}
|
||
|
object Label6: TLabel
|
||
|
Left = 16
|
||
|
Height = 25
|
||
|
Top = 52
|
||
|
Width = 108
|
||
|
Caption = ' '
|
||
|
end
|
||
|
object btnFont1: TButton
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
Left = 136
|
||
|
Height = 25
|
||
|
Top = 52
|
||
|
Width = 70
|
||
|
AutoSize = True
|
||
|
Caption = 'Font 1...'
|
||
|
Constraints.MaxWidth = 70
|
||
|
OnClick = btnFont1Click
|
||
|
TabOrder = 0
|
||
|
end
|
||
|
object btnFont2: TButton
|
||
|
AnchorSideLeft.Side = asrBottom
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
Left = 254
|
||
|
Height = 25
|
||
|
Top = 52
|
||
|
Width = 70
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Left = 8
|
||
|
BorderSpacing.Top = 8
|
||
|
Caption = 'Font 2...'
|
||
|
Constraints.MaxWidth = 70
|
||
|
Constraints.MinWidth = 70
|
||
|
OnClick = btnFont2Click
|
||
|
TabOrder = 1
|
||
|
end
|
||
|
end
|
||
|
object lblCharCount: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = seCharCount
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 57
|
||
|
Width = 88
|
||
|
Caption = 'Character count:'
|
||
|
end
|
||
|
object seCharCount: TSpinEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = seMaxAngle
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 53
|
||
|
Width = 123
|
||
|
Alignment = taRightJustify
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
MaxValue = 90
|
||
|
OnChange = seCharCountChange
|
||
|
TabOrder = 2
|
||
|
end
|
||
|
object lblLinesCount: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = seLinesCount
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 84
|
||
|
Width = 61
|
||
|
Caption = 'Lines count'
|
||
|
end
|
||
|
object seLinesCount: TSpinEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = seCharCount
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 80
|
||
|
Width = 123
|
||
|
Alignment = taRightJustify
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
MaxValue = 90
|
||
|
OnChange = seLinesCountChange
|
||
|
TabOrder = 3
|
||
|
end
|
||
|
object cmbNewCaptchaEvent: TComboBox
|
||
|
AnchorSideLeft.Control = Label1
|
||
|
AnchorSideLeft.Side = asrBottom
|
||
|
AnchorSideTop.Control = seLinesCount
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = seLinesCount
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 107
|
||
|
Width = 123
|
||
|
BorderSpacing.Left = 12
|
||
|
BorderSpacing.Top = 4
|
||
|
ItemHeight = 15
|
||
|
ItemIndex = 0
|
||
|
Items.Strings = (
|
||
|
'none'
|
||
|
'Click'
|
||
|
'Double Click'
|
||
|
)
|
||
|
OnChange = cmbNewCaptchaEventChange
|
||
|
TabOrder = 5
|
||
|
Text = 'none'
|
||
|
end
|
||
|
object Label1: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 111
|
||
|
Width = 101
|
||
|
Caption = 'New captcha event'
|
||
|
end
|
||
|
object edUppercaseChars: TEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideRight.Control = cgOptions
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 135
|
||
|
Width = 565
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
OnChange = edUppercaseCharsChange
|
||
|
TabOrder = 6
|
||
|
TextHint = 'Upper-case characters to be used'
|
||
|
end
|
||
|
object Label2: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = edUppercaseChars
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 139
|
||
|
Width = 60
|
||
|
Caption = 'Upper-case'
|
||
|
end
|
||
|
object Label3: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = edLowercaseChars
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 166
|
||
|
Width = 60
|
||
|
Caption = 'Lower-case'
|
||
|
end
|
||
|
object edLowercaseChars: TEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = edUppercaseChars
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cgOptions
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 162
|
||
|
Width = 565
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
OnChange = edLowercaseCharsChange
|
||
|
TabOrder = 7
|
||
|
TextHint = 'Lower-case characters to be used'
|
||
|
end
|
||
|
object Label4: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = edNumericChars
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 193
|
||
|
Width = 77
|
||
|
Caption = 'Numeric chars'
|
||
|
end
|
||
|
object edNumericChars: TEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = edLowercaseChars
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cgOptions
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 189
|
||
|
Width = 565
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
OnChange = edNumericCharsChange
|
||
|
TabOrder = 8
|
||
|
TextHint = 'Numeric characters'
|
||
|
end
|
||
|
object Label5: TLabel
|
||
|
AnchorSideLeft.Control = SettingsPanel
|
||
|
AnchorSideTop.Control = edCustomChars
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
Left = 0
|
||
|
Height = 15
|
||
|
Top = 220
|
||
|
Width = 95
|
||
|
Caption = 'Any custom chars'
|
||
|
end
|
||
|
object edCustomChars: TEdit
|
||
|
AnchorSideLeft.Control = cmbNewCaptchaEvent
|
||
|
AnchorSideTop.Control = edNumericChars
|
||
|
AnchorSideTop.Side = asrBottom
|
||
|
AnchorSideRight.Control = cgOptions
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 113
|
||
|
Height = 23
|
||
|
Top = 216
|
||
|
Width = 565
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Top = 4
|
||
|
OnChange = edCustomCharsChange
|
||
|
TabOrder = 9
|
||
|
TextHint = 'Any other characters to be included'
|
||
|
end
|
||
|
end
|
||
|
object gbVerify: TGroupBox
|
||
|
Left = 16
|
||
|
Height = 69
|
||
|
Top = 25
|
||
|
Width = 661
|
||
|
Align = alBottom
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Around = 16
|
||
|
Caption = 'Enter CAPTCHA code'
|
||
|
ClientHeight = 49
|
||
|
ClientWidth = 657
|
||
|
TabOrder = 0
|
||
|
object edTestCode: TEdit
|
||
|
AnchorSideLeft.Control = gbVerify
|
||
|
AnchorSideTop.Control = gbVerify
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
AnchorSideRight.Control = btnVerify
|
||
|
Left = 16
|
||
|
Height = 23
|
||
|
Top = 13
|
||
|
Width = 472
|
||
|
Anchors = [akTop, akLeft, akRight]
|
||
|
BorderSpacing.Left = 16
|
||
|
TabOrder = 0
|
||
|
TextHint = 'Enter the CAPTCHA code here'
|
||
|
end
|
||
|
object btnVerify: TButton
|
||
|
AnchorSideLeft.Control = edTestCode
|
||
|
AnchorSideLeft.Side = asrBottom
|
||
|
AnchorSideTop.Control = gbVerify
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
AnchorSideRight.Control = btnTryAgain
|
||
|
Left = 500
|
||
|
Height = 25
|
||
|
Top = 12
|
||
|
Width = 56
|
||
|
Anchors = [akTop, akRight]
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Left = 12
|
||
|
BorderSpacing.Right = 8
|
||
|
BorderSpacing.Bottom = 12
|
||
|
Caption = 'Verify'
|
||
|
OnClick = btnVerifyClick
|
||
|
TabOrder = 1
|
||
|
end
|
||
|
object btnTryAgain: TButton
|
||
|
AnchorSideTop.Control = gbVerify
|
||
|
AnchorSideTop.Side = asrCenter
|
||
|
AnchorSideRight.Control = gbVerify
|
||
|
AnchorSideRight.Side = asrBottom
|
||
|
Left = 564
|
||
|
Height = 25
|
||
|
Top = 12
|
||
|
Width = 77
|
||
|
Anchors = [akTop, akRight]
|
||
|
AutoSize = True
|
||
|
BorderSpacing.Right = 16
|
||
|
Caption = 'Try again!'
|
||
|
OnClick = btnTryAgainClick
|
||
|
TabOrder = 2
|
||
|
end
|
||
|
end
|
||
|
object Bevel1: TBevel
|
||
|
Left = 0
|
||
|
Height = 4
|
||
|
Top = 110
|
||
|
Width = 693
|
||
|
Align = alBottom
|
||
|
Shape = bsBottomLine
|
||
|
end
|
||
|
object FontDialog: TFontDialog
|
||
|
MinFontSize = 0
|
||
|
MaxFontSize = 0
|
||
|
Left = 496
|
||
|
Top = 288
|
||
|
end
|
||
|
end
|