Sign in Join
FPDoc Onlineexperiment

TWindowsMaskUTF8.Compile procedure

Member of TWindowsMaskUTF8publicIn unit Masks

Examines and converts the mask expression into a list of op codes.

Declaration

pascal
procedure Compile; override

Description

Compile is an overridden method used to examine and convert values from the Mask property into TMaskParsedCode values for the positions in the mask expression. It provides support for Windows-specific quirks that enabled in the class instance using the Quirks property.

CaseSensitive indicates if case is significant for the value in Mask. Mask is converted to lowercase prior to processing in the method when CaseSensitive is set to False.

Compile examines each of the UTF-8 codepoints in Mask, and adds TMaskParsedCode values when the specific mask op codes are included in the MaskOpCodes property. The value in Mask is decomposed into file name and extension component values that are used in the method. These temporary values may be altered when particular quirks are enabled and encountered in the Mask expression. The modified values are applied to the Mask property prior to calling the inherited Compile method.

Compile may raise an exception when an invalid or incomplete mask is encountered. The Compile method is called again with the same value in Mask, is simply returns False rather than re-raise the exception.

Compile is called from the Matches method when it has not already been compiled.

See also

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.