Class EPxMaskError (unit dnPxMask)

Inherits from

EDBEditError

**************************************************************************** Copyright © 1997/98 Dieter Nöth version : 2.01 date : 11.04.1998 description: This unit implements Paradox-style Inputmasks: most of the validation-code of Inputmasks is based upon Borland's VALIDATE.PAS Unit (© 1992 Borland International) from Borland Pascal 7, i don't know why they dropped it from VCL... Bugs fixed: 1.03 : Borland's masks have a 'feature', which caused errors: there may be empty choices in groups (without meaning), e.g. ,, or *[&[*?]*[{#, ,.,;,,;;,:,;[,;],(,),}]] ^ <-- Paradox works fine with this, but my PxMask crashed sometimes. I couldn't fix this, so i decided to remove all unnecessary commas, when setting the mask :-) 1.02 : Borland's example input mask (from DBD) *[&[*?]*[{#, ,.,;,,;;,:,;[,;],(,),}]] (capitalized words) allowed only ONE word to be entered. Yes, I should have tried at least the example masks, but I did it once and then I found a bug in Borland's Iteration function causing infinite loops in iterations (without a number) containing groups.... I thought, I fixed it, but this fix caused this new problem... There still may be some combinations of groups and iterations that will cause an infinite loop. So, if your running your program from within Delphi and it hangs while typing in a TPxMaskEdit, set a breakpoint in function Iteration and stop your program. If this happens within the PxMask-property editor you'll have to kill Delphi ;-). Before You send me an email complaining about this, please try to follow all those recursive calls with debugger (and remember, that part of code wasn't written by Borland, not me), maybe YOU'll fix it. If You don't, I'll try my best. Changes: 2.00: Put most of the PxMask-code in a class, so it's easier to maintain the code and create components with a PxMask, BUT now the properties changed: PxMask is now an CLASS-property NOT a string: AutoFill, AutoValidate, RaiseInputError, PxMask, ErrorMessage are now properties of that class. So you'll have to change your project-source, sorry for the inconvenience... 1.03: Changed strings in english RES-file to be equivalent to those in DBD32: SPxMaskIllegalString, "The field value fails picture validity check" SPxMaskIllegalChar, "Illegal character for picture validation" added new error string, if input string is valid, but not yet complete: SPxMaskInputIncomplete, "Input OK, but not complete" new property ErrorText: string; You may include the PxMask by inserting '%MASK%', which is replaced with the actual PxMask, e.g. 'Input does not confirm to picture: %MASK%'. This means, if you want to make this the standard behaviour, you may change the default-strings SPxMaskIllegalString/SPxMaskIllegalChar in the RES-file. You may also include %ERROR% in a customised ErrorMessage, this includes the original ErrorMessage. 1.02 : Testing an input mask in DBD32 I noticed, that there's a new special char: ---> ~ <--- lower case Char and, of course, I implemented it. If You don't want to use this new feature, you may comment out that part in function Scan

Constructors



Functions

Properties

Events

Variables

ErrorCode : integer;



Constructors


Functions


Properties


Events


Variables


ErrorCode : integer;