Sign in Join
Wiki copytemporary

CAPTCHA: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1+## Contents
2+
3+ * 1 About
4+ * 1.1 Author
5+ * 1.2 License
6+ * 2 Description
7+ * 2.1 Methods
8+ * 2.2 Properties
9+ * 3 Installation
10+ * 3.1 Development version
11+ * 3.2 Release version
12+
113## About
214
3-![CAPTCHA simple demo](/wiki-images/f/f6/CAPTCHA_simple_demo.png) According to [wikipedia](https://en.wikipedia.org/wiki/CAPTCHA), *a **CAPTCHA** (a contrived acronym for "<b>C</b>ompletely <b>A</b>utomated <b>P</b>ublic <b>T</b>uring test to tell <b>C</b>omputers and <b>H</b>umans <b>A</b>part") is a type of challenge–response test used in computing to determine whether or not the user is human*.
15+[![CAPTCHA simple demo](/wiki-images/f/f6/CAPTCHA_simple_demo.png)](</File:CAPTCHA_simple_demo.png> "CAPTCHA simple demo")
416
5-The component `TCaptchaLabel` allows to create a CAPTCHA to be used on any LCL form. It displays random characters which are colored and rotated and overlayed by colored lines to impede machine detection of the CAPTCHA text.
17+According to [wikipedia](<https://en.wikipedia.org/wiki/CAPTCHA>), _a**CAPTCHA** (a contrived acronym for "**C** ompletely **A** utomated **P** ublic **T** uring test to tell **C** omputers and **H** umans **A** part") is a type of challenge–response test used in computing to determine whether or not the user is human_.
618
19+The component `TCaptchaLabel` allows to create a CAPTCHA to be used on any LCL form. It displays random characters which are colored and rotated and overlayed by colored lines to impede machine detection of the CAPTCHA text.
20+
721### Author
822
9-Werner Pamler
23+Werner Pamler
1024
1125### License
1226
13-Modified LGPL (with linking exception), like Lazarus LCL. See the file COPYING.modifiedLGPL.txt, included in the Lazarus distribution, for details about the license.
27+Modified LGPL (with linking exception), like Lazarus LCL. See the file COPYING.modifiedLGPL.txt, included in the Lazarus distribution, for details about the license.
1428
1529## Description
1630
17-`TCaptchaLabel` descends from `TGraphicControl` and contains its own drawing routine. Just place it on the form and use it. It displays a random string with rotated characters and overlaid lines.
31+`TCaptchaLabel` descends from `TGraphicControl` and contains its own drawing routine. Just place it on the form and use it. It displays a random string with rotated characters and overlaid lines.
1832
1933### Methods
2034
21-- <b>`function`</b>` Verify(`<b>`const`</b>` AText: String): Boolean` - Compares whether the user-provided string `AText` matches the CAPTCHA string and returns `true` in case of an agreement, or `false` otherwise.
22-- <b>`procedure`</b>` NewCaptcha` - Generates and displays a new CAPTCHA string
35+ * `**function** Verify(**const** AText: String): Boolean` \- Compares whether the user-provided string `AText` matches the CAPTCHA string and returns `true` in case of an agreement, or `false` otherwise.
36+ * `**procedure** NewCaptcha` \- Generates and displays a new CAPTCHA string
2337
2438### Properties
2539
26-- `Text: String` - CAPTCHA string. The characters of the string are selected randomly from the `UpperCaseChars`, `LowerCaseChars`, `NumericChars` and/or `CustomChars`.
27-- `NumChars: Integer` - Number of characters in the CAPTCHA, i.e. length of `Text`
28-- `NumLines: Integer` - Number of lines drawn over the CAPTCHA
29-- `Font1, Font2: TFont` - Two fonts to be mixed within the CAPTCHA characters randomly
30-- `MaxAngle: Integer` - Maximum rotation angle (in degrees) for the characters which are rotated by a random angle between `-MaxAngle` and `+MaxAngle`
31-- `Color: TColor` - Background color of the area of the control covered by the CAPTCHA. Character and line colors are selected such that a minimum brightness difference to the background color is achieved.
32-- `UpperCaseChars: String` - Contains the characters among which upper-case characters in the CAPTCHA are selected randomly. UTF8 encoding is supported as usual (and like for the following strings)
33-- `LowerCaseChars: String` - Contains the characters among which lower-case characters in the CAPTCHA are selected randomly
34-- `NumericChars: String` - Contains the numeric characters characters for the CAPTCHA
35-- `CustomChars: String` - Contains non-alpha and non-numeric characters for the CAPTCHA
36-- `Options: TCaptchaOptions` - This is a set of the following enumerated options which can be combined:
37- - `coAlphaUpper` - Use upper-case characters as defined by the the `UppercaseChars` string\
38- Note: The characters which are hard to distinguish are skipped, O (upper-case o) vs 0 (zero), l (lower-case L) vs I (upper-case I)
39- - `coAlphaLower` - Use lower-case characters as defined by the `LowercaseChars` string
40- - `coNumeric` - Use numeric characters as defined by the `NumericChars` string
41- - `coCustom` - Use special characters as defined by the `CustomChars` string
42- - `coRotated` - Characters are rotated
43- - `coFont1` - Font1 is used
44- - `coFont2` - Font2 is used
45- - `coLines` - Lines are drawn over the CAPTCHA
46-- `NewCaptchaEvent: TNewCaptchaEvent` - Enumerated property which determines a short-cut how to create a new CAPTCHA string at runtime:
47- - `nceNone` - Feature is deactivated; CAPTCHA can only be changed by code.
48- - `nceClick` - A new CAPTCHA is created when the user clicks on the control
49- - `nceDblClick` - A new CAPTCHA is created when the user double-clicks on the control.
40+ * `Text: String` \- CAPTCHA string. The characters of the string are selected randomly from the `UpperCaseChars`, `LowerCaseChars`, `NumericChars` and/or `CustomChars`.
41+ * `NumChars: Integer` \- Number of characters in the CAPTCHA, i.e. length of `Text`
42+ * `NumLines: Integer` \- Number of lines drawn over the CAPTCHA
43+ * `Font1, Font2: TFont` \- Two fonts to be mixed within the CAPTCHA characters randomly
44+ * `MaxAngle: Integer` \- Maximum rotation angle (in degrees) for the characters which are rotated by a random angle between `-MaxAngle` and `+MaxAngle`
45+ * `Color: TColor` \- Background color of the area of the control covered by the CAPTCHA. Character and line colors are selected such that a minimum brightness difference to the background color is achieved.
46+ * `UpperCaseChars: String` \- Contains the characters among which upper-case characters in the CAPTCHA are selected randomly. UTF8 encoding is supported as usual (and like for the following strings)
47+ * `LowerCaseChars: String` \- Contains the characters among which lower-case characters in the CAPTCHA are selected randomly
48+ * `NumericChars: String` \- Contains the numeric characters characters for the CAPTCHA
49+ * `CustomChars: String` \- Contains non-alpha and non-numeric characters for the CAPTCHA
50+ * `Options: TCaptchaOptions` \- This is a set of the following enumerated options which can be combined:
51+ * `coAlphaUpper` \- Use upper-case characters as defined by the the `UppercaseChars` string
52+Note: The characters which are hard to distinguish are skipped, O (upper-case o) vs 0 (zero), l (lower-case L) vs I (upper-case I)
53+ * `coAlphaLower` \- Use lower-case characters as defined by the `LowercaseChars` string
54+ * `coNumeric` \- Use numeric characters as defined by the `NumericChars` string
55+ * `coCustom` \- Use special characters as defined by the `CustomChars` string
56+ * `coRotated` \- Characters are rotated
57+ * `coFont1` \- Font1 is used
58+ * `coFont2` \- Font2 is used
59+ * `coLines` \- Lines are drawn over the CAPTCHA
60+ * `NewCaptchaEvent: TNewCaptchaEvent` \- Enumerated property which determines a short-cut how to create a new CAPTCHA string at runtime:
61+ * `nceNone` \- Feature is deactivated; CAPTCHA can only be changed by code.
62+ * `nceClick` \- A new CAPTCHA is created when the user clicks on the control
63+ * `nceDblClick` \- A new CAPTCHA is created when the user double-clicks on the control.
5064
5165## Installation
5266
5367### Development version
5468
55-The development version (aka trunk) is available at <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/captcha/>. Download the package using svn or get the zipped *snapshot* version.
69+The development version (aka trunk) is available at <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/captcha/>. Download the package using svn or get the zipped _snapshot_ version.
5670
57-Load the package file **captcha_pkg.lpk** into the Lazarus Package Editor and click *"Use"* \> *"Install"* to rebuild the Lazarus IDE. When Lazarus restarts you find the new component in the palette *"Misc"*.
71+Load the package file **captcha_pkg.lpk** into the Lazarus Package Editor and click _"Use"_ > _"Install"_ to rebuild the Lazarus IDE. When Lazarus restarts you find the new component in the palette _"Misc"_.
5872
5973### Release version
6074
61-The stable release version is distributed via the [[Online Package Manager|Online-Package-Manager (OPM)]]: Check the item "Captcha" in the OPM list, click "Install" and confirm the prompt to rebuild the IDE.
75+The stable release version is distributed via the [[Online Package Manager|**Online-Package-Manager (OPM)**]]: Check the item "Captcha" in the OPM list, click "Install" and confirm the prompt to rebuild the IDE.
6276
6377---
64-*From the Free Pascal wiki, page "CAPTCHA", as it stood on 2021-10-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
78+*From the Free Pascal wiki, page "CAPTCHA", as the Internet Archive kept it on 2023-09-24. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history