[Overview][Constants][Types][Classes][Procedures and functions][Index] Reference for unit 'Masks' (#lazutils)

TWindowsMaskUTF8.Compile

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

Declaration

Source position: masks.pas line 283

public procedure TWindowsMaskUTF8.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

TWindowsMaskUTF8.Quirks

  

Contains the TWindowsQuirk enumeration values for file system quirks enabled in the class instance.

TWindowsQuirks

  

Set type used to store values from the TWindowsQuirk enumeration.

TWindowsQuirk

  

Represents types of Windows-specific quirks for file and directory masks.

TMaskUTF8.Mask

  

Mask expression used to match files or directories in the class instance.

TMaskUTF8.Compile

  

Examines the mask expression and creates a list of op codes.

TMaskBase.CaseSensitive

  

Indicates if the mask expression is case sensitive.

TMaskBase.AutoReverseRange

  

Indicates if a range expression is automatically reversed when the starting value is larger than the ending value.

TMaskBase.EscapeChar

  

Contains the character used to escape the following character in a mask expression.

TMaskBase.MaskOpCodes

  

Contains the set of mask op codes enabled for the class instance.


Version 4.0 Generated 2025-05-03 Home