home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk14 / doc.pak / MASK.INT < prev    next >
Encoding:
Text File  |  1995-08-24  |  3.9 KB  |  130 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {       Delphi Visual Component Library                 }
  4. {                                                       }
  5. {       Copyright (c) 1995 Borland International        }
  6. {                                                       }
  7. {*******************************************************}
  8.  
  9. unit Mask;
  10.  
  11. interface
  12.  
  13. uses WinTypes, SysUtils, Classes, StdCtrls, Controls, Messages,
  14.   Forms, Graphics, Menus;
  15.  
  16. const
  17.   DefaultBlank: Char = '_';
  18.   MaskFieldSeparator: Char = ';';
  19.   MaskNoSave: Char = '0';
  20.  
  21.   mDirReverse = '!';         { removes leading blanks if true, else trailing blanks}
  22.   mDirUpperCase = '>';       { all chars that follow to upper case }
  23.   mDirLowerCase = '<';       { all chars that follow to lower case }
  24.                              { '<>' means remove casing directive }
  25.   mDirLiteral = '\';         { char that immediately follows is a literal }
  26.  
  27.   mMskAlpha = 'L';           { in US = A-Z,a-z }
  28.   mMskAlphaOpt = 'l';
  29.   mMskAlphaNum = 'A';        { in US = A-Z,a-z,0-9 }
  30.   mMskAlphaNumOpt  = 'a';
  31.   mMskAscii = 'C';           { any character}
  32.   mMskAsciiOpt = 'c';
  33.   mMskNumeric = '0';         { 0-9, no plus or minus }
  34.   mMskNumericOpt = '9';
  35.   mMskNumSymOpt = '#';       { 0-9, plus and minus }
  36.  
  37.    { intl literals }
  38.   mMskTimeSeparator = ':';
  39.   mMskDateSeparator = '/';
  40.  
  41.  
  42. type
  43. { Exception class }
  44.   EDBEditError = class(Exception);
  45.  
  46. { TCustomMaskEdit }
  47.  
  48.   TCustomMaskEdit = class(TCustomEdit)
  49.   protected
  50.     procedure ReformatText(const NewMask: string);
  51.     procedure GetSel(var SelStart: Integer; var SelStop: Integer);
  52.     procedure SetSel(SelStart: Integer; SelStop: Integer);
  53.     procedure SetCursor(Pos: Integer);
  54.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  55.     procedure KeyUp(var Key: Word; Shift: TShiftState); override;
  56.     procedure KeyPress(var Key: Char); override;
  57.     function EditCanModify: Boolean; virtual;
  58.     function GetFirstEditChar: Integer;
  59.     function GetLastEditChar: Integer;
  60.     function GetNextEditChar(Offset: Integer): Integer;
  61.     function GetPriorEditChar(Offset: Integer): Integer;
  62.     function GetMaxChars: Integer;
  63.     procedure ValidateError;
  64.     procedure CheckCursor;
  65.     property EditMask: string;
  66.     property MaskState: TMaskedState;
  67.     property MaxLength: Integer;
  68.   public
  69.     constructor Create(AOwner: TComponent); override;
  70.     destructor Destroy; override;
  71.     procedure ValidateEdit;
  72.     procedure Clear;
  73.     function GetTextLen: Integer;
  74.     property IsMasked: Boolean;
  75.     property EditText: string;
  76.     property Text: string;
  77.   end;
  78.  
  79. { TMaskEdit }
  80.  
  81.   TMaskEdit = class(TCustomMaskEdit)
  82.   published
  83.     property AutoSelect;
  84.     property AutoSize;
  85.     property BorderStyle;
  86.     property CharCase;
  87.     property Color;
  88.     property Ctl3D;
  89.     property DragCursor;
  90.     property DragMode;
  91.     property Enabled;
  92.     property EditMask;
  93.     property Font;
  94.     property MaxLength;
  95.     property ParentColor;
  96.     property ParentCtl3D;
  97.     property ParentFont;
  98.     property ParentShowHint;
  99.     property PasswordChar;
  100.     property PopupMenu;
  101.     property ReadOnly;
  102.     property ShowHint;
  103.     property TabOrder;
  104.     property TabStop;
  105.     property Text;
  106.     property Visible;
  107.     property OnChange;
  108.     property OnClick;
  109.     property OnDblClick;
  110.     property OnDragDrop;
  111.     property OnDragOver;
  112.     property OnEndDrag;
  113.     property OnEnter;
  114.     property OnExit;
  115.     property OnKeyDown;
  116.     property OnKeyPress;
  117.     property OnKeyUp;
  118.     property OnMouseDown;
  119.     property OnMouseMove;
  120.     property OnMouseUp;
  121.   end;
  122.  
  123. function FormatMaskText(const EditMask: string; const Value: string): string;
  124. function MaskGetMaskSave(const EditMask: string): Boolean;
  125. function MaskGetMaskBlank(const EditMask: string): Char;
  126. function MaskGetFldSeparator(const EditMask: string): Integer;
  127.  
  128.  
  129. implementation
  130.