TAvgLvlTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TAvgLvlTree - an Average Level binary Tree

Declaration

Source position: avglvltree.pas line 38

type TAvgLvlTree = class(TAvlTree)
public
constructor CreateObjectCompare(); |
procedure DisposeNode(); override; |
procedure FreeAndDelete(); override; |
property OwnsObjects: Boolean; [rw] |
property OnObjectCompare: TAvgLvlObjectSortCompare; [rw] | Same as OnCompare, but with a method instead of a procedure.
end;

Inheritance

TAvgLvlTree

TAvgLvlTree - an Average Level binary Tree

|

TAvlTree
?

TObject

Description

TAvgLvlTree is an Average Level binary Tree. This binary tree is always balanced, so that inserting, deleting and finding a node is performed in O(log(#Nodes))

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TAvgLvlTree

OwnsObjects


TAvgLvlTree
 | CreateObjectCompare
 | DisposeNode
 | FreeAndDelete


TAvgLvlTree

OnObjectCompare


TAvgLvlTree.CreateObjectCompare

Declaration

Source position: avglvltree.pas line 44

public constructor TAvgLvlTree.CreateObjectCompare(

  const OnCompareMethod: TAvgLvlObjectSortCompare

);


TAvgLvlTree.DisposeNode

Declaration

Source position: avglvltree.pas line 45

public procedure TAvgLvlTree.DisposeNode(

  aNode: TAVLTreeNode

); override;


TAvgLvlTree.FreeAndDelete

Declaration

Source position: avglvltree.pas line 46

public procedure TAvgLvlTree.FreeAndDelete(

  ANode: TAVLTreeNode

); override;


TAvgLvlTree.OnObjectCompare

Same as OnCompare, but with a method instead of a procedure.

Declaration

Source position: avglvltree.pas line 48

public property TAvgLvlTree.OnObjectCompare : TAvgLvlObjectSortCompare
  read GetObjectCompare
  write SetObjectCompare;


TAvgLvlTree.OwnsObjects

Declaration

Source position: avglvltree.pas line 47

public property TAvgLvlTree.OwnsObjects : Boolean
  read FOwnsObjects
  write FOwnsObjects;


TAvgLvlTreeClass

Declaration

Source position: avglvltree.pas line 50

type TAvgLvlTreeClass = class of TAvgLvlTree;


TAvgLvlTreeNode

TAvgLvlTreeNode - a node, the basic structural element of a TAvgLvlTree

Declaration

Source position: avglvltree.pas line 35

type TAvgLvlTreeNode = TAVLTreeNode;


TAvgLvlTreeNodeEnumerator

Declaration

Source position: avglvltree.pas line 36

type TAvgLvlTreeNodeEnumerator = TAVLTreeNodeEnumerator;


TCustomStringMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 156

type TCustomStringMap = class
protected
procedure DisposeItem(); virtual; |
function ItemsAreEqual(); virtual; |
function CreateCopy(); virtual; |
public
constructor Create(); |
destructor Destroy; override; | Destructor for the class instance
procedure Clear; virtual; |
function Contains(); |
procedure GetNames(); |
procedure Remove(); virtual; |
property CaseSensitive: Boolean; [r] |
property Tree: TAvlTree; [r] | Tree containing PStringMapItem pointers
function FindNode(); |
function Count; |
function Equals(); |
procedure Assign(); virtual; |
function CalcMemSize; virtual; |
property CompareItemsFunc: TListSortCompare; [r] |
property CompareKeyItemFunc: TListSortCompare; [r]
procedure SetCompareFuncs(); |
end;

Inheritance

TCustomStringMap

|

TObject


TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


ro | CaseSensitive (TCustomStringMap)
ro | CompareItemsFunc (TCustomStringMap)
ro | CompareKeyItemFunc (TCustomStringMap)
ro | Tree (TCustomStringMap)


TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Assign (TCustomStringMap)
 | CalcMemSize (TCustomStringMap)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
pt | CreateCopy (TCustomStringMap)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetNames (TCustomStringMap)
pt | ItemsAreEqual (TCustomStringMap)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TCustomStringMap


TCustomStringMap.Assign

Declaration

Source position: avglvltree.pas line 180

public procedure TCustomStringMap.Assign(

  Source: TCustomStringMap

); virtual;


TCustomStringMap.CalcMemSize

Declaration

Source position: avglvltree.pas line 181

public function TCustomStringMap.CalcMemSize: PtrUint; virtual;


TCustomStringMap.CaseSensitive

Declaration

Source position: avglvltree.pas line 175

public property TCustomStringMap.CaseSensitive : Boolean
  read FCaseSensitive;


TCustomStringMap.Clear

Declaration

Source position: avglvltree.pas line 171

public procedure TCustomStringMap.Clear; virtual;


TCustomStringMap.CompareItemsFunc

Declaration

Source position: avglvltree.pas line 182

public property TCustomStringMap.CompareItemsFunc : TListSortCompare
  read GetCompareItemsFunc;


TCustomStringMap.CompareKeyItemFunc

Declaration

Source position: avglvltree.pas line 183

public property TCustomStringMap.CompareKeyItemFunc : TListSortCompare
  read FCompareKeyItemFunc;


TCustomStringMap.Contains

Declaration

Source position: avglvltree.pas line 172

public function TCustomStringMap.Contains(

  const s: string

):Boolean;


TCustomStringMap.Count

Declaration

Source position: avglvltree.pas line 178

public function TCustomStringMap.Count: SizeInt;


TCustomStringMap.Create

Declaration

Source position: avglvltree.pas line 167

public constructor TCustomStringMap.Create(

  TheCaseSensitive: Boolean

);

constructor TCustomStringMap.Create(

  const ACompareItems: TListSortCompare;

  const ACompareNameWithItem: TListSortCompare;

  TheCaseSensitive: Boolean = False

);


TCustomStringMap.CreateCopy

Declaration

Source position: avglvltree.pas line 165

protected function TCustomStringMap.CreateCopy(

  Src: PStringMapItem

):PStringMapItem; virtual;


TCustomStringMap.Destroy

Destructor for the class instance

Declaration

Source position: avglvltree.pas line 170

public destructor TCustomStringMap.Destroy; override;


TCustomStringMap.DisposeItem

Declaration

Source position: avglvltree.pas line 163

protected procedure TCustomStringMap.DisposeItem(

  p: PStringMapItem

); virtual;


TCustomStringMap.Equals

Declaration

Source position: avglvltree.pas line 179

public function TCustomStringMap.Equals(

  OtherTree: TCustomStringMap

):Boolean;


TCustomStringMap.FindNode

Declaration

Source position: avglvltree.pas line 177

public function TCustomStringMap.FindNode(

  const s: string

):TAvlTreeNode;


TCustomStringMap.GetNames

Declaration

Source position: avglvltree.pas line 173

public procedure TCustomStringMap.GetNames(

  List: TStrings

);


TCustomStringMap.ItemsAreEqual

Declaration

Source position: avglvltree.pas line 164

protected function TCustomStringMap.ItemsAreEqual(

  p1: PStringMapItem;

  p2: PStringMapItem

):Boolean; virtual;


TCustomStringMap.Remove

Declaration

Source position: avglvltree.pas line 174

public procedure TCustomStringMap.Remove(

  const Name: string

); virtual;


TCustomStringMap.SetCompareFuncs

Declaration

Source position: avglvltree.pas line 184

public procedure TCustomStringMap.SetCompareFuncs(

  const NewCompareItemsFunc: TListSortCompare;

  const NewCompareKeyItemFunc: TListSortCompare

);


TCustomStringMap.Tree

Tree containing PStringMapItem pointers

Declaration

Source position: avglvltree.pas line 176

public property TCustomStringMap.Tree : TAvlTree
  read FTree;


TCustomStringMapEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 144

type TCustomStringMapEnumerator = class
protected
FTree: TAvlTree;
FCurrent: TAvlTreeNode;
public
constructor Create(); | Constructor for the class instance
function MoveNext; |
end;

Inheritance

TCustomStringMapEnumerator

|

TObject


TCustomStringMapEnumerator


TCustomStringMapEnumerator
 | Create
 | MoveNext


TCustomStringMapEnumerator.Create

Constructor for the class instance

Declaration

Source position: avglvltree.pas line 149

public constructor TCustomStringMapEnumerator.Create(

  Tree: TAvlTree

);


TCustomStringMapEnumerator.FCurrent

Declaration

Source position: avglvltree.pas line 147

protected TCustomStringMapEnumerator.FCurrent : TAvlTreeNode;


TCustomStringMapEnumerator.FTree

Declaration

Source position: avglvltree.pas line 146

protected TCustomStringMapEnumerator.FTree : TAvlTree;


TCustomStringMapEnumerator.MoveNext

Declaration

Source position: avglvltree.pas line 150

public function TCustomStringMapEnumerator.MoveNext: Boolean;


TFilenameToPointerTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 297

type TFilenameToPointerTree = class(TStringToPointerTree)

public

  constructor Create();

end;

Inheritance

TFilenameToPointerTree

|

TStringToPointerTree

|

TCustomStringMap

|

TObject


TFilenameToPointerTree
TStringToPointerTree
 |  | FreeValues
 |  | Values
TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


ro | CaseSensitive (TCustomStringMap)
ro | CompareItemsFunc (TCustomStringMap)
ro | CompareKeyItemFunc (TCustomStringMap)
 | FreeValues (TStringToPointerTree)
ro | Tree (TCustomStringMap)
 | Values (TStringToPointerTree)


TFilenameToPointerTree
 | Create
TStringToPointerTree
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | GetData
 | GetNodeData
 | GetEnumerator
TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Assign (TCustomStringMap)
 | CalcMemSize (TCustomStringMap)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
 | Create (TFilenameToPointerTree)
pt | CreateCopy (TCustomStringMap)
pt | CreateCopy (TStringToPointerTree)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
pt | DisposeItem (TStringToPointerTree)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetData (TStringToPointerTree)
 | GetEnumerator (TStringToPointerTree)
 | GetNames (TCustomStringMap)
 | GetNodeData (TStringToPointerTree)
pt | ItemsAreEqual (TCustomStringMap)
pt | ItemsAreEqual (TStringToPointerTree)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TFilenameToPointerTree

TStringToPointerTree

TCustomStringMap


TFilenameToPointerTree.Create

Declaration

Source position: avglvltree.pas line 299

public constructor TFilenameToPointerTree.Create(

  CaseInsensitive: Boolean

);


TFilenameToStringTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TStringToStringTree - an associative array of StringToString Items, or a tree of trees

Declaration

Source position: avglvltree.pas line 290

type TFilenameToStringTree = class(TStringToStringTree)

public

  constructor Create();

end;

Inheritance

TFilenameToStringTree | TStringToStringTree - an associative array of StringToString Items, or a tree of trees
|
TStringToStringTree |
|
TCustomStringMap |
|
TObject


TFilenameToStringTree
TStringToStringTree
 |  | Values
TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


ro | CaseSensitive (TCustomStringMap)
ro | CompareItemsFunc (TCustomStringMap)
ro | CompareKeyItemFunc (TCustomStringMap)
ro | Tree (TCustomStringMap)
 | Values (TStringToStringTree)


TFilenameToStringTree
 | Create
TStringToStringTree
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
pt | GetNode
 | GetString
 | Add
 | AddNameValues
 | AddNames
 | GetNodeData
 | AsText
 | Assign
 | CalcMemSize
 | GetEnumerator
 | GetFirst
 | GetLast
 | GetNext
 | GetPrev
TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Add (TStringToStringTree)
 | AddNames (TStringToStringTree)
 | AddNameValues (TStringToStringTree)
 | Assign (TCustomStringMap)
 | Assign (TStringToStringTree)
 | AsText (TStringToStringTree)
 | CalcMemSize (TCustomStringMap)
 | CalcMemSize (TStringToStringTree)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
 | Create (TFilenameToStringTree)
pt | CreateCopy (TCustomStringMap)
pt | CreateCopy (TStringToStringTree)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
pt | DisposeItem (TStringToStringTree)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetEnumerator (TStringToStringTree)
 | GetFirst (TStringToStringTree)
 | GetLast (TStringToStringTree)
 | GetNames (TCustomStringMap)
 | GetNext (TStringToStringTree)
pt | GetNode (TStringToStringTree)
 | GetNodeData (TStringToStringTree)
 | GetPrev (TStringToStringTree)
 | GetString (TStringToStringTree)
pt | ItemsAreEqual (TCustomStringMap)
pt | ItemsAreEqual (TStringToStringTree)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TFilenameToStringTree

TStringToStringTree

TCustomStringMap


TFilenameToStringTree.Create

Declaration

Source position: avglvltree.pas line 292

public constructor TFilenameToStringTree.Create(

  CaseInsensitive: Boolean

);


TIndexedAVLTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TAvgLvlTree - an Average Level binary Tree

Declaration

Source position: avglvltree.pas line 61

type TIndexedAVLTree = class(TAvgLvlTree)

protected

  fLastIndex: SizeInt;

  fLastNode: TIndexedAVLTreeNode;

  procedure DeletingNode(); override;

  procedure Init; override;

  procedure NodeAdded(); override;

  procedure RotateLeft(); override;

  procedure RotateRight(); override;

  procedure SwitchPositionWithSuccessor(); override;

public

  function GetNodeAtIndex();

  function NodeToIndex();

  function IndexOf();

  property Items []: Pointer; default; [r]

  procedure ConsistencyCheck; override;

  function NodeToReportStr(); override;

end;

Inheritance

TIndexedAVLTree | TAvgLvlTree - an Average Level binary Tree
|
TAvgLvlTree | TAvgLvlTree - an Average Level binary Tree
|
TAvlTree
?
TObject


TIndexedAVLTree
 | ro | Items
TAvgLvlTree
 |  | OwnsObjects


ro | Items (TIndexedAVLTree)
 | OwnsObjects (TAvgLvlTree)


TIndexedAVLTree
pt | DeletingNode
pt | Init
pt | NodeAdded
pt | RotateLeft
pt | RotateRight
pt | SwitchPositionWithSuccessor
 | GetNodeAtIndex
 | NodeToIndex
 | IndexOf
 | ConsistencyCheck
 | NodeToReportStr
TAvgLvlTree
 | CreateObjectCompare
 | DisposeNode
 | FreeAndDelete


pt | DeletingNode (TIndexedAVLTree)
 | DisposeNode (TAvgLvlTree)
 | FreeAndDelete (TAvgLvlTree)
 | GetNodeAtIndex (TIndexedAVLTree)
 | IndexOf (TIndexedAVLTree)
pt | Init (TIndexedAVLTree)
pt | NodeAdded (TIndexedAVLTree)
 | NodeToIndex (TIndexedAVLTree)
 | NodeToReportStr (TIndexedAVLTree)
pt | RotateLeft (TIndexedAVLTree)
pt | RotateRight (TIndexedAVLTree)
pt | SwitchPositionWithSuccessor (TIndexedAVLTree)


TIndexedAVLTree

TAvgLvlTree

OnObjectCompare


TIndexedAVLTree.ConsistencyCheck

Declaration

Source position: avglvltree.pas line 78

public procedure TIndexedAVLTree.ConsistencyCheck; override;


TIndexedAVLTree.DeletingNode

Declaration

Source position: avglvltree.pas line 67

protected procedure TIndexedAVLTree.DeletingNode(

  aNode: TAvlTreeNode

); override;


TIndexedAVLTree.fLastIndex

Declaration

Source position: avglvltree.pas line 65

protected TIndexedAVLTree.fLastIndex : SizeInt;


TIndexedAVLTree.fLastNode

Declaration

Source position: avglvltree.pas line 66

protected TIndexedAVLTree.fLastNode : TIndexedAVLTreeNode;


TIndexedAVLTree.GetNodeAtIndex

Declaration

Source position: avglvltree.pas line 74

public function TIndexedAVLTree.GetNodeAtIndex(

  Index: Integer

):TIndexedAVLTreeNode;


TIndexedAVLTree.IndexOf

Declaration

Source position: avglvltree.pas line 76

public function TIndexedAVLTree.IndexOf(

  Data: Pointer

):SizeInt;


TIndexedAVLTree.Init

Declaration

Source position: avglvltree.pas line 68

protected procedure TIndexedAVLTree.Init; override;


TIndexedAVLTree.Items

Declaration

Source position: avglvltree.pas line 77

public property TIndexedAVLTree.Items[Index: SizeInt] : Pointer
  read GetItems;
  default;


TIndexedAVLTree.NodeAdded

Declaration

Source position: avglvltree.pas line 69

protected procedure TIndexedAVLTree.NodeAdded(

  aNode: TAvlTreeNode

); override;


TIndexedAVLTree.NodeToIndex

Declaration

Source position: avglvltree.pas line 75

public function TIndexedAVLTree.NodeToIndex(

  Node: TAvlTreeNode

):SizeInt;


TIndexedAVLTree.NodeToReportStr

Declaration

Source position: avglvltree.pas line 79

public function TIndexedAVLTree.NodeToReportStr(

  aNode: TAvlTreeNode

):string; override;


TIndexedAVLTree.RotateLeft

Declaration

Source position: avglvltree.pas line 70

protected procedure TIndexedAVLTree.RotateLeft(

  aNode: TAvlTreeNode

); override;


TIndexedAVLTree.RotateRight

Declaration

Source position: avglvltree.pas line 71

protected procedure TIndexedAVLTree.RotateRight(

  aNode: TAvlTreeNode

); override;


TIndexedAVLTree.SwitchPositionWithSuccessor

Declaration

Source position: avglvltree.pas line 72

protected procedure TIndexedAVLTree.SwitchPositionWithSuccessor(

  aNode: TAvlTreeNode;

  aSuccessor: TAvlTreeNode

); override;


TIndexedAVLTreeNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 54

type TIndexedAVLTreeNode = class(TAvlTreeNode)

public

  LeftCount: SizeInt;

The number of nodes in the Left side

end;

Inheritance

TIndexedAVLTreeNode

|

TAvlTreeNode
?

TObject


TIndexedAVLTreeNode


TIndexedAVLTreeNode.LeftCount

The number of nodes in the Left side

Declaration

Source position: avglvltree.pas line 56

public TIndexedAVLTreeNode.LeftCount : SizeInt;


TPointerToPointerEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 92

type TPointerToPointerEnumerator = class

protected

  FHighToLow: Boolean;

  FTree: TAvlTree;

  FCurrent: TAvlTreeNode;

  function GetCurrent;

public

  constructor Create();

  function GetEnumerator;

  function MoveNext;

  property Current: PPointerToPointerItem; [r]

  property HighToLow: Boolean; [r]

end;

Inheritance

TPointerToPointerEnumerator

|

TObject


TPointerToPointerEnumerator
 | ro | Current
 | ro | HighToLow


ro | Current (TPointerToPointerEnumerator)
ro | HighToLow (TPointerToPointerEnumerator)


TPointerToPointerEnumerator
pt | GetCurrent
 | Create
 | GetEnumerator
 | MoveNext


pt | GetCurrent (TPointerToPointerEnumerator)
 | GetEnumerator (TPointerToPointerEnumerator)
 | MoveNext (TPointerToPointerEnumerator)


TPointerToPointerEnumerator


TPointerToPointerEnumerator.Create

Declaration

Source position: avglvltree.pas line 99

public constructor TPointerToPointerEnumerator.Create(

  Tree: TAvlTree

);


TPointerToPointerEnumerator.Current

Declaration

Source position: avglvltree.pas line 102

public property TPointerToPointerEnumerator.Current : PPointerToPointerItem
  read GetCurrent;


TPointerToPointerEnumerator.FCurrent

Declaration

Source position: avglvltree.pas line 96

protected TPointerToPointerEnumerator.FCurrent : TAvlTreeNode;


TPointerToPointerEnumerator.FHighToLow

Declaration

Source position: avglvltree.pas line 94

protected TPointerToPointerEnumerator.FHighToLow : Boolean;


TPointerToPointerEnumerator.FTree

Declaration

Source position: avglvltree.pas line 95

protected TPointerToPointerEnumerator.FTree : TAvlTree;


TPointerToPointerEnumerator.GetCurrent

Declaration

Source position: avglvltree.pas line 97

protected function TPointerToPointerEnumerator.GetCurrent: PPointerToPointerItem;


TPointerToPointerEnumerator.GetEnumerator

Declaration

Source position: avglvltree.pas line 100

public function TPointerToPointerEnumerator.GetEnumerator: TPointerToPointerEnumerator;


TPointerToPointerEnumerator.HighToLow

Declaration

Source position: avglvltree.pas line 103

public property TPointerToPointerEnumerator.HighToLow : Boolean
  read FHighToLow;


TPointerToPointerEnumerator.MoveNext

Declaration

Source position: avglvltree.pas line 101

public function TPointerToPointerEnumerator.MoveNext: Boolean;


TPointerToPointerTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TPointerToPointerTreeis an associative array of PointerToPointer Items, or a tree of trees

Declaration

Source position: avglvltree.pas line 106

type TPointerToPointerTree = class
public
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure Clear; |
procedure ClearWithFree; | Frees objects stored in Values
function Equals(); override; |
function IsEqual(); |
procedure Assign(); |
procedure Remove(); |
function Contains(); |
function GetFirst(); | GetFirst - finds the first node matching the supplied arguments; returns True if successful
function GetLast(); | GetLast - finds the last node matching the supplied arguments; returns True if successful
function GetNext(); | GetNext - finds the next node matching the supplied arguments; returns True if successful
function GetPrev(); | GetPrev - finds the previous node matching the supplied arguments; returns True if successful
property Count: SizeInt; [r] | Count - the number of items
property Values []: Pointer; default; [rw] | Values - a pointer into the array of values associated with the nodes
property Tree: TAvlTree; [r] | The Tree that forms the basis of the associative array
function GetEnumerator; |
function GetEnumeratorHighToLow; |
end;

Inheritance

TPointerToPointerTree

TPointerToPointerTreeis an associative array of PointerToPointer Items, or a tree of trees

|

TObject

Description

TPointerToPointerTree is an associative array of PointerToPointer Items, or a tree of trees. This class uses pointers to identify pointers within the array, unlike the TStringToStringTree, which uses strings to identify strings.


TPointerToPointerTree
 | ro | Count
 |  | Values
 | ro | Tree


ro | Count (TPointerToPointerTree)
ro | Tree (TPointerToPointerTree)
 | Values (TPointerToPointerTree)


TPointerToPointerTree
 | Create
 | Destroy
 | Clear
 | ClearWithFree
 | Equals
 | IsEqual
 | Assign
 | Remove
 | Contains
 | GetFirst
 | GetLast
 | GetNext
 | GetPrev
 | GetEnumerator
 | GetEnumeratorHighToLow


Assign (TPointerToPointerTree)

Clear (TPointerToPointerTree)

ClearWithFree (TPointerToPointerTree)

Contains (TPointerToPointerTree)

Create (TPointerToPointerTree)

Destroy (TPointerToPointerTree)

Equals (TPointerToPointerTree)

GetEnumerator (TPointerToPointerTree)

GetEnumeratorHighToLow (TPointerToPointerTree)

GetFirst (TPointerToPointerTree)

GetLast (TPointerToPointerTree)

GetNext (TPointerToPointerTree)

GetPrev (TPointerToPointerTree)

IsEqual (TPointerToPointerTree)

Remove (TPointerToPointerTree)


TPointerToPointerTree


TPointerToPointerTree.Assign

Declaration

Source position: avglvltree.pas line 121

public procedure TPointerToPointerTree.Assign(

  aTree: TPointerToPointerTree

);


TPointerToPointerTree.Clear

Declaration

Source position: avglvltree.pas line 117

public procedure TPointerToPointerTree.Clear;


TPointerToPointerTree.ClearWithFree

Frees objects stored in Values

Declaration

Source position: avglvltree.pas line 118

public procedure TPointerToPointerTree.ClearWithFree;


TPointerToPointerTree.Contains

Declaration

Source position: avglvltree.pas line 123

public function TPointerToPointerTree.Contains(

  const Key: Pointer

):Boolean;


TPointerToPointerTree.Count

Count - the number of items

Declaration

Source position: avglvltree.pas line 128

public property TPointerToPointerTree.Count : SizeInt
  read GetCount;


TPointerToPointerTree.Create

Constructor for the class instance

Declaration

Source position: avglvltree.pas line 115

public constructor TPointerToPointerTree.Create;

Description

Create is the constructor for TPointerToPointerTree.


TPointerToPointerTree.Destroy

Destructor for the class instance

Declaration

Source position: avglvltree.pas line 116

public destructor TPointerToPointerTree.Destroy; override;


TPointerToPointerTree.Equals

Declaration

Source position: avglvltree.pas line 119

public function TPointerToPointerTree.Equals(

  Obj: TObject

):Boolean; override;


TPointerToPointerTree.GetEnumerator

Declaration

Source position: avglvltree.pas line 133

public function TPointerToPointerTree.GetEnumerator: TPointerToPointerEnumerator;


TPointerToPointerTree.GetEnumeratorHighToLow

Declaration

Source position: avglvltree.pas line 134

public function TPointerToPointerTree.GetEnumeratorHighToLow: TPointerToPointerEnumerator;


TPointerToPointerTree.GetFirst

GetFirst - finds the first node matching the supplied arguments; returns True if successful

Declaration

Source position: avglvltree.pas line 124

public function TPointerToPointerTree.GetFirst(

  out Key: Pointer;

  out Value: Pointer

):Boolean;


TPointerToPointerTree.GetLast

GetLast - finds the last node matching the supplied arguments; returns True if successful

Declaration

Source position: avglvltree.pas line 125

public function TPointerToPointerTree.GetLast(

  out Key: Pointer;

  out Value: Pointer

):Boolean;


TPointerToPointerTree.GetNext

GetNext - finds the next node matching the supplied arguments; returns True if successful

Declaration

Source position: avglvltree.pas line 126

public function TPointerToPointerTree.GetNext(

  const Key: Pointer;

  out NextKey: Pointer;

  out NextValue: Pointer

):Boolean;


TPointerToPointerTree.GetPrev

GetPrev - finds the previous node matching the supplied arguments; returns True if successful

Declaration

Source position: avglvltree.pas line 127

public function TPointerToPointerTree.GetPrev(

  const Key: Pointer;

  out PrevKey: Pointer;

  out PrevValue: Pointer

):Boolean;


TPointerToPointerTree.IsEqual

Declaration

Source position: avglvltree.pas line 120

public function TPointerToPointerTree.IsEqual(

  aTree: TPointerToPointerTree

):Boolean;


TPointerToPointerTree.Remove

Declaration

Source position: avglvltree.pas line 122

public procedure TPointerToPointerTree.Remove(

  Key: Pointer

);


TPointerToPointerTree.Tree

The Tree that forms the basis of the associative array

Declaration

Source position: avglvltree.pas line 130

public property TPointerToPointerTree.Tree : TAvlTree
  read FItems;


TPointerToPointerTree.Values

Values - a pointer into the array of values associated with the nodes

Declaration

Source position: avglvltree.pas line 129

public property TPointerToPointerTree.Values[Key: Pointer] : Pointer
  read GetValues
  write SetValues;
  default;


TStringMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 200

type TStringMap = class(TCustomStringMap)

public

  procedure Add();

  function GetEnumerator;

  property Values []: Boolean; default; [rw]

end;

Inheritance

TStringMap

|

TCustomStringMap

|

TObject


TStringMap
 |  | Values
TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


ro | CaseSensitive (TCustomStringMap)
ro | CompareItemsFunc (TCustomStringMap)
ro | CompareKeyItemFunc (TCustomStringMap)
ro | Tree (TCustomStringMap)
 | Values (TStringMap)


TStringMap
 | Add
 | GetEnumerator
TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Add (TStringMap)
 | Assign (TCustomStringMap)
 | CalcMemSize (TCustomStringMap)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
pt | CreateCopy (TCustomStringMap)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetEnumerator (TStringMap)
 | GetNames (TCustomStringMap)
pt | ItemsAreEqual (TCustomStringMap)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TStringMap

TCustomStringMap


TStringMap.Add

Declaration

Source position: avglvltree.pas line 205

public procedure TStringMap.Add(

  const Name: string

);


TStringMap.GetEnumerator

Declaration

Source position: avglvltree.pas line 206

public function TStringMap.GetEnumerator: TStringMapEnumerator;


TStringMap.Values

Declaration

Source position: avglvltree.pas line 207

public property TStringMap.Values[s: string] : Boolean
  read GetValues
  write SetValues;
  default;


TStringMapEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 191

type TStringMapEnumerator = class(TCustomStringMapEnumerator)

public

  property Current: string; [r]

end;

Inheritance

TStringMapEnumerator

|

TCustomStringMapEnumerator

|

TObject


TStringMapEnumerator

ro

Current

TCustomStringMapEnumerator


ro

Current (TStringMapEnumerator)


TStringMapEnumerator
TCustomStringMapEnumerator
 | Create
 | MoveNext


TStringMapEnumerator

TCustomStringMapEnumerator


TStringMapEnumerator.Current

Declaration

Source position: avglvltree.pas line 195

public property TStringMapEnumerator.Current : string
  read GetCurrent;


TStringToPointerTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 271

type TStringToPointerTree = class(TCustomStringMap)

protected

  procedure DisposeItem(); override;

  function ItemsAreEqual(); override;

  function CreateCopy(); override;

public

  function GetData();

  function GetNodeData();

  function GetEnumerator;

  property FreeValues: Boolean; [rw]

  property Values []: Pointer; default; [rw]

end;

Inheritance

TStringToPointerTree

|

TCustomStringMap

|

TObject


TStringToPointerTree
 |  | FreeValues
 |  | Values
TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


TStringToPointerTree
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | GetData
 | GetNodeData
 | GetEnumerator
TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Assign (TCustomStringMap)
 | CalcMemSize (TCustomStringMap)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
pt | CreateCopy (TCustomStringMap)
pt | CreateCopy (TStringToPointerTree)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
pt | DisposeItem (TStringToPointerTree)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetData (TStringToPointerTree)
 | GetEnumerator (TStringToPointerTree)
 | GetNames (TCustomStringMap)
 | GetNodeData (TStringToPointerTree)
pt | ItemsAreEqual (TCustomStringMap)
pt | ItemsAreEqual (TStringToPointerTree)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TStringToPointerTree

TCustomStringMap


TStringToPointerTree.CreateCopy

Declaration

Source position: avglvltree.pas line 279

protected function TStringToPointerTree.CreateCopy(

  Src: PStringMapItem

):PStringMapItem; override;


TStringToPointerTree.DisposeItem

Declaration

Source position: avglvltree.pas line 277

protected procedure TStringToPointerTree.DisposeItem(

  p: PStringMapItem

); override;


TStringToPointerTree.FreeValues

Declaration

Source position: avglvltree.pas line 284

public property TStringToPointerTree.FreeValues : Boolean
  read FFreeValues
  write FFreeValues;


TStringToPointerTree.GetData

Declaration

Source position: avglvltree.pas line 281

public function TStringToPointerTree.GetData(

  const Name: string;

  out Value: Pointer

):Boolean;


TStringToPointerTree.GetEnumerator

Declaration

Source position: avglvltree.pas line 283

public function TStringToPointerTree.GetEnumerator: TStringToPointerTreeEnumerator;


TStringToPointerTree.GetNodeData

Declaration

Source position: avglvltree.pas line 282

public function TStringToPointerTree.GetNodeData(

  Node: TAVLTreeNode

):PStringToPointerTreeItem;


TStringToPointerTree.ItemsAreEqual

Declaration

Source position: avglvltree.pas line 278

protected function TStringToPointerTree.ItemsAreEqual(

  p1: PStringMapItem;

  p2: PStringMapItem

):Boolean; override;


TStringToPointerTree.Values

Declaration

Source position: avglvltree.pas line 285

public property TStringToPointerTree.Values[s: string] : Pointer
  read GetValues
  write SetValues;
  default;


TStringToPointerTreeEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 264

type TStringToPointerTreeEnumerator = class(TStringMapEnumerator)

public

  property Current: PStringToPointerTreeItem; [r]

end;

Inheritance

TStringToPointerTreeEnumerator

|

TStringMapEnumerator

|

TCustomStringMapEnumerator

|

TObject


TStringToPointerTreeEnumerator
 | ro | Current
TStringMapEnumerator
 | ro | Current
TCustomStringMapEnumerator


ro | Current (TStringMapEnumerator)
ro | Current (TStringToPointerTreeEnumerator)


TStringToPointerTreeEnumerator
TStringMapEnumerator
TCustomStringMapEnumerator
 | Create
 | MoveNext


TStringToPointerTreeEnumerator

TStringMapEnumerator

TCustomStringMapEnumerator


TStringToPointerTreeEnumerator.Current

Declaration

Source position: avglvltree.pas line 268

public property TStringToPointerTreeEnumerator.Current : PStringToPointerTreeItem
  read GetCurrent;


TStringToStringTree

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 229

type TStringToStringTree = class(TCustomStringMap)
protected
procedure DisposeItem(); override; |
function ItemsAreEqual(); override; |
function CreateCopy(); override; |
function GetNode(); |
public
function GetString(); |
procedure Add(); | Add an item to the tree (specified by its name, value or delimiter)
procedure AddNameValues(); | AddNameValues add the specified named values to the tree
procedure AddNames(); |
property Values []: string; default; [rw] | The Values of the strings corresponding to the supplied name
function GetNodeData(); |
function AsText; |
procedure Assign(); override; |
function CalcMemSize; override; |
function GetEnumerator; |
function GetFirst(); | GetFirst - finds the matching first item; returns True if successful
function GetLast(); | GetLast - finds the last matching item; returns True if successful
function GetNext(); | GetNext - finds the next matching item; returns True if successful
function GetPrev(); | GetPrev - finds the previous matching item; returns True if successful
end;

Inheritance

TStringToStringTree

|

TCustomStringMap

|

TObject

Description

TStringToStringTree - an associative array of StringToString Items, or a tree of trees. This class uses strings to identify strings within the array, unlike the TPointerToPointerTree, which uses pointers to identify pointers.


TStringToStringTree
 |  | Values
TCustomStringMap
 | ro | CaseSensitive
 | ro | Tree
 | ro | CompareItemsFunc
 | ro | CompareKeyItemFunc


TStringToStringTree
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
pt | GetNode
 | GetString
 | Add
 | AddNameValues
 | AddNames
 | GetNodeData
 | AsText
 | Assign
 | CalcMemSize
 | GetEnumerator
 | GetFirst
 | GetLast
 | GetNext
 | GetPrev
TCustomStringMap
pt | DisposeItem
pt | ItemsAreEqual
pt | CreateCopy
 | Create
 | Destroy
 | Clear
 | Contains
 | GetNames
 | Remove
 | FindNode
 | Count
 | Equals
 | Assign
 | CalcMemSize
 | SetCompareFuncs


 | Add (TStringToStringTree)
 | AddNames (TStringToStringTree)
 | AddNameValues (TStringToStringTree)
 | Assign (TCustomStringMap)
 | Assign (TStringToStringTree)
 | AsText (TStringToStringTree)
 | CalcMemSize (TCustomStringMap)
 | CalcMemSize (TStringToStringTree)
 | Clear (TCustomStringMap)
 | Contains (TCustomStringMap)
 | Count (TCustomStringMap)
 | Create (TCustomStringMap)
pt | CreateCopy (TCustomStringMap)
pt | CreateCopy (TStringToStringTree)
 | Destroy (TCustomStringMap)
pt | DisposeItem (TCustomStringMap)
pt | DisposeItem (TStringToStringTree)
 | Equals (TCustomStringMap)
 | FindNode (TCustomStringMap)
 | GetEnumerator (TStringToStringTree)
 | GetFirst (TStringToStringTree)
 | GetLast (TStringToStringTree)
 | GetNames (TCustomStringMap)
 | GetNext (TStringToStringTree)
pt | GetNode (TStringToStringTree)
 | GetNodeData (TStringToStringTree)
 | GetPrev (TStringToStringTree)
 | GetString (TStringToStringTree)
pt | ItemsAreEqual (TCustomStringMap)
pt | ItemsAreEqual (TStringToStringTree)
 | Remove (TCustomStringMap)
 | SetCompareFuncs (TCustomStringMap)


TStringToStringTree

TCustomStringMap


TStringToStringTree.Add

Add an item to the tree (specified by its name, value or delimiter)

Declaration

Source position: avglvltree.pas line 240

public procedure TStringToStringTree.Add(

  const Name: string;

  const Value: string

);

procedure TStringToStringTree.Add(

  const Name: string;

  const Value: string;

  const Delimiter: string

);


TStringToStringTree.AddNames

Declaration

Source position: avglvltree.pas line 243

public procedure TStringToStringTree.AddNames(

  List: TStrings

);


TStringToStringTree.AddNameValues

AddNameValues add the specified named values to the tree

Declaration

Source position: avglvltree.pas line 242

public procedure TStringToStringTree.AddNameValues(

  List: TStrings

);


TStringToStringTree.Assign

Declaration

Source position: avglvltree.pas line 247

public procedure TStringToStringTree.Assign(

  Source: TCustomStringMap

); override;


TStringToStringTree.AsText

Declaration

Source position: avglvltree.pas line 246

public function TStringToStringTree.AsText: string;


TStringToStringTree.CalcMemSize

Declaration

Source position: avglvltree.pas line 248

public function TStringToStringTree.CalcMemSize: PtrUint; override;


TStringToStringTree.CreateCopy

Declaration

Source position: avglvltree.pas line 236

protected function TStringToStringTree.CreateCopy(

  Src: PStringMapItem

):PStringMapItem; override;


TStringToStringTree.DisposeItem

Declaration

Source position: avglvltree.pas line 234

protected procedure TStringToStringTree.DisposeItem(

  p: PStringMapItem

); override;


TStringToStringTree.GetEnumerator

Declaration

Source position: avglvltree.pas line 249

public function TStringToStringTree.GetEnumerator: TStringToStringTreeEnumerator;


TStringToStringTree.GetFirst

GetFirst - finds the matching first item; returns True if successful

Declaration

Source position: avglvltree.pas line 250

public function TStringToStringTree.GetFirst(

  out Name: string;

  out Value: string

):Boolean;


TStringToStringTree.GetLast

GetLast - finds the last matching item; returns True if successful

Declaration

Source position: avglvltree.pas line 251

public function TStringToStringTree.GetLast(

  out Name: string;

  out Value: string

):Boolean;


TStringToStringTree.GetNext

GetNext - finds the next matching item; returns True if successful

Declaration

Source position: avglvltree.pas line 252

public function TStringToStringTree.GetNext(

  const Name: string;

  out NextName: string;

  out NextValue: string

):Boolean;


TStringToStringTree.GetNode

Declaration

Source position: avglvltree.pas line 237

protected function TStringToStringTree.GetNode(

  Node: TAvlTreeNode;

  out Name: string;

  out Value: string

):Boolean;


TStringToStringTree.GetNodeData

Declaration

Source position: avglvltree.pas line 245

public function TStringToStringTree.GetNodeData(

  Node: TAVLTreeNode

):PStringToStringItem;


TStringToStringTree.GetPrev

GetPrev - finds the previous matching item; returns True if successful

Declaration

Source position: avglvltree.pas line 253

public function TStringToStringTree.GetPrev(

  const Name: string;

  out PrevName: string;

  out PrevValue: string

):Boolean;


TStringToStringTree.GetString

Declaration

Source position: avglvltree.pas line 239

public function TStringToStringTree.GetString(

  const Name: string;

  out Value: string

):Boolean;


TStringToStringTree.ItemsAreEqual

Declaration

Source position: avglvltree.pas line 235

protected function TStringToStringTree.ItemsAreEqual(

  p1: PStringMapItem;

  p2: PStringMapItem

):Boolean; override;


TStringToStringTree.Values

The Values of the strings corresponding to the supplied name

Declaration

Source position: avglvltree.pas line 244

public property TStringToStringTree.Values[s: string] : string
  read GetValues
  write SetValues;
  default;


TStringToStringTreeEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: avglvltree.pas line 220

type TStringToStringTreeEnumerator = class(TCustomStringMapEnumerator)

public

  property Current: PStringToStringItem; [r]

end;

Inheritance

TStringToStringTreeEnumerator

|

TCustomStringMapEnumerator

|

TObject


TStringToStringTreeEnumerator

ro

Current

TCustomStringMapEnumerator


ro

Current (TStringToStringTreeEnumerator)


TStringToStringTreeEnumerator
TCustomStringMapEnumerator
 | Create
 | MoveNext


TStringToStringTreeEnumerator

TCustomStringMapEnumerator


TStringToStringTreeEnumerator.Current

Declaration

Source position: avglvltree.pas line 224

public property TStringToStringTreeEnumerator.Current : PStringToStringItem
  read GetCurrent;


TCompWriterPas

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Serializes a component to Pascal code

Declaration

Source position: compwriterpas.pas line 90

type TCompWriterPas = class

protected

  procedure AddToAncestorList(); virtual;

  procedure DetermineAncestor(); virtual;

  procedure SetNeededUnits(); virtual;

  procedure SetRoot(); virtual;

  procedure WriteComponentData(); virtual;

  procedure WriteChildren(); virtual;

  procedure WriteProperty(); virtual;

  procedure WriteProperties(); virtual;

  procedure WriteDefineProperties(); virtual;

  procedure WriteCollection(); virtual;

  function ShortenFloat(); virtual;

public

  constructor Create(); virtual;

  destructor Destroy; override;

  procedure WriteDescendant(); virtual;

  procedure WriteComponentCreate(); virtual;

  procedure WriteComponent(); virtual;

  procedure WriteIndent; virtual;

  procedure Write(); virtual;

  procedure WriteLn; virtual;

  procedure WriteStatement(); virtual;

  procedure WriteAssign(); virtual;

  procedure WriteWithDo(); virtual;

  procedure WriteWithEnd; virtual;

  function GetComponentPath(); virtual;

  function GetBoolLiteral(); virtual;

  function GetCharLiteral(); virtual;

  function GetWideCharLiteral(); virtual;

  function GetStringLiteral(); virtual;

  function GetWStringLiteral(); virtual;

  function GetFloatLiteral(); virtual;

  function GetCurrencyLiteral(); virtual;

  function GetEnumExpr(); virtual;

  function GetVersionStatement; virtual;

  function CreatedByAncestor(); virtual;

  procedure AddNeededUnit(); virtual;

  procedure Indent; virtual;

  procedure Unindent; virtual;

  property Stream: TStream; [r]

  property Root: TComponent; [rw]

  property LookupRoot: TComponent; [r]

  property Ancestor: TPersistent; [rw]

  property RootAncestor: TComponent; [rw]

  property Parent: TComponent; [r]

  property OnFindAncestor: TCWPFindAncestorEvent; [rw]

  property OnGetMethodName: TCWPGetMethodName; [rw]

  property PropertyPath: string; [r]

  property CurIndent: Integer; [rw]

  property IndentStep: Integer; [rw]

  property Options: TCWPOptions; [rw]

  property IgnoreChildren: Boolean; [rw]

  property OnGetParentProperty: TCWPGetParentPropertyEvent; [rw]

  property OnWriteMethodProperty: TWriteMethodPropertyEvent; [rw]

  property OnWriteStringProperty: TReadWriteStringPropertyEvent; [rw]

  property OnDefineProperties: TCWPDefinePropertiesEvent; [rw]

  property LineEnding: string; [rw]

  property AssignOp: string; [rw]

  property SignatureBegin: string; [rw]

  property SignatureEnd: string; [rw]

  property AccessClass: string; [rw]

  property ExecCustomProc: string; [rw]

  property ExecCustomProcUnit: string; [rw]

  property MaxColumn: Integer; [rw]

  property NeedAccessClass: Boolean; [rw]

  property NeededUnits: TStrings; [rw]

end;

Inheritance

TCompWriterPas

Serializes a component to Pascal code
|

TObject


TCompWriterPas
 | ro | Stream
 |  | Root
 | ro | LookupRoot
 |  | Ancestor
 |  | RootAncestor
 | ro | Parent
 | ro | PropertyPath
 |  | CurIndent
 |  | IndentStep
 |  | Options
 |  | IgnoreChildren
 |  | LineEnding
 |  | AssignOp
 |  | SignatureBegin
 |  | SignatureEnd
 |  | AccessClass
 |  | ExecCustomProc
 |  | ExecCustomProcUnit
 |  | MaxColumn
 |  | NeedAccessClass
 |  | NeededUnits


 | AccessClass (TCompWriterPas)
 | Ancestor (TCompWriterPas)
 | AssignOp (TCompWriterPas)
 | CurIndent (TCompWriterPas)
 | ExecCustomProc (TCompWriterPas)
 | ExecCustomProcUnit (TCompWriterPas)
 | IgnoreChildren (TCompWriterPas)
 | IndentStep (TCompWriterPas)
 | LineEnding (TCompWriterPas)
ro | LookupRoot (TCompWriterPas)
 | MaxColumn (TCompWriterPas)
 | NeedAccessClass (TCompWriterPas)
 | NeededUnits (TCompWriterPas)
 | Options (TCompWriterPas)
ro | Parent (TCompWriterPas)
ro | PropertyPath (TCompWriterPas)
 | Root (TCompWriterPas)
 | RootAncestor (TCompWriterPas)
 | SignatureBegin (TCompWriterPas)
 | SignatureEnd (TCompWriterPas)
ro | Stream (TCompWriterPas)


TCompWriterPas
pt | AddToAncestorList
pt | DetermineAncestor
pt | SetNeededUnits
pt | SetRoot
pt | WriteComponentData
pt | WriteChildren
pt | WriteProperty
pt | WriteProperties
pt | WriteDefineProperties
pt | WriteCollection
pt | ShortenFloat
 | Create
 | Destroy
 | WriteDescendant
 | WriteComponentCreate
 | WriteComponent
 | WriteIndent
 | Write
 | WriteLn
 | WriteStatement
 | WriteAssign
 | WriteWithDo
 | WriteWithEnd
 | GetComponentPath
 | GetBoolLiteral
 | GetCharLiteral
 | GetWideCharLiteral
 | GetStringLiteral
 | GetWStringLiteral
 | GetFloatLiteral
 | GetCurrencyLiteral
 | GetEnumExpr
 | GetVersionStatement
 | CreatedByAncestor
 | AddNeededUnit
 | Indent
 | Unindent


pt | AddToAncestorList (TCompWriterPas)
 | Create (TCompWriterPas)
 | CreatedByAncestor (TCompWriterPas)
 | Destroy (TCompWriterPas)
pt | DetermineAncestor (TCompWriterPas)
 | GetBoolLiteral (TCompWriterPas)
 | GetCharLiteral (TCompWriterPas)
 | GetComponentPath (TCompWriterPas)
 | GetCurrencyLiteral (TCompWriterPas)
 | GetEnumExpr (TCompWriterPas)
 | GetFloatLiteral (TCompWriterPas)
 | GetStringLiteral (TCompWriterPas)
 | GetVersionStatement (TCompWriterPas)
 | GetWideCharLiteral (TCompWriterPas)
 | GetWStringLiteral (TCompWriterPas)
 | Indent (TCompWriterPas)
pt | SetNeededUnits (TCompWriterPas)
pt | SetRoot (TCompWriterPas)
pt | ShortenFloat (TCompWriterPas)
 | Unindent (TCompWriterPas)
 | Write (TCompWriterPas)
 | WriteAssign (TCompWriterPas)
pt | WriteChildren (TCompWriterPas)
pt | WriteCollection (TCompWriterPas)
 | WriteComponent (TCompWriterPas)
 | WriteComponentCreate (TCompWriterPas)
pt | WriteComponentData (TCompWriterPas)
pt | WriteDefineProperties (TCompWriterPas)
 | WriteDescendant (TCompWriterPas)
 | WriteIndent (TCompWriterPas)
 | WriteLn (TCompWriterPas)
pt | WriteProperties (TCompWriterPas)
pt | WriteProperty (TCompWriterPas)
 | WriteStatement (TCompWriterPas)
 | WriteWithDo (TCompWriterPas)
 | WriteWithEnd (TCompWriterPas)


TCompWriterPas
 | OnFindAncestor
 | OnGetMethodName
 | OnGetParentProperty
 | OnWriteMethodProperty
 | OnWriteStringProperty
 | OnDefineProperties


OnDefineProperties (TCompWriterPas)

OnFindAncestor (TCompWriterPas)

OnGetMethodName (TCompWriterPas)

OnGetParentProperty (TCompWriterPas)

OnWriteMethodProperty (TCompWriterPas)

OnWriteStringProperty (TCompWriterPas)


TCompWriterPas.AccessClass

Declaration

Source position: compwriterpas.pas line 190

public property TCompWriterPas.AccessClass : string
  read FAccessClass
  write FAccessClass;


TCompWriterPas.AddNeededUnit

Declaration

Source position: compwriterpas.pas line 162

public procedure TCompWriterPas.AddNeededUnit(

  const AnUnitName: string

); virtual;


TCompWriterPas.AddToAncestorList

Declaration

Source position: compwriterpas.pas line 124

protected procedure TCompWriterPas.AddToAncestorList(

  Component: TComponent

); virtual;


TCompWriterPas.Ancestor

Declaration

Source position: compwriterpas.pas line 168

public property TCompWriterPas.Ancestor : TPersistent
  read FAncestor
  write FAncestor;


TCompWriterPas.AssignOp

Declaration

Source position: compwriterpas.pas line 187

public property TCompWriterPas.AssignOp : string
  read FAssignOp
  write FAssignOp;


TCompWriterPas.Create

Declaration

Source position: compwriterpas.pas line 136

public constructor TCompWriterPas.Create(

  AStream: TStream

); virtual;


TCompWriterPas.CreatedByAncestor

Declaration

Source position: compwriterpas.pas line 161

public function TCompWriterPas.CreatedByAncestor(

  Component: TComponent

):Boolean; virtual;


TCompWriterPas.CurIndent

Declaration

Source position: compwriterpas.pas line 174

public property TCompWriterPas.CurIndent : Integer
  read FCurIndent
  write FCurIndent;


TCompWriterPas.Destroy

Declaration

Source position: compwriterpas.pas line 137

public destructor TCompWriterPas.Destroy; override;


TCompWriterPas.DetermineAncestor

Declaration

Source position: compwriterpas.pas line 125

protected procedure TCompWriterPas.DetermineAncestor(

  Component: TComponent

); virtual;


TCompWriterPas.ExecCustomProc

Declaration

Source position: compwriterpas.pas line 192

public property TCompWriterPas.ExecCustomProc : string
  read FExecCustomProc
  write FExecCustomProc;


TCompWriterPas.ExecCustomProcUnit

Declaration

Source position: compwriterpas.pas line 193

public property TCompWriterPas.ExecCustomProcUnit : string
  read FExecCustomProcUnit
  write FExecCustomProcUnit;


TCompWriterPas.GetBoolLiteral

Declaration

Source position: compwriterpas.pas line 151

public function TCompWriterPas.GetBoolLiteral(

  b: Boolean

):string; virtual;


TCompWriterPas.GetCharLiteral

Declaration

Source position: compwriterpas.pas line 152

public function TCompWriterPas.GetCharLiteral(

  c: Integer

):string; virtual;


TCompWriterPas.GetComponentPath

Declaration

Source position: compwriterpas.pas line 150

public function TCompWriterPas.GetComponentPath(

  Component: TComponent

):string; virtual;


TCompWriterPas.GetCurrencyLiteral

Declaration

Source position: compwriterpas.pas line 157

public function TCompWriterPas.GetCurrencyLiteral(

  const c: currency

):string; virtual;


TCompWriterPas.GetEnumExpr

Declaration

Source position: compwriterpas.pas line 158

public function TCompWriterPas.GetEnumExpr(

  TypeInfo: PTypeInfo;

  Value: Integer;

  AllowOutOfRange: Boolean

):string; virtual;


TCompWriterPas.GetFloatLiteral

Declaration

Source position: compwriterpas.pas line 156

public function TCompWriterPas.GetFloatLiteral(

  const e: Extended

):string; virtual;


TCompWriterPas.GetStringLiteral

Declaration

Source position: compwriterpas.pas line 154

public function TCompWriterPas.GetStringLiteral(

  const s: string

):string; virtual;


TCompWriterPas.GetVersionStatement

Declaration

Source position: compwriterpas.pas line 160

public function TCompWriterPas.GetVersionStatement: string; virtual;


TCompWriterPas.GetWideCharLiteral

Declaration

Source position: compwriterpas.pas line 153

public function TCompWriterPas.GetWideCharLiteral(

  c: Integer

):string; virtual;


TCompWriterPas.GetWStringLiteral

Declaration

Source position: compwriterpas.pas line 155

public function TCompWriterPas.GetWStringLiteral(

  p: PWideChar;

  Count: Integer

):string; virtual;


TCompWriterPas.IgnoreChildren

Declaration

Source position: compwriterpas.pas line 177

public property TCompWriterPas.IgnoreChildren : Boolean
  read FIgnoreChildren
  write FIgnoreChildren;


TCompWriterPas.Indent

Declaration

Source position: compwriterpas.pas line 163

public procedure TCompWriterPas.Indent; virtual;


TCompWriterPas.IndentStep

Declaration

Source position: compwriterpas.pas line 175

public property TCompWriterPas.IndentStep : Integer
  read FIndentStep
  write FIndentStep;


TCompWriterPas.LineEnding

Declaration

Source position: compwriterpas.pas line 186

public property TCompWriterPas.LineEnding : string
  read FLineEnding
  write FLineEnding;


TCompWriterPas.LookupRoot

Declaration

Source position: compwriterpas.pas line 167

public property TCompWriterPas.LookupRoot : TComponent
  read FLookupRoot;


TCompWriterPas.MaxColumn

Declaration

Source position: compwriterpas.pas line 194

public property TCompWriterPas.MaxColumn : Integer
  read FMaxColumn
  write FMaxColumn
  default CSPDefaultMaxColumn;


TCompWriterPas.NeedAccessClass

Declaration

Source position: compwriterpas.pas line 197

public property TCompWriterPas.NeedAccessClass : Boolean
  read FNeedAccessClass
  write FNeedAccessClass;


TCompWriterPas.NeededUnits

Declaration

Source position: compwriterpas.pas line 198

public property TCompWriterPas.NeededUnits : TStrings
  read FNeededUnits
  write SetNeededUnits;


TCompWriterPas.OnDefineProperties

Declaration

Source position: compwriterpas.pas line 183

public property TCompWriterPas.OnDefineProperties : TCWPDefinePropertiesEvent
  read FOnDefineProperties
  write FOnDefineProperties;


TCompWriterPas.OnFindAncestor

Declaration

Source position: compwriterpas.pas line 171

public property TCompWriterPas.OnFindAncestor : TCWPFindAncestorEvent
  read FOnFindAncestor
  write FOnFindAncestor;


TCompWriterPas.OnGetMethodName

Declaration

Source position: compwriterpas.pas line 172

public property TCompWriterPas.OnGetMethodName : TCWPGetMethodName
  read FOnGetMethodName
  write FOnGetMethodName;


TCompWriterPas.OnGetParentProperty

Declaration

Source position: compwriterpas.pas line 178

public property TCompWriterPas.OnGetParentProperty : TCWPGetParentPropertyEvent
  read FOnGetParentProperty
  write FOnGetParentProperty;


TCompWriterPas.OnWriteMethodProperty

Declaration

Source position: compwriterpas.pas line 181

public property TCompWriterPas.OnWriteMethodProperty : TWriteMethodPropertyEvent
  read FOnWriteMethodProperty
  write FOnWriteMethodProperty;


TCompWriterPas.OnWriteStringProperty

Declaration

Source position: compwriterpas.pas line 182

public property TCompWriterPas.OnWriteStringProperty : TReadWriteStringPropertyEvent
  read FOnWriteStringProperty
  write FOnWriteStringProperty;


TCompWriterPas.Options

Declaration

Source position: compwriterpas.pas line 176

public property TCompWriterPas.Options : TCWPOptions
  read FOptions
  write FOptions;


TCompWriterPas.Parent

Declaration

Source position: compwriterpas.pas line 170

public property TCompWriterPas.Parent : TComponent
  read FParent;


TCompWriterPas.PropertyPath

Declaration

Source position: compwriterpas.pas line 173

public property TCompWriterPas.PropertyPath : string
  read FPropPath;


TCompWriterPas.Root

Declaration

Source position: compwriterpas.pas line 166

public property TCompWriterPas.Root : TComponent
  read FRoot
  write SetRoot;


TCompWriterPas.RootAncestor

Declaration

Source position: compwriterpas.pas line 169

public property TCompWriterPas.RootAncestor : TComponent
  read FRootAncestor
  write FRootAncestor;


TCompWriterPas.SetNeededUnits

Declaration

Source position: compwriterpas.pas line 126

protected procedure TCompWriterPas.SetNeededUnits(

  const AValue: TStrings

); virtual;


TCompWriterPas.SetRoot

Declaration

Source position: compwriterpas.pas line 127

protected procedure TCompWriterPas.SetRoot(

  const AValue: TComponent

); virtual;


TCompWriterPas.ShortenFloat

Declaration

Source position: compwriterpas.pas line 134

protected function TCompWriterPas.ShortenFloat(

  s: string

):string; virtual;


TCompWriterPas.SignatureBegin

Declaration

Source position: compwriterpas.pas line 188

public property TCompWriterPas.SignatureBegin : string
  read FSignatureBegin
  write FSignatureBegin;


TCompWriterPas.SignatureEnd

Declaration

Source position: compwriterpas.pas line 189

public property TCompWriterPas.SignatureEnd : string
  read FSignatureEnd
  write FSignatureEnd;


TCompWriterPas.Stream

Declaration

Source position: compwriterpas.pas line 165

public property TCompWriterPas.Stream : TStream
  read FStream;


TCompWriterPas.Unindent

Declaration

Source position: compwriterpas.pas line 164

public procedure TCompWriterPas.Unindent; virtual;


TCompWriterPas.Write

Declaration

Source position: compwriterpas.pas line 144

public procedure TCompWriterPas.Write(

  const s: string

); virtual;


TCompWriterPas.WriteAssign

Declaration

Source position: compwriterpas.pas line 147

public procedure TCompWriterPas.WriteAssign(

  const LHS: string;

  const RHS: string

); virtual;


TCompWriterPas.WriteChildren

Declaration

Source position: compwriterpas.pas line 129

protected procedure TCompWriterPas.WriteChildren(

  Component: TComponent;

  Step: TCWPChildrenStep

); virtual;


TCompWriterPas.WriteCollection

Declaration

Source position: compwriterpas.pas line 133

protected procedure TCompWriterPas.WriteCollection(

  PropName: string;

  Collection: TCollection

); virtual;


TCompWriterPas.WriteComponent

Declaration

Source position: compwriterpas.pas line 142

public procedure TCompWriterPas.WriteComponent(

  Component: TComponent

); virtual;


TCompWriterPas.WriteComponentCreate

Declaration

Source position: compwriterpas.pas line 141

public procedure TCompWriterPas.WriteComponentCreate(

  Component: TComponent

); virtual;


TCompWriterPas.WriteComponentData

Declaration

Source position: compwriterpas.pas line 128

protected procedure TCompWriterPas.WriteComponentData(

  Instance: TComponent

); virtual;


TCompWriterPas.WriteDefineProperties

Declaration

Source position: compwriterpas.pas line 132

protected procedure TCompWriterPas.WriteDefineProperties(

  Instance: TPersistent

); virtual;


TCompWriterPas.WriteDescendant

Declaration

Source position: compwriterpas.pas line 139

public procedure TCompWriterPas.WriteDescendant(

  ARoot: TComponent;

  AnAncestor: TComponent = Nil

); virtual;


TCompWriterPas.WriteIndent

Declaration

Source position: compwriterpas.pas line 143

public procedure TCompWriterPas.WriteIndent; virtual;


TCompWriterPas.WriteLn

Declaration

Source position: compwriterpas.pas line 145

public procedure TCompWriterPas.WriteLn; virtual;


TCompWriterPas.WriteProperties

Declaration

Source position: compwriterpas.pas line 131

protected procedure TCompWriterPas.WriteProperties(

  Instance: TPersistent

); virtual;


TCompWriterPas.WriteProperty

Declaration

Source position: compwriterpas.pas line 130

protected procedure TCompWriterPas.WriteProperty(

  Instance: TPersistent;

  PropInfo: PPropInfo

); virtual;


TCompWriterPas.WriteStatement

Declaration

Source position: compwriterpas.pas line 146

public procedure TCompWriterPas.WriteStatement(

  const s: string

); virtual;


TCompWriterPas.WriteWithDo

Declaration

Source position: compwriterpas.pas line 148

public procedure TCompWriterPas.WriteWithDo(

  const Expr: string

); virtual;


TCompWriterPas.WriteWithEnd

Declaration

Source position: compwriterpas.pas line 149

public procedure TCompWriterPas.WriteWithEnd; virtual;


EArray

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynamicarray.pas line 26

type EArray = class(Exception)

Inheritance

EArray
|

Exception
|

TObject


EArray
Exception
 | HelpContext
 | Message
TObject


EArray
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EArray

Exception

TObject


TPointerPointerArray

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynamicarray.pas line 31

type TPointerPointerArray = class

public

  constructor Create;

  destructor Destroy; override;

  procedure SetLength();

  procedure DeleteColRow();

  procedure MoveColRow();

  procedure ExchangeColRow();

  procedure Clear;

  property Arr []: Pointer; default; [rw]

  property OnDestroyItem: TOnNotifyItem; [rw]

  property OnNewItem: TOnNotifyItem; [rw]

end;

Inheritance

TPointerPointerArray
|

TObject


TPointerPointerArray

Arr


TPointerPointerArray
 | Create
 | Destroy
 | SetLength
 | DeleteColRow
 | MoveColRow
 | ExchangeColRow
 | Clear


Clear (TPointerPointerArray)

Create (TPointerPointerArray)

DeleteColRow (TPointerPointerArray)

Destroy (TPointerPointerArray)

ExchangeColRow (TPointerPointerArray)

MoveColRow (TPointerPointerArray)

SetLength (TPointerPointerArray)


TPointerPointerArray
 | OnDestroyItem
 | OnNewItem


TPointerPointerArray.Arr

Declaration

Source position: dynamicarray.pas line 51

public property TPointerPointerArray.Arr[Col: Integer,Row: Integer] : Pointer
  read GetArr
  write SetArr;
  default;


TPointerPointerArray.Clear

Declaration

Source position: dynamicarray.pas line 49

public procedure TPointerPointerArray.Clear;


TPointerPointerArray.Create

Declaration

Source position: dynamicarray.pas line 42

public constructor TPointerPointerArray.Create;


TPointerPointerArray.DeleteColRow

Declaration

Source position: dynamicarray.pas line 46

public procedure TPointerPointerArray.DeleteColRow(

  IsColumn: Boolean;

  Index: Integer

);


TPointerPointerArray.Destroy

Declaration

Source position: dynamicarray.pas line 43

public destructor TPointerPointerArray.Destroy; override;


TPointerPointerArray.ExchangeColRow

Declaration

Source position: dynamicarray.pas line 48

public procedure TPointerPointerArray.ExchangeColRow(

  IsColumn: Boolean;

  Index: Integer;

  WithIndex: Integer

);


TPointerPointerArray.MoveColRow

Declaration

Source position: dynamicarray.pas line 47

public procedure TPointerPointerArray.MoveColRow(

  IsColumn: Boolean;

  FromIndex: Integer;

  ToIndex: Integer

);


TPointerPointerArray.OnDestroyItem

Declaration

Source position: dynamicarray.pas line 52

public property TPointerPointerArray.OnDestroyItem : TOnNotifyItem
  read FOnDestroyItem
  write FOnDestroyItem;


TPointerPointerArray.OnNewItem

Declaration

Source position: dynamicarray.pas line 53

public property TPointerPointerArray.OnNewItem : TOnNotifyItem
  read FOnNewItem
  write FOnNewItem;


TPointerPointerArray.SetLength

Declaration

Source position: dynamicarray.pas line 44

public procedure TPointerPointerArray.SetLength(

  Cols: Integer;

  Rows: Integer

);


EDynHashArrayException

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynhasharray.pp line 163

type EDynHashArrayException = class(Exception)

Inheritance

EDynHashArrayException
|

Exception
|

TObject


EDynHashArrayException
Exception
 | HelpContext
 | Message
TObject


EDynHashArrayException
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


EDynHashArrayException

Exception

TObject


TDynHashArray

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynhasharray.pp line 70

type TDynHashArray = class

protected

  procedure RebuildItems;

  procedure SaveCacheItem();

public

  constructor Create();

  destructor Destroy; override;

  procedure Add();

  function Contains();

  function ContainsKey();

  procedure Remove();

  procedure Clear;

  procedure ClearCache;

  function First;

  property Count: Integer; [r]

  function IndexOf();

  function IndexOfKey();

  function FindHashItem();

  function FindHashItemWithKey();

  function FindItemWithKey();

  function GetHashItem();

  procedure Delete();

  procedure AssignTo();

  procedure ForEach();

  function SlowAlternativeHashMethod();

  function ConsistencyCheck;

  procedure WriteDebugReport;

  property FirstHashItem: PDynHashArrayItem; [r]

  property MinCapacity: Integer; [rw]

  property MaxCapacity: Integer; [rw]

  property Capacity: Integer; [r]

  property CustomHashFunction: THashFunction; [rw]

  property OwnerHashFunction: TOwnerHashFunction; [rw]

  property OnGetKeyForHashItem: TOnGetKeyForHashItem; [rw]

  property Options: TDynHashArrayOptions; [rw]

end;

Inheritance

TDynHashArray
|

TObject


TDynHashArray
 | ro | Count
 | ro | FirstHashItem
 |  | MinCapacity
 |  | MaxCapacity
 | ro | Capacity
 |  | CustomHashFunction
 |  | OwnerHashFunction
 |  | Options


ro | Capacity (TDynHashArray)
ro | Count (TDynHashArray)
 | CustomHashFunction (TDynHashArray)
ro | FirstHashItem (TDynHashArray)
 | MaxCapacity (TDynHashArray)
 | MinCapacity (TDynHashArray)
 | Options (TDynHashArray)
 | OwnerHashFunction (TDynHashArray)


TDynHashArray
pt | RebuildItems
pt | SaveCacheItem
 | Create
 | Destroy
 | Add
 | Contains
 | ContainsKey
 | Remove
 | Clear
 | ClearCache
 | First
 | IndexOf
 | IndexOfKey
 | FindHashItem
 | FindHashItemWithKey
 | FindItemWithKey
 | GetHashItem
 | Delete
 | AssignTo
 | ForEach
 | SlowAlternativeHashMethod
 | ConsistencyCheck
 | WriteDebugReport


 | Add (TDynHashArray)
 | AssignTo (TDynHashArray)
 | Clear (TDynHashArray)
 | ClearCache (TDynHashArray)
 | ConsistencyCheck (TDynHashArray)
 | Contains (TDynHashArray)
 | ContainsKey (TDynHashArray)
 | Create (TDynHashArray)
 | Delete (TDynHashArray)
 | Destroy (TDynHashArray)
 | FindHashItem (TDynHashArray)
 | FindHashItemWithKey (TDynHashArray)
 | FindItemWithKey (TDynHashArray)
 | First (TDynHashArray)
 | ForEach (TDynHashArray)
 | GetHashItem (TDynHashArray)
 | IndexOf (TDynHashArray)
 | IndexOfKey (TDynHashArray)
pt | RebuildItems (TDynHashArray)
 | Remove (TDynHashArray)
pt | SaveCacheItem (TDynHashArray)
 | SlowAlternativeHashMethod (TDynHashArray)
 | WriteDebugReport (TDynHashArray)


TDynHashArray

OnGetKeyForHashItem


TDynHashArray.Add

Declaration

Source position: dynhasharray.pp line 102

public procedure TDynHashArray.Add(

  Item: Pointer

);


TDynHashArray.AssignTo

Declaration

Source position: dynhasharray.pp line 117

public procedure TDynHashArray.AssignTo(

  List: TList

);

procedure TDynHashArray.AssignTo(

  List: TFPList

);


TDynHashArray.Capacity

Declaration

Source position: dynhasharray.pp line 129

public property TDynHashArray.Capacity : Integer
  read FCapacity;


TDynHashArray.Clear

Declaration

Source position: dynhasharray.pp line 106

public procedure TDynHashArray.Clear;


TDynHashArray.ClearCache

Declaration

Source position: dynhasharray.pp line 107

public procedure TDynHashArray.ClearCache;


TDynHashArray.ConsistencyCheck

Declaration

Source position: dynhasharray.pp line 123

public function TDynHashArray.ConsistencyCheck: Integer;


TDynHashArray.Contains

Declaration

Source position: dynhasharray.pp line 103

public function TDynHashArray.Contains(

  Item: Pointer

):Boolean;


TDynHashArray.ContainsKey

Declaration

Source position: dynhasharray.pp line 104

public function TDynHashArray.ContainsKey(

  Key: Pointer

):Boolean;


TDynHashArray.Count

Declaration

Source position: dynhasharray.pp line 109

public property TDynHashArray.Count : Integer
  read fCount;


TDynHashArray.Create

Declaration

Source position: dynhasharray.pp line 99

public constructor TDynHashArray.Create;

constructor TDynHashArray.Create(

  InitialMinCapacity: Integer

);


TDynHashArray.CustomHashFunction

Declaration

Source position: dynhasharray.pp line 130

public property TDynHashArray.CustomHashFunction : THashFunction
  read FCustomHashFunction
  write SetCustomHashFunction;


TDynHashArray.Delete

Declaration

Source position: dynhasharray.pp line 116

public procedure TDynHashArray.Delete(

  ADynHashArrayItem: PDynHashArrayItem

);


TDynHashArray.Destroy

Declaration

Source position: dynhasharray.pp line 101

public destructor TDynHashArray.Destroy; override;


TDynHashArray.FindHashItem

Declaration

Source position: dynhasharray.pp line 112

public function TDynHashArray.FindHashItem(

  Item: Pointer

):PDynHashArrayItem;


TDynHashArray.FindHashItemWithKey

Declaration

Source position: dynhasharray.pp line 113

public function TDynHashArray.FindHashItemWithKey(

  Key: Pointer

):PDynHashArrayItem;


TDynHashArray.FindItemWithKey

Declaration

Source position: dynhasharray.pp line 114

public function TDynHashArray.FindItemWithKey(

  Key: Pointer

):Pointer;


TDynHashArray.First

Declaration

Source position: dynhasharray.pp line 108

public function TDynHashArray.First: Pointer;


TDynHashArray.FirstHashItem

Declaration

Source position: dynhasharray.pp line 126

public property TDynHashArray.FirstHashItem : PDynHashArrayItem
  read FFirstItem;


TDynHashArray.ForEach

Declaration

Source position: dynhasharray.pp line 119

public procedure TDynHashArray.ForEach(

  const Func: TOnEachHashItem

);


TDynHashArray.GetHashItem

Declaration

Source position: dynhasharray.pp line 115

public function TDynHashArray.GetHashItem(

  HashIndex: Integer

):PDynHashArrayItem;


TDynHashArray.IndexOf

Declaration

Source position: dynhasharray.pp line 110

public function TDynHashArray.IndexOf(

  AnItem: Pointer

):Integer;


TDynHashArray.IndexOfKey

Declaration

Source position: dynhasharray.pp line 111

public function TDynHashArray.IndexOfKey(

  Key: Pointer

):Integer;


TDynHashArray.MaxCapacity

Declaration

Source position: dynhasharray.pp line 128

public property TDynHashArray.MaxCapacity : Integer
  read FMaxCapacity
  write FMaxCapacity;


TDynHashArray.MinCapacity

Declaration

Source position: dynhasharray.pp line 127

public property TDynHashArray.MinCapacity : Integer
  read FMinCapacity
  write FMinCapacity;


TDynHashArray.OnGetKeyForHashItem

Declaration

Source position: dynhasharray.pp line 134

public property TDynHashArray.OnGetKeyForHashItem : TOnGetKeyForHashItem
  read FOnGetKeyForHashItem
  write SetOnGetKeyForHashItem;


TDynHashArray.Options

Declaration

Source position: dynhasharray.pp line 136

public property TDynHashArray.Options : TDynHashArrayOptions
  read FOptions
  write SetOptions;


TDynHashArray.OwnerHashFunction

Declaration

Source position: dynhasharray.pp line 132

public property TDynHashArray.OwnerHashFunction : TOwnerHashFunction
  read FOwnerHashFunction
  write SetOwnerHashFunction;


TDynHashArray.RebuildItems

Declaration

Source position: dynhasharray.pp line 96

protected procedure TDynHashArray.RebuildItems;


TDynHashArray.Remove

Declaration

Source position: dynhasharray.pp line 105

public procedure TDynHashArray.Remove(

  Item: Pointer

);


TDynHashArray.SaveCacheItem

Declaration

Source position: dynhasharray.pp line 97

protected procedure TDynHashArray.SaveCacheItem(

  Item: Pointer;

  Index: Integer

);


TDynHashArray.SlowAlternativeHashMethod

Declaration

Source position: dynhasharray.pp line 121

public function TDynHashArray.SlowAlternativeHashMethod(

  Sender: TDynHashArray;

  Item: Pointer

):Integer;


TDynHashArray.WriteDebugReport

Declaration

Source position: dynhasharray.pp line 124

public procedure TDynHashArray.WriteDebugReport;


TDynHashArrayItem

Declaration

Source position: dynhasharray.pp line 59

type TDynHashArrayItem = record

  Item: Pointer;

  Next: PDynHashArrayItem;

  Prior: PDynHashArrayItem;

  IsOverflow: Boolean;

end;


TDynHashArrayItemMemManager

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynhasharray.pp line 139

type TDynHashArrayItemMemManager = class

public

  procedure DisposeItem();

  function NewItem;

  property MinimumFreeCount: Integer; [rw]

  property MaximumFreeRatio: Integer; [rw]

  property Count: Integer; [r]

  procedure Clear;

  constructor Create;

  destructor Destroy; override;

  function ConsistencyCheck;

  procedure WriteDebugReport;

end;

Inheritance

TDynHashArrayItemMemManager
|

TObject


TDynHashArrayItemMemManager
 |  | MinimumFreeCount
 |  | MaximumFreeRatio
 | ro | Count


ro | Count (TDynHashArrayItemMemManager)
 | MaximumFreeRatio (TDynHashArrayItemMemManager)
 | MinimumFreeCount (TDynHashArrayItemMemManager)


TDynHashArrayItemMemManager
 | DisposeItem
 | NewItem
 | Clear
 | Create
 | Destroy
 | ConsistencyCheck
 | WriteDebugReport


Clear (TDynHashArrayItemMemManager)

ConsistencyCheck (TDynHashArrayItemMemManager)

Create (TDynHashArrayItemMemManager)

Destroy (TDynHashArrayItemMemManager)

DisposeItem (TDynHashArrayItemMemManager)

NewItem (TDynHashArrayItemMemManager)

WriteDebugReport (TDynHashArrayItemMemManager)


TDynHashArrayItemMemManager


TDynHashArrayItemMemManager.Clear

Declaration

Source position: dynhasharray.pp line 156

public procedure TDynHashArrayItemMemManager.Clear;


TDynHashArrayItemMemManager.ConsistencyCheck

Declaration

Source position: dynhasharray.pp line 159

public function TDynHashArrayItemMemManager.ConsistencyCheck: Integer;


TDynHashArrayItemMemManager.Count

Declaration

Source position: dynhasharray.pp line 155

public property TDynHashArrayItemMemManager.Count : Integer
  read FCount;


TDynHashArrayItemMemManager.Create

Declaration

Source position: dynhasharray.pp line 157

public constructor TDynHashArrayItemMemManager.Create;


TDynHashArrayItemMemManager.Destroy

Declaration

Source position: dynhasharray.pp line 158

public destructor TDynHashArrayItemMemManager.Destroy; override;


TDynHashArrayItemMemManager.DisposeItem

Declaration

Source position: dynhasharray.pp line 150

public procedure TDynHashArrayItemMemManager.DisposeItem(

  ADynHashArrayItem: PDynHashArrayItem

);


TDynHashArrayItemMemManager.MaximumFreeRatio

Declaration

Source position: dynhasharray.pp line 153

public property TDynHashArrayItemMemManager.MaximumFreeRatio : Integer
  read FMaxFreeRatio
  write SetMaxFreeRatio;


TDynHashArrayItemMemManager.MinimumFreeCount

Declaration

Source position: dynhasharray.pp line 152

public property TDynHashArrayItemMemManager.MinimumFreeCount : Integer
  read FMinFree
  write SetMinFree;


TDynHashArrayItemMemManager.NewItem

Declaration

Source position: dynhasharray.pp line 151

public function TDynHashArrayItemMemManager.NewItem: PDynHashArrayItem;


TDynHashArrayItemMemManager.WriteDebugReport

Declaration

Source position: dynhasharray.pp line 160

public procedure TDynHashArrayItemMemManager.WriteDebugReport;


TDynamicDataQueue

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: dynqueue.pas line 41

type TDynamicDataQueue = class

public

  constructor Create;

  destructor Destroy; override;

  procedure Clear;

  procedure ConsistencyCheck;

  procedure WriteDebugReport();

  function Push();

  function Pop();

  function Top();

  property Size: Int64; [r]

  property MinimumBlockSize: Integer; [rw]

  property MaximumBlockSize: Integer; [rw]

end;

Inheritance

TDynamicDataQueue
|

TObject


TDynamicDataQueue
 | ro | Size
 |  | MinimumBlockSize
 |  | MaximumBlockSize


ro | Size (TDynamicDataQueue)


TDynamicDataQueue
 | Create
 | Destroy
 | Clear
 | ConsistencyCheck
 | WriteDebugReport
 | Push
 | Pop
 | Top


Clear (TDynamicDataQueue)

ConsistencyCheck (TDynamicDataQueue)

Create (TDynamicDataQueue)

Destroy (TDynamicDataQueue)

Pop (TDynamicDataQueue)

Push (TDynamicDataQueue)

Top (TDynamicDataQueue)

WriteDebugReport (TDynamicDataQueue)


TDynamicDataQueue


TDynamicDataQueue.Clear

Declaration

Source position: dynqueue.pas line 62

public procedure TDynamicDataQueue.Clear;


TDynamicDataQueue.ConsistencyCheck

Declaration

Source position: dynqueue.pas line 63

public procedure TDynamicDataQueue.ConsistencyCheck;


TDynamicDataQueue.Create

Declaration

Source position: dynqueue.pas line 60

public constructor TDynamicDataQueue.Create;


TDynamicDataQueue.Destroy

Declaration

Source position: dynqueue.pas line 61

public destructor TDynamicDataQueue.Destroy; override;


TDynamicDataQueue.MaximumBlockSize

Declaration

Source position: dynqueue.pas line 73

public property TDynamicDataQueue.MaximumBlockSize : Integer
  read FMaximumBlockSize
  write SetMaximumBlockSize;


TDynamicDataQueue.MinimumBlockSize

Declaration

Source position: dynqueue.pas line 72

public property TDynamicDataQueue.MinimumBlockSize : Integer
  read FMinimumBlockSize
  write SetMinimumBlockSize;


TDynamicDataQueue.Pop

Declaration

Source position: dynqueue.pas line 67

public function TDynamicDataQueue.Pop(

  var Buffer;

  Count: Integer

):Integer;

function TDynamicDataQueue.Pop(

  AStream: TStream;

  Count: Integer

):Integer;


TDynamicDataQueue.Push

Declaration

Source position: dynqueue.pas line 65

public function TDynamicDataQueue.Push(

  const Buffer;

  Count: Integer

):Integer;

function TDynamicDataQueue.Push(

  AStream: TStream;

  Count: Integer

):Integer;


TDynamicDataQueue.Size

Declaration

Source position: dynqueue.pas line 71

public property TDynamicDataQueue.Size : Int64
  read FSize;


TDynamicDataQueue.Top

Declaration

Source position: dynqueue.pas line 69

public function TDynamicDataQueue.Top(

  var Buffer;

  Count: Integer

):Integer;

function TDynamicDataQueue.Top(

  AStream: TStream;

  Count: Integer

):Integer;


TDynamicDataQueue.WriteDebugReport

Declaration

Source position: dynqueue.pas line 64

public procedure TDynamicDataQueue.WriteDebugReport(

  WriteData: Boolean

);


EFreeType

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 59

type EFreeType = class(Exception)

Inheritance

EFreeType

|

Exception
|

TObject


EFreeType
Exception
 | HelpContext
 | Message
TObject


EFreeType
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


EFreeType

Exception

TObject


IFreeTypeFamilyEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 134

type IFreeTypeFamilyEnumerator = interface

  function MoveNext;

  function GetCurrent;

  property Current: TCustomFamilyCollectionItem; [r]

end;

Inheritance

IFreeTypeFamilyEnumerator

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


IFreeTypeFamilyEnumerator

ro

Current


ro

Current (IFreeTypeFamilyEnumerator)


IFreeTypeFamilyEnumerator
 | MoveNext
 | GetCurrent


IFreeTypeFamilyEnumerator


IFreeTypeFamilyEnumerator.Current

Declaration

Source position: easylazfreetype.pas line 137

property IFreeTypeFamilyEnumerator.Current : TCustomFamilyCollectionItem
  read GetCurrent;


IFreeTypeFamilyEnumerator.GetCurrent

Declaration

Source position: easylazfreetype.pas line 136

function IFreeTypeFamilyEnumerator.GetCurrent: TCustomFamilyCollectionItem;


IFreeTypeFamilyEnumerator.MoveNext

Declaration

Source position: easylazfreetype.pas line 135

function IFreeTypeFamilyEnumerator.MoveNext: Boolean;


IFreeTypeFontEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 104

type IFreeTypeFontEnumerator = interface

  function MoveNext;

  function GetCurrent;

  property Current: TCustomFontCollectionItem; [r]

end;

Inheritance

IFreeTypeFontEnumerator

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


IFreeTypeFontEnumerator

ro

Current


ro

Current (IFreeTypeFontEnumerator)


IFreeTypeFontEnumerator
 | MoveNext
 | GetCurrent


IFreeTypeFontEnumerator


IFreeTypeFontEnumerator.Current

Declaration

Source position: easylazfreetype.pas line 107

property IFreeTypeFontEnumerator.Current : TCustomFontCollectionItem
  read GetCurrent;


IFreeTypeFontEnumerator.GetCurrent

Declaration

Source position: easylazfreetype.pas line 106

function IFreeTypeFontEnumerator.GetCurrent: TCustomFontCollectionItem;


IFreeTypeFontEnumerator.MoveNext

Declaration

Source position: easylazfreetype.pas line 105

function IFreeTypeFontEnumerator.MoveNext: Boolean;


TCustomFamilyCollectionItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 112

type TCustomFamilyCollectionItem = class

protected

  function GetFontByIndex(); virtual; abstract;

  function GetStyle(); virtual; abstract;

  function GetStyles; virtual; abstract;

  function GetFamilyName; virtual; abstract;

  function GetFontCount; virtual; abstract;

  function GetStyleCount; virtual; abstract;

public

  function GetFont();

  function GetFontIndex();

  function HasStyle(); virtual; abstract;

  property FamilyName: string; [r]

  property Font []: TCustomFontCollectionItem; [r]

  property FontCount: Integer; [r]

  property Style []: string; [r]

  property StyleCount: Integer; [r]

  property Styles: string; [r]

end;

Inheritance

TCustomFamilyCollectionItem

|

TObject


TCustomFamilyCollectionItem
 | ro | FamilyName
 | ro | Font
 | ro | FontCount
 | ro | Style
 | ro | StyleCount
 | ro | Styles


ro | FamilyName (TCustomFamilyCollectionItem)
ro | Font (TCustomFamilyCollectionItem)
ro | FontCount (TCustomFamilyCollectionItem)
ro | Style (TCustomFamilyCollectionItem)
ro | StyleCount (TCustomFamilyCollectionItem)
ro | Styles (TCustomFamilyCollectionItem)


TCustomFamilyCollectionItem
pt | GetFontByIndex
pt | GetStyle
pt | GetStyles
pt | GetFamilyName
pt | GetFontCount
pt | GetStyleCount
 | GetFont
 | GetFontIndex
 | HasStyle


pt | GetFamilyName (TCustomFamilyCollectionItem)
 | GetFont (TCustomFamilyCollectionItem)
pt | GetFontByIndex (TCustomFamilyCollectionItem)
pt | GetFontCount (TCustomFamilyCollectionItem)
 | GetFontIndex (TCustomFamilyCollectionItem)
pt | GetStyle (TCustomFamilyCollectionItem)
pt | GetStyleCount (TCustomFamilyCollectionItem)
pt | GetStyles (TCustomFamilyCollectionItem)
 | HasStyle (TCustomFamilyCollectionItem)


TCustomFamilyCollectionItem


TCustomFamilyCollectionItem.FamilyName

Declaration

Source position: easylazfreetype.pas line 126

public property TCustomFamilyCollectionItem.FamilyName : string
  read GetFamilyName;


TCustomFamilyCollectionItem.Font

Declaration

Source position: easylazfreetype.pas line 127

public property TCustomFamilyCollectionItem.Font[AIndex: Integer] : TCustomFontCollectionItem
  read GetFontByIndex;


TCustomFamilyCollectionItem.FontCount

Declaration

Source position: easylazfreetype.pas line 128

public property TCustomFamilyCollectionItem.FontCount : Integer
  read GetFontCount;


TCustomFamilyCollectionItem.GetFamilyName

Declaration

Source position: easylazfreetype.pas line 117

protected function TCustomFamilyCollectionItem.GetFamilyName: string; virtual; abstract;


TCustomFamilyCollectionItem.GetFont

Declaration

Source position: easylazfreetype.pas line 121

public function TCustomFamilyCollectionItem.GetFont(

  const AStyles: array of string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):TCustomFontCollectionItem; virtual; abstract; overload;

function TCustomFamilyCollectionItem.GetFont(

  AStyle: string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):TCustomFontCollectionItem; virtual; abstract; overload;


TCustomFamilyCollectionItem.GetFontByIndex

Declaration

Source position: easylazfreetype.pas line 114

protected function TCustomFamilyCollectionItem.GetFontByIndex(

  AIndex: Integer

):TCustomFontCollectionItem; virtual; abstract;


TCustomFamilyCollectionItem.GetFontCount

Declaration

Source position: easylazfreetype.pas line 118

protected function TCustomFamilyCollectionItem.GetFontCount: Integer; virtual; abstract;


TCustomFamilyCollectionItem.GetFontIndex

Declaration

Source position: easylazfreetype.pas line 123

public function TCustomFamilyCollectionItem.GetFontIndex(

  const AStyles: array of string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):Integer; virtual; abstract; overload;

function TCustomFamilyCollectionItem.GetFontIndex(

  AStyle: string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):Integer; virtual; abstract; overload;


TCustomFamilyCollectionItem.GetStyle

Declaration

Source position: easylazfreetype.pas line 115

protected function TCustomFamilyCollectionItem.GetStyle(

  AIndex: Integer

):string; virtual; abstract;


TCustomFamilyCollectionItem.GetStyleCount

Declaration

Source position: easylazfreetype.pas line 119

protected function TCustomFamilyCollectionItem.GetStyleCount: Integer; virtual; abstract;


TCustomFamilyCollectionItem.GetStyles

Declaration

Source position: easylazfreetype.pas line 116

protected function TCustomFamilyCollectionItem.GetStyles: string; virtual; abstract;


TCustomFamilyCollectionItem.HasStyle

Declaration

Source position: easylazfreetype.pas line 125

public function TCustomFamilyCollectionItem.HasStyle(

  AName: string

):Boolean; virtual; abstract;


TCustomFamilyCollectionItem.Style

Declaration

Source position: easylazfreetype.pas line 129

public property TCustomFamilyCollectionItem.Style[AIndex: Integer] : string
  read GetStyle;


TCustomFamilyCollectionItem.StyleCount

Declaration

Source position: easylazfreetype.pas line 130

public property TCustomFamilyCollectionItem.StyleCount : Integer
  read GetStyleCount;


TCustomFamilyCollectionItem.Styles

Declaration

Source position: easylazfreetype.pas line 131

public property TCustomFamilyCollectionItem.Styles : string
  read GetStyles;


TCustomFontCollectionItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 75

type TCustomFontCollectionItem = class

protected

  FFamily: TCustomFamilyCollectionItem;

  function GetBold; virtual; abstract;

  function GetInformation(); virtual; abstract;

  function GetItalic; virtual; abstract;

  function GetStyleCount; virtual; abstract;

  function GetStyles; virtual; abstract;

  function GetFilename; virtual; abstract;

  function GetVersionNumber; virtual; abstract;

  function GetStyle(); virtual; abstract;

  procedure NotifyDestroy; virtual; abstract;

public

  function HasStyle(); virtual; abstract;

  function CreateFont; virtual; abstract;

  function QueryFace(); virtual; abstract;

  procedure ReleaseFace(); virtual; abstract;

  property Styles: string; [r]

  property Italic: Boolean; [r]

  property Bold: Boolean; [r]

  property Filename: string; [r]

  property Information []: string; [r]

  property VersionNumber: string; [r]

  property Style []: string; [r]

  property StyleCount: Integer; [r]

  property Family: TCustomFamilyCollectionItem; [rw]

end;

Inheritance

TCustomFontCollectionItem

|

TObject


TCustomFontCollectionItem
 | ro | Styles
 | ro | Italic
 | ro | Bold
 | ro | Filename
 | ro | Information
 | ro | VersionNumber
 | ro | Style
 | ro | StyleCount
 |  | Family


ro | Bold (TCustomFontCollectionItem)
 | Family (TCustomFontCollectionItem)
ro | Filename (TCustomFontCollectionItem)
ro | Information (TCustomFontCollectionItem)
ro | Italic (TCustomFontCollectionItem)
ro | Style (TCustomFontCollectionItem)
ro | StyleCount (TCustomFontCollectionItem)
ro | Styles (TCustomFontCollectionItem)
ro | VersionNumber (TCustomFontCollectionItem)


TCustomFontCollectionItem
pt | GetBold
pt | GetInformation
pt | GetItalic
pt | GetStyleCount
pt | GetStyles
pt | GetFilename
pt | GetVersionNumber
pt | GetStyle
pt | NotifyDestroy
 | HasStyle
 | CreateFont
 | QueryFace
 | ReleaseFace


pt | GetBold (TCustomFontCollectionItem)
pt | GetFilename (TCustomFontCollectionItem)
pt | GetInformation (TCustomFontCollectionItem)
pt | GetItalic (TCustomFontCollectionItem)
pt | GetStyle (TCustomFontCollectionItem)
pt | GetStyleCount (TCustomFontCollectionItem)
pt | GetStyles (TCustomFontCollectionItem)
pt | GetVersionNumber (TCustomFontCollectionItem)
 | HasStyle (TCustomFontCollectionItem)
pt | NotifyDestroy (TCustomFontCollectionItem)
 | QueryFace (TCustomFontCollectionItem)
 | ReleaseFace (TCustomFontCollectionItem)


TCustomFontCollectionItem


TCustomFontCollectionItem.Bold

Declaration

Source position: easylazfreetype.pas line 95

public property TCustomFontCollectionItem.Bold : Boolean
  read GetBold;


TCustomFontCollectionItem.CreateFont

Declaration

Source position: easylazfreetype.pas line 89

public function TCustomFontCollectionItem.CreateFont: TFreeTypeFont; virtual; abstract;


TCustomFontCollectionItem.Family

Declaration

Source position: easylazfreetype.pas line 101

public property TCustomFontCollectionItem.Family : TCustomFamilyCollectionItem
  read FFamily
  write FFamily;


TCustomFontCollectionItem.FFamily

Declaration

Source position: easylazfreetype.pas line 77

protected TCustomFontCollectionItem.FFamily : TCustomFamilyCollectionItem;


TCustomFontCollectionItem.Filename

Declaration

Source position: easylazfreetype.pas line 96

public property TCustomFontCollectionItem.Filename : string
  read GetFilename;


TCustomFontCollectionItem.GetBold

Declaration

Source position: easylazfreetype.pas line 78

protected function TCustomFontCollectionItem.GetBold: Boolean; virtual; abstract;


TCustomFontCollectionItem.GetFilename

Declaration

Source position: easylazfreetype.pas line 83

protected function TCustomFontCollectionItem.GetFilename: string; virtual; abstract;


TCustomFontCollectionItem.GetInformation

Declaration

Source position: easylazfreetype.pas line 79

protected function TCustomFontCollectionItem.GetInformation(

  AIndex: TFreeTypeInformation

):string; virtual; abstract;


TCustomFontCollectionItem.GetItalic

Declaration

Source position: easylazfreetype.pas line 80

protected function TCustomFontCollectionItem.GetItalic: Boolean; virtual; abstract;


TCustomFontCollectionItem.GetStyle

Declaration

Source position: easylazfreetype.pas line 85

protected function TCustomFontCollectionItem.GetStyle(

  AIndex: Integer

):string; virtual; abstract;


TCustomFontCollectionItem.GetStyleCount

Declaration

Source position: easylazfreetype.pas line 81

protected function TCustomFontCollectionItem.GetStyleCount: Integer; virtual; abstract;


TCustomFontCollectionItem.GetStyles

Declaration

Source position: easylazfreetype.pas line 82

protected function TCustomFontCollectionItem.GetStyles: string; virtual; abstract;


TCustomFontCollectionItem.GetVersionNumber

Declaration

Source position: easylazfreetype.pas line 84

protected function TCustomFontCollectionItem.GetVersionNumber: string; virtual; abstract;


TCustomFontCollectionItem.HasStyle

Declaration

Source position: easylazfreetype.pas line 88

public function TCustomFontCollectionItem.HasStyle(

  AStyle: string

):Boolean; virtual; abstract;


TCustomFontCollectionItem.Information

Declaration

Source position: easylazfreetype.pas line 97

public property TCustomFontCollectionItem.Information[AIndex: TFreeTypeInformation] : string
  read GetInformation;


TCustomFontCollectionItem.Italic

Declaration

Source position: easylazfreetype.pas line 94

public property TCustomFontCollectionItem.Italic : Boolean
  read GetItalic;


TCustomFontCollectionItem.NotifyDestroy

Declaration

Source position: easylazfreetype.pas line 86

protected procedure TCustomFontCollectionItem.NotifyDestroy; virtual; abstract;


TCustomFontCollectionItem.QueryFace

Declaration

Source position: easylazfreetype.pas line 90

public function TCustomFontCollectionItem.QueryFace(

  AListener: TFontCollectionItemDestroyListener

):TT_Face; virtual; abstract;


TCustomFontCollectionItem.ReleaseFace

Declaration

Source position: easylazfreetype.pas line 91

public procedure TCustomFontCollectionItem.ReleaseFace(

  AListener: TFontCollectionItemDestroyListener

); virtual; abstract;


TCustomFontCollectionItem.Style

Declaration

Source position: easylazfreetype.pas line 99

public property TCustomFontCollectionItem.Style[AIndex: Integer] : string
  read GetStyle;


TCustomFontCollectionItem.StyleCount

Declaration

Source position: easylazfreetype.pas line 100

public property TCustomFontCollectionItem.StyleCount : Integer
  read GetStyleCount;


TCustomFontCollectionItem.Styles

Declaration

Source position: easylazfreetype.pas line 93

public property TCustomFontCollectionItem.Styles : string
  read GetStyles;


TCustomFontCollectionItem.VersionNumber

Declaration

Source position: easylazfreetype.pas line 98

public property TCustomFontCollectionItem.VersionNumber : string
  read GetVersionNumber;


TCustomFreeTypeFontCollection

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 142

type TCustomFreeTypeFontCollection = class

protected

  function GetFont(); virtual; abstract;

  function GetFamily(); virtual; abstract;

  function GetFamilyCount; virtual; abstract;

  function GetFontCount; virtual; abstract;

public

  constructor Create; virtual; abstract;

  procedure Clear; virtual; abstract;

  procedure BeginUpdate; virtual; abstract;

  procedure AddFolder(); virtual; abstract;

  procedure RemoveFolder(); virtual; abstract;

  function AddFile(); virtual; abstract;

  function RemoveFile(); virtual; abstract;

  function AddStream(); virtual; abstract;

  procedure EndUpdate; virtual; abstract;

  function FontFileEnumerator; virtual; abstract;

  function FamilyEnumerator; virtual; abstract;

  property FontFileCount: Integer; [r]

  property FontFile []: TCustomFontCollectionItem; [r]

  property FamilyCount: Integer; [r]

  property Family []: TCustomFamilyCollectionItem; [r]

end;

Inheritance

TCustomFreeTypeFontCollection

|

TObject


TCustomFreeTypeFontCollection
 | ro | FontFileCount
 | ro | FontFile
 | ro | FamilyCount
 | ro | Family


ro | Family (TCustomFreeTypeFontCollection)
ro | FamilyCount (TCustomFreeTypeFontCollection)
ro | FontFile (TCustomFreeTypeFontCollection)
ro | FontFileCount (TCustomFreeTypeFontCollection)


TCustomFreeTypeFontCollection
pt | GetFont
pt | GetFamily
pt | GetFamilyCount
pt | GetFontCount
 | Create
 | Clear
 | BeginUpdate
 | AddFolder
 | RemoveFolder
 | AddFile
 | RemoveFile
 | AddStream
 | EndUpdate
 | FontFileEnumerator
 | FamilyEnumerator


 | AddFile (TCustomFreeTypeFontCollection)
 | AddFolder (TCustomFreeTypeFontCollection)
 | AddStream (TCustomFreeTypeFontCollection)
 | BeginUpdate (TCustomFreeTypeFontCollection)
 | Clear (TCustomFreeTypeFontCollection)
 | Create (TCustomFreeTypeFontCollection)
 | EndUpdate (TCustomFreeTypeFontCollection)
 | FamilyEnumerator (TCustomFreeTypeFontCollection)
 | FontFileEnumerator (TCustomFreeTypeFontCollection)
pt | GetFamily (TCustomFreeTypeFontCollection)
pt | GetFamilyCount (TCustomFreeTypeFontCollection)
pt | GetFont (TCustomFreeTypeFontCollection)
pt | GetFontCount (TCustomFreeTypeFontCollection)
 | RemoveFile (TCustomFreeTypeFontCollection)
 | RemoveFolder (TCustomFreeTypeFontCollection)


TCustomFreeTypeFontCollection


TCustomFreeTypeFontCollection.AddFile

Declaration

Source position: easylazfreetype.pas line 154

public function TCustomFreeTypeFontCollection.AddFile(

  AFilename: string

):TCustomFontCollectionItem; virtual; abstract;


TCustomFreeTypeFontCollection.AddFolder

Declaration

Source position: easylazfreetype.pas line 152

public procedure TCustomFreeTypeFontCollection.AddFolder(

  AFolder: string;

  AIncludeSubdirs: Boolean = False

); virtual; abstract;


TCustomFreeTypeFontCollection.AddStream

Declaration

Source position: easylazfreetype.pas line 156

public function TCustomFreeTypeFontCollection.AddStream(

  AStream: TStream;

  AOwned: Boolean

):Boolean; virtual; abstract;


TCustomFreeTypeFontCollection.BeginUpdate

Declaration

Source position: easylazfreetype.pas line 151

public procedure TCustomFreeTypeFontCollection.BeginUpdate; virtual; abstract;


TCustomFreeTypeFontCollection.Clear

Declaration

Source position: easylazfreetype.pas line 150

public procedure TCustomFreeTypeFontCollection.Clear; virtual; abstract;


TCustomFreeTypeFontCollection.Create

Declaration

Source position: easylazfreetype.pas line 149

public constructor TCustomFreeTypeFontCollection.Create; virtual; abstract;


TCustomFreeTypeFontCollection.EndUpdate

Declaration

Source position: easylazfreetype.pas line 157

public procedure TCustomFreeTypeFontCollection.EndUpdate; virtual; abstract;


TCustomFreeTypeFontCollection.Family

Declaration

Source position: easylazfreetype.pas line 163

public property TCustomFreeTypeFontCollection.Family[AName: string] : TCustomFamilyCollectionItem
  read GetFamily;


TCustomFreeTypeFontCollection.FamilyCount

Declaration

Source position: easylazfreetype.pas line 162

public property TCustomFreeTypeFontCollection.FamilyCount : Integer
  read GetFamilyCount;


TCustomFreeTypeFontCollection.FamilyEnumerator

Declaration

Source position: easylazfreetype.pas line 159

public function TCustomFreeTypeFontCollection.FamilyEnumerator: IFreeTypeFamilyEnumerator; virtual; abstract;


TCustomFreeTypeFontCollection.FontFile

Declaration

Source position: easylazfreetype.pas line 161

public property TCustomFreeTypeFontCollection.FontFile[AFileName: string] : TCustomFontCollectionItem
  read GetFont;


TCustomFreeTypeFontCollection.FontFileCount

Declaration

Source position: easylazfreetype.pas line 160

public property TCustomFreeTypeFontCollection.FontFileCount : Integer
  read GetFontCount;


TCustomFreeTypeFontCollection.FontFileEnumerator

Declaration

Source position: easylazfreetype.pas line 158

public function TCustomFreeTypeFontCollection.FontFileEnumerator: IFreeTypeFontEnumerator; virtual; abstract;


TCustomFreeTypeFontCollection.GetFamily

Declaration

Source position: easylazfreetype.pas line 145

protected function TCustomFreeTypeFontCollection.GetFamily(

  AName: string

):TCustomFamilyCollectionItem; virtual; abstract;


TCustomFreeTypeFontCollection.GetFamilyCount

Declaration

Source position: easylazfreetype.pas line 146

protected function TCustomFreeTypeFontCollection.GetFamilyCount: Integer; virtual; abstract;


TCustomFreeTypeFontCollection.GetFont

Declaration

Source position: easylazfreetype.pas line 144

protected function TCustomFreeTypeFontCollection.GetFont(

  AFileName: string

):TCustomFontCollectionItem; virtual; abstract;


TCustomFreeTypeFontCollection.GetFontCount

Declaration

Source position: easylazfreetype.pas line 147

protected function TCustomFreeTypeFontCollection.GetFontCount: Integer; virtual; abstract;


TCustomFreeTypeFontCollection.RemoveFile

Declaration

Source position: easylazfreetype.pas line 155

public function TCustomFreeTypeFontCollection.RemoveFile(

  AFilename: string

):Boolean; virtual; abstract;


TCustomFreeTypeFontCollection.RemoveFolder

Declaration

Source position: easylazfreetype.pas line 153

public procedure TCustomFreeTypeFontCollection.RemoveFolder(

  AFolder: string

); virtual; abstract;


TFreeTypeDrawer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 205

type TFreeTypeDrawer = class

  procedure DrawText();

  procedure DrawTextWordBreak();

  procedure DrawTextRect();

  procedure DrawGlyph();

end;

Inheritance

TFreeTypeDrawer

|

TObject


TFreeTypeDrawer


TFreeTypeDrawer
 | DrawText
 | DrawTextWordBreak
 | DrawTextRect
 | DrawGlyph


DrawGlyph (TFreeTypeDrawer)

DrawText (TFreeTypeDrawer)

DrawTextRect (TFreeTypeDrawer)

DrawTextWordBreak (TFreeTypeDrawer)


TFreeTypeDrawer.DrawGlyph

Declaration

Source position: easylazfreetype.pas line 212

procedure TFreeTypeDrawer.DrawGlyph(

  AGlyph: Integer;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor

); virtual; abstract; overload;

procedure TFreeTypeDrawer.DrawGlyph(

  AGlyph: Integer;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor;

  AAlign: TFreeTypeAlignments

); virtual; overload;


TFreeTypeDrawer.DrawText

Declaration

Source position: easylazfreetype.pas line 206

procedure TFreeTypeDrawer.DrawText(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor;

  AOpacity: Byte

); virtual; overload;

procedure TFreeTypeDrawer.DrawText(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor;

  AOpacity: Byte;

  AAlign: TFreeTypeAlignments

); virtual; overload;

procedure TFreeTypeDrawer.DrawText(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor

); virtual; abstract; overload;

procedure TFreeTypeDrawer.DrawText(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor;

  AAlign: TFreeTypeAlignments

); virtual; overload;


TFreeTypeDrawer.DrawTextRect

Declaration

Source position: easylazfreetype.pas line 211

procedure TFreeTypeDrawer.DrawTextRect(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  X1: Single;

  Y1: Single;

  X2: Single;

  Y2: Single;

  AColor: TFPColor;

  AAlign: TFreeTypeAlignments

);


TFreeTypeDrawer.DrawTextWordBreak

Declaration

Source position: easylazfreetype.pas line 210

procedure TFreeTypeDrawer.DrawTextWordBreak(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: Single;

  y: Single;

  AMaxWidth: Single;

  AColor: TFPColor;

  AAlign: TFreeTypeAlignments

);


TFreeTypeFont

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 220

type TFreeTypeFont = class(TFreeTypeRenderableFont)

protected

  FFace: TT_Face;

  FFaceItem: TCustomFontCollectionItem;

  FFaceLoaded: Boolean;

  FInstance: TT_Instance;

  FInstanceCreated: Boolean;

  FGlyphTable: TAvlTree;

  FCharMap: TT_CharMap;

  FCharmapOk: Boolean;

  FCharmapSymbol: Boolean;

  FAscentValue: single;

  FDescentValue: single;

  FLineGapValue: single;

  FLargeLineGapValue: single;

  FCapHeight: single;

  FUnitsPerEM: TT_UShort;

  procedure FaceChanged;

  function GetClearType; override;

  procedure SetClearType(); override;

  function GetLineFullHeight; override;

  function GetAscent; override;

  function GetDescent; override;

  function GetLineSpacing; override;

  function GetCapHeight;

  procedure SetHinted(); override;

  function GetHinted; override;

  procedure OnDestroyFontItem;

  procedure FetchNames;

  function GetCollection;

  function CheckFace;

public

  Quality: TGlyphRenderQuality;

  SmallLinePadding: Boolean;

  constructor Create;

  destructor Destroy; override;

  procedure AccessFromStream();

  procedure RenderText(); override;

  procedure RenderGlyph();

  procedure SetNameAndStyle();

  function TextWidth(); override;

  function TextHeight(); override;

  function CharWidthFromUnicode(); override;

  function CharWidthFromGlyph();

  function CharsWidth();

  function CharsPosition();

  function CheckInstance;

  property Name: string; [rw]

  property DPI: Integer; [rw]

  property SizeInPoints: single; [rw]

  property SizeInPixels: single; [rw]

  property CapHeight: single; [r]

  property Glyph []: TFreeTypeGlyph; [r]

  property GlyphCount: Integer; [r]

  property CharKerning []: TFreeTypeKerning; [r]

  property GlyphKerning []: TFreeTypeKerning; [r]

  property CharIndex []: Integer; [r]

  property Hinted: Boolean; [rw]

  property KerningEnabled: Boolean; [rw]

  property KerningFallbackEnabled: Boolean; [rw]

  property WidthFactor: single; [rw]

  property LineFullHeight: single; [rw]

  property Information []: string; [r]

  property VersionNumber: string; [r]

  property Family: string; [r]

  property Collection: TCustomFreeTypeFontCollection; [rw]

  property StyleAsString: string; [rw]

  property Style: TFreeTypeStyles; [rw]

end;

Inheritance

TFreeTypeFont

|

TFreeTypeRenderableFont

|

TObject


TFreeTypeFont
 |  | Name
 |  | DPI
 |  | SizeInPoints
 |  | SizeInPixels
 | ro | CapHeight
 | ro | Glyph
 | ro | GlyphCount
 | ro | CharKerning
 | ro | GlyphKerning
 | ro | CharIndex
 |  | Hinted
 |  | KerningEnabled
 |  | KerningFallbackEnabled
 |  | WidthFactor
 |  | LineFullHeight
 | ro | Information
 | ro | VersionNumber
 | ro | Family
 |  | Collection
 |  | StyleAsString
 |  | Style
TFreeTypeRenderableFont
 |  | ClearType
 | ro | Ascent
 | ro | Descent
 | ro | LineSpacing
 | ro | LineFullHeight
 |  | Hinted


ro | Ascent (TFreeTypeRenderableFont)
ro | CapHeight (TFreeTypeFont)
ro | CharIndex (TFreeTypeFont)
ro | CharKerning (TFreeTypeFont)
 | ClearType (TFreeTypeRenderableFont)
 | Collection (TFreeTypeFont)
ro | Descent (TFreeTypeRenderableFont)
 | DPI (TFreeTypeFont)
ro | Family (TFreeTypeFont)
ro | Glyph (TFreeTypeFont)
ro | GlyphCount (TFreeTypeFont)
ro | GlyphKerning (TFreeTypeFont)
 | Hinted (TFreeTypeRenderableFont)
 | Hinted (TFreeTypeFont)
ro | Information (TFreeTypeFont)
 | KerningEnabled (TFreeTypeFont)
 | KerningFallbackEnabled (TFreeTypeFont)
ro | LineFullHeight (TFreeTypeRenderableFont)
 | LineFullHeight (TFreeTypeFont)
ro | LineSpacing (TFreeTypeRenderableFont)
 | Name (TFreeTypeFont)
 | SizeInPixels (TFreeTypeFont)
 | SizeInPoints (TFreeTypeFont)
 | Style (TFreeTypeFont)
 | StyleAsString (TFreeTypeFont)
ro | VersionNumber (TFreeTypeFont)
 | WidthFactor (TFreeTypeFont)


TFreeTypeFont
pt | FaceChanged
pt | GetClearType
pt | SetClearType
pt | GetLineFullHeight
pt | GetAscent
pt | GetDescent
pt | GetLineSpacing
pt | GetCapHeight
pt | SetHinted
pt | GetHinted
pt | OnDestroyFontItem
pt | FetchNames
pt | GetCollection
pt | CheckFace
 | Create
 | Destroy
 | AccessFromStream
 | RenderText
 | RenderGlyph
 | SetNameAndStyle
 | TextWidth
 | TextHeight
 | CharWidthFromUnicode
 | CharWidthFromGlyph
 | CharsWidth
 | CharsPosition
 | CheckInstance
TFreeTypeRenderableFont
pt | GetClearType
pt | SetClearType
pt | GetLineFullHeight
pt | GetAscent
pt | GetDescent
pt | GetLineSpacing
pt | DefaultWordBreakHandler
pt | GetHinted
pt | SetHinted
 | TextWidth
 | TextHeight
 | CharWidthFromUnicode
 | SplitText
 | GetTextSize
 | RenderText


 | AccessFromStream (TFreeTypeFont)
 | CharsPosition (TFreeTypeFont)
 | CharsWidth (TFreeTypeFont)
 | CharWidthFromGlyph (TFreeTypeFont)
 | CharWidthFromUnicode (TFreeTypeRenderableFont)
 | CharWidthFromUnicode (TFreeTypeFont)
pt | CheckFace (TFreeTypeFont)
 | CheckInstance (TFreeTypeFont)
 | Create (TFreeTypeFont)
pt | DefaultWordBreakHandler (TFreeTypeRenderableFont)
 | Destroy (TFreeTypeFont)
pt | FaceChanged (TFreeTypeFont)
pt | FetchNames (TFreeTypeFont)
pt | GetAscent (TFreeTypeRenderableFont)
pt | GetAscent (TFreeTypeFont)
pt | GetCapHeight (TFreeTypeFont)
pt | GetClearType (TFreeTypeRenderableFont)
pt | GetClearType (TFreeTypeFont)
pt | GetCollection (TFreeTypeFont)
pt | GetDescent (TFreeTypeRenderableFont)
pt | GetDescent (TFreeTypeFont)
pt | GetHinted (TFreeTypeRenderableFont)
pt | GetHinted (TFreeTypeFont)
pt | GetLineFullHeight (TFreeTypeRenderableFont)
pt | GetLineFullHeight (TFreeTypeFont)
pt | GetLineSpacing (TFreeTypeRenderableFont)
pt | GetLineSpacing (TFreeTypeFont)
 | GetTextSize (TFreeTypeRenderableFont)
pt | OnDestroyFontItem (TFreeTypeFont)
 | RenderGlyph (TFreeTypeFont)
 | RenderText (TFreeTypeRenderableFont)
 | RenderText (TFreeTypeFont)
pt | SetClearType (TFreeTypeRenderableFont)
pt | SetClearType (TFreeTypeFont)
pt | SetHinted (TFreeTypeRenderableFont)
pt | SetHinted (TFreeTypeFont)
 | SetNameAndStyle (TFreeTypeFont)
 | SplitText (TFreeTypeRenderableFont)
 | TextHeight (TFreeTypeRenderableFont)
 | TextHeight (TFreeTypeFont)
 | TextWidth (TFreeTypeRenderableFont)
 | TextWidth (TFreeTypeFont)


TFreeTypeFont
TFreeTypeRenderableFont
 | OnWordBreak
 | OnRenderText


TFreeTypeFont.AccessFromStream

Declaration

Source position: easylazfreetype.pas line 297

public procedure TFreeTypeFont.AccessFromStream(

  AStream: TStream;

  AStreamOwner: Boolean

);


TFreeTypeFont.CapHeight

Declaration

Source position: easylazfreetype.pas line 314

public property TFreeTypeFont.CapHeight : single
  read GetCapHeight;


TFreeTypeFont.CharIndex

Declaration

Source position: easylazfreetype.pas line 319

public property TFreeTypeFont.CharIndex[AUnicodeChar: Integer] : Integer
  read GetCharIndex;


TFreeTypeFont.CharKerning

Declaration

Source position: easylazfreetype.pas line 317

public property TFreeTypeFont.CharKerning[AUnicodeCharLeft: Integer,AUnicodeCharRight: Integer] : TFreeTypeKerning
  read GetCharKerning;


TFreeTypeFont.CharsPosition

Declaration

Source position: easylazfreetype.pas line 307

public function TFreeTypeFont.CharsPosition(

  AText: string

):ArrayOfCharPosition; overload;

function TFreeTypeFont.CharsPosition(

  AText: string;

  AAlign: TFreeTypeAlignments

):ArrayOfCharPosition; overload;


TFreeTypeFont.CharsWidth

Declaration

Source position: easylazfreetype.pas line 306

public function TFreeTypeFont.CharsWidth(

  AText: string

):ArrayOfSingle;


TFreeTypeFont.CharWidthFromGlyph

Declaration

Source position: easylazfreetype.pas line 305

public function TFreeTypeFont.CharWidthFromGlyph(

  AGlyph: Integer

):single;


TFreeTypeFont.CharWidthFromUnicode

Declaration

Source position: easylazfreetype.pas line 304

public function TFreeTypeFont.CharWidthFromUnicode(

  AUnicodeChar: Integer

):single; override;


TFreeTypeFont.CheckFace

Declaration

Source position: easylazfreetype.pas line 291

protected function TFreeTypeFont.CheckFace: Boolean;


TFreeTypeFont.CheckInstance

Declaration

Source position: easylazfreetype.pas line 309

public function TFreeTypeFont.CheckInstance: Boolean;


TFreeTypeFont.Collection

Declaration

Source position: easylazfreetype.pas line 330

public property TFreeTypeFont.Collection : TCustomFreeTypeFontCollection
  read GetCollection
  write FCollection;


TFreeTypeFont.Create

Declaration

Source position: easylazfreetype.pas line 295

public constructor TFreeTypeFont.Create;


TFreeTypeFont.Destroy

Declaration

Source position: easylazfreetype.pas line 296

public destructor TFreeTypeFont.Destroy; override;


TFreeTypeFont.DPI

Declaration

Source position: easylazfreetype.pas line 311

public property TFreeTypeFont.DPI : Integer
  read GetDPI
  write SetDPI;


TFreeTypeFont.FaceChanged

Declaration

Source position: easylazfreetype.pas line 278

protected procedure TFreeTypeFont.FaceChanged;


TFreeTypeFont.Family

Declaration

Source position: easylazfreetype.pas line 329

public property TFreeTypeFont.Family : string
  read GetFamily;


TFreeTypeFont.FAscentValue

Declaration

Source position: easylazfreetype.pas line 276

protected TFreeTypeFont.FAscentValue : single;


TFreeTypeFont.FCapHeight

Declaration

Source position: easylazfreetype.pas line 276

protected TFreeTypeFont.FCapHeight : single;


TFreeTypeFont.FCharMap

Declaration

Source position: easylazfreetype.pas line 274

protected TFreeTypeFont.FCharMap : TT_CharMap;


TFreeTypeFont.FCharmapOk

Declaration

Source position: easylazfreetype.pas line 275

protected TFreeTypeFont.FCharmapOk : Boolean;


TFreeTypeFont.FCharmapSymbol

Declaration

Source position: easylazfreetype.pas line 275

protected TFreeTypeFont.FCharmapSymbol : Boolean;


TFreeTypeFont.FDescentValue

Declaration

Source position: easylazfreetype.pas line 276

protected TFreeTypeFont.FDescentValue : single;


TFreeTypeFont.FetchNames

Declaration

Source position: easylazfreetype.pas line 289

protected procedure TFreeTypeFont.FetchNames;


TFreeTypeFont.FFace

Declaration

Source position: easylazfreetype.pas line 268

protected TFreeTypeFont.FFace : TT_Face;


TFreeTypeFont.FFaceItem

Declaration

Source position: easylazfreetype.pas line 269

protected TFreeTypeFont.FFaceItem : TCustomFontCollectionItem;


TFreeTypeFont.FFaceLoaded

Declaration

Source position: easylazfreetype.pas line 270

protected TFreeTypeFont.FFaceLoaded : Boolean;


TFreeTypeFont.FGlyphTable

Declaration

Source position: easylazfreetype.pas line 273

protected TFreeTypeFont.FGlyphTable : TAvlTree;


TFreeTypeFont.FInstance

Declaration

Source position: easylazfreetype.pas line 271

protected TFreeTypeFont.FInstance : TT_Instance;


TFreeTypeFont.FInstanceCreated

Declaration

Source position: easylazfreetype.pas line 272

protected TFreeTypeFont.FInstanceCreated : Boolean;


TFreeTypeFont.FLargeLineGapValue

Declaration

Source position: easylazfreetype.pas line 276

protected TFreeTypeFont.FLargeLineGapValue : single;


TFreeTypeFont.FLineGapValue

Declaration

Source position: easylazfreetype.pas line 276

protected TFreeTypeFont.FLineGapValue : single;


TFreeTypeFont.FUnitsPerEM

Declaration

Source position: easylazfreetype.pas line 277

protected TFreeTypeFont.FUnitsPerEM : TT_UShort;


TFreeTypeFont.GetAscent

Declaration

Source position: easylazfreetype.pas line 282

protected function TFreeTypeFont.GetAscent: single; override;


TFreeTypeFont.GetCapHeight

Declaration

Source position: easylazfreetype.pas line 285

protected function TFreeTypeFont.GetCapHeight: single;


TFreeTypeFont.GetClearType

Declaration

Source position: easylazfreetype.pas line 279

protected function TFreeTypeFont.GetClearType: Boolean; override;


TFreeTypeFont.GetCollection

Declaration

Source position: easylazfreetype.pas line 290

protected function TFreeTypeFont.GetCollection: TCustomFreeTypeFontCollection;


TFreeTypeFont.GetDescent

Declaration

Source position: easylazfreetype.pas line 283

protected function TFreeTypeFont.GetDescent: single; override;


TFreeTypeFont.GetHinted

Declaration

Source position: easylazfreetype.pas line 287

protected function TFreeTypeFont.GetHinted: Boolean; override;


TFreeTypeFont.GetLineFullHeight

Declaration

Source position: easylazfreetype.pas line 281

protected function TFreeTypeFont.GetLineFullHeight: single; override;


TFreeTypeFont.GetLineSpacing

Declaration

Source position: easylazfreetype.pas line 284

protected function TFreeTypeFont.GetLineSpacing: single; override;


TFreeTypeFont.Glyph

Declaration

Source position: easylazfreetype.pas line 315

public property TFreeTypeFont.Glyph[Index: Integer] : TFreeTypeGlyph
  read GetGlyph;


TFreeTypeFont.GlyphCount

Declaration

Source position: easylazfreetype.pas line 316

public property TFreeTypeFont.GlyphCount : Integer
  read GetGlyphCount;


TFreeTypeFont.GlyphKerning

Declaration

Source position: easylazfreetype.pas line 318

public property TFreeTypeFont.GlyphKerning[AGlyphLeft: Integer,AGlyphRight: Integer] : TFreeTypeKerning
  read GetGlyphKerning;


TFreeTypeFont.Hinted

Declaration

Source position: easylazfreetype.pas line 320

public property TFreeTypeFont.Hinted : Boolean
  read FHinted
  write SetHinted;


TFreeTypeFont.Information

Declaration

Source position: easylazfreetype.pas line 327

public property TFreeTypeFont.Information[AIndex: TFreeTypeInformation] : string
  read GetInformation;


TFreeTypeFont.KerningEnabled

Declaration

Source position: easylazfreetype.pas line 322

public property TFreeTypeFont.KerningEnabled : Boolean
  read FKerningEnabled
  write FKerningEnabled;


TFreeTypeFont.KerningFallbackEnabled

Declaration

Source position: easylazfreetype.pas line 324

public property TFreeTypeFont.KerningFallbackEnabled : Boolean
  read FKerningFallbackEnabled
  write FKerningFallbackEnabled;


TFreeTypeFont.LineFullHeight

Declaration

Source position: easylazfreetype.pas line 326

public property TFreeTypeFont.LineFullHeight : single
  read GetLineFullHeight
  write SetLineFullHeight;


TFreeTypeFont.Name

Declaration

Source position: easylazfreetype.pas line 310

public property TFreeTypeFont.Name : string
  read FName
  write SetName;


TFreeTypeFont.OnDestroyFontItem

Declaration

Source position: easylazfreetype.pas line 288

protected procedure TFreeTypeFont.OnDestroyFontItem;


TFreeTypeFont.Quality

Declaration

Source position: easylazfreetype.pas line 293

public TFreeTypeFont.Quality : TGlyphRenderQuality;


TFreeTypeFont.RenderGlyph

Declaration

Source position: easylazfreetype.pas line 299

public procedure TFreeTypeFont.RenderGlyph(

  AGlyph: Integer;

  x: single;

  y: single;

  ARect: TRect;

  OnRender: TDirectRenderingFunction

);


TFreeTypeFont.RenderText

Declaration

Source position: easylazfreetype.pas line 298

public procedure TFreeTypeFont.RenderText(

  AText: string;

  x: single;

  y: single;

  ARect: TRect;

  OnRender: TDirectRenderingFunction

); override;


TFreeTypeFont.SetClearType

Declaration

Source position: easylazfreetype.pas line 280

protected procedure TFreeTypeFont.SetClearType(

  const AValue: Boolean

); override;


TFreeTypeFont.SetHinted

Declaration

Source position: easylazfreetype.pas line 286

protected procedure TFreeTypeFont.SetHinted(

  const AValue: Boolean

); override;


TFreeTypeFont.SetNameAndStyle

Declaration

Source position: easylazfreetype.pas line 300

public procedure TFreeTypeFont.SetNameAndStyle(

  AName: string;

  AStyle: string

); overload;

procedure TFreeTypeFont.SetNameAndStyle(

  AName: string;

  AStyle: TFreeTypeStyles

); overload;


TFreeTypeFont.SizeInPixels

Declaration

Source position: easylazfreetype.pas line 313

public property TFreeTypeFont.SizeInPixels : single
  read GetPixelSize
  write SetPixelSize;


TFreeTypeFont.SizeInPoints

Declaration

Source position: easylazfreetype.pas line 312

public property TFreeTypeFont.SizeInPoints : single
  read FPointSize
  write SetPointSize;


TFreeTypeFont.SmallLinePadding

Declaration

Source position: easylazfreetype.pas line 294

public TFreeTypeFont.SmallLinePadding : Boolean;


TFreeTypeFont.Style

Declaration

Source position: easylazfreetype.pas line 332

public property TFreeTypeFont.Style : TFreeTypeStyles
  read GetFreeTypeStyles
  write SetFreeTypeStyles;


TFreeTypeFont.StyleAsString

Declaration

Source position: easylazfreetype.pas line 331

public property TFreeTypeFont.StyleAsString : string
  read FStyleStr
  write SetStyleAsString;


TFreeTypeFont.TextHeight

Declaration

Source position: easylazfreetype.pas line 303

public function TFreeTypeFont.TextHeight(

  AText: string

):single; override;


TFreeTypeFont.TextWidth

Declaration

Source position: easylazfreetype.pas line 302

public function TFreeTypeFont.TextWidth(

  AText: string

):single; override;


TFreeTypeFont.VersionNumber

Declaration

Source position: easylazfreetype.pas line 328

public property TFreeTypeFont.VersionNumber : string
  read GetVersionNumber;


TFreeTypeFont.WidthFactor

Declaration

Source position: easylazfreetype.pas line 325

public property TFreeTypeFont.WidthFactor : single
  read FWidthFactor
  write SetWidthFactor;


TFreeTypeGlyph

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 337

type TFreeTypeGlyph = class

public

  constructor Create();

  function RenderDirectly();

  destructor Destroy; override;

  property Loaded: Boolean; [r]

  property Data: TT_Glyph; [r]

  property Index: Integer; [r]

  property Bounds: TRect; [r]

  property BoundsWithOffset []: TRect; [r]

  property Advance: single; [r]

end;

Inheritance

TFreeTypeGlyph

|

TObject


TFreeTypeGlyph
 | ro | Loaded
 | ro | Data
 | ro | Index
 | ro | Bounds
 | ro | BoundsWithOffset
 | ro | Advance


ro | Advance (TFreeTypeGlyph)
ro | Bounds (TFreeTypeGlyph)
ro | BoundsWithOffset (TFreeTypeGlyph)
ro | Data (TFreeTypeGlyph)
ro | Index (TFreeTypeGlyph)
ro | Loaded (TFreeTypeGlyph)


TFreeTypeGlyph
 | Create
 | RenderDirectly
 | Destroy


TFreeTypeGlyph


TFreeTypeGlyph.Advance

Declaration

Source position: easylazfreetype.pas line 355

public property TFreeTypeGlyph.Advance : single
  read GetAdvance;


TFreeTypeGlyph.Bounds

Declaration

Source position: easylazfreetype.pas line 353

public property TFreeTypeGlyph.Bounds : TRect
  read GetBounds;


TFreeTypeGlyph.BoundsWithOffset

Declaration

Source position: easylazfreetype.pas line 354

public property TFreeTypeGlyph.BoundsWithOffset[x: single,y: single] : TRect
  read GetBoundsWithOffset;


TFreeTypeGlyph.Create

Declaration

Source position: easylazfreetype.pas line 346

public constructor TFreeTypeGlyph.Create(

  AFont: TFreeTypeFont;

  AIndex: Integer

);


TFreeTypeGlyph.Data

Declaration

Source position: easylazfreetype.pas line 351

public property TFreeTypeGlyph.Data : TT_Glyph
  read FGlyphData;


TFreeTypeGlyph.Destroy

Declaration

Source position: easylazfreetype.pas line 349

public destructor TFreeTypeGlyph.Destroy; override;


TFreeTypeGlyph.Index

Declaration

Source position: easylazfreetype.pas line 352

public property TFreeTypeGlyph.Index : Integer
  read FIndex;


TFreeTypeGlyph.Loaded

Declaration

Source position: easylazfreetype.pas line 350

public property TFreeTypeGlyph.Loaded : Boolean
  read FLoaded;


TFreeTypeGlyph.RenderDirectly

Declaration

Source position: easylazfreetype.pas line 347

public function TFreeTypeGlyph.RenderDirectly(

  x: single;

  y: single;

  Rect: TRect;

  OnRender: TDirectRenderingFunction;

  quality: TGlyphRenderQuality;

  ClearType: Boolean = False

):Boolean;

function TFreeTypeGlyph.RenderDirectly(

  ARasterizer: TFreeTypeRasterizer;

  x: single;

  y: single;

  Rect: TRect;

  OnRender: TDirectRenderingFunction;

  quality: TGlyphRenderQuality;

  ClearType: Boolean = False

):Boolean;


TFreeTypeGrayscaleMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 405

type TFreeTypeGrayscaleMap = class(TFreeTypeRasterMap)

protected

  procedure Init(); override;

public

  RenderQuality: TGlyphRenderQuality;

  function RenderGlyph(); override;

  procedure ScanMoveTo(); override;

  function ScanNextPixel;

  function GetPixel();

  procedure SetPixel();

  procedure XorPixel();

end;

Inheritance

TFreeTypeGrayscaleMap

|

TFreeTypeRasterMap

|

TObject


TFreeTypeGrayscaleMap
TFreeTypeRasterMap
 | ro | Width
 | ro | Height
 | ro | ScanLine


ro | Height (TFreeTypeRasterMap)
ro | ScanLine (TFreeTypeRasterMap)
ro | Width (TFreeTypeRasterMap)


TFreeTypeGrayscaleMap
pt | Init
 | RenderGlyph
 | ScanMoveTo
 | ScanNextPixel
 | GetPixel
 | SetPixel
 | XorPixel
TFreeTypeRasterMap
pt | GetHeight
pt | GetWidth
pt | GetScanLine
pt | Init
 | Create
 | Clear
 | Fill
 | RenderGlyph
 | ScanMoveTo
 | Destroy


 | Clear (TFreeTypeRasterMap)
 | Create (TFreeTypeRasterMap)
 | Destroy (TFreeTypeRasterMap)
 | Fill (TFreeTypeRasterMap)
pt | GetHeight (TFreeTypeRasterMap)
 | GetPixel (TFreeTypeGrayscaleMap)
pt | GetScanLine (TFreeTypeRasterMap)
pt | GetWidth (TFreeTypeRasterMap)
pt | Init (TFreeTypeRasterMap)
pt | Init (TFreeTypeGrayscaleMap)
 | RenderGlyph (TFreeTypeRasterMap)
 | RenderGlyph (TFreeTypeGrayscaleMap)
 | ScanMoveTo (TFreeTypeRasterMap)
 | ScanMoveTo (TFreeTypeGrayscaleMap)
 | ScanNextPixel (TFreeTypeGrayscaleMap)
 | SetPixel (TFreeTypeGrayscaleMap)
 | XorPixel (TFreeTypeGrayscaleMap)


TFreeTypeGrayscaleMap

TFreeTypeRasterMap


TFreeTypeGrayscaleMap.GetPixel

Declaration

Source position: easylazfreetype.pas line 416

public function TFreeTypeGrayscaleMap.GetPixel(

  x: Integer;

  y: Integer

):Byte;


TFreeTypeGrayscaleMap.Init

Declaration

Source position: easylazfreetype.pas line 410

protected procedure TFreeTypeGrayscaleMap.Init(

  AWidth: Integer;

  AHeight: Integer

); override;


TFreeTypeGrayscaleMap.RenderGlyph

Declaration

Source position: easylazfreetype.pas line 413

public function TFreeTypeGrayscaleMap.RenderGlyph(

  glyph: TFreeTypeGlyph;

  x: single;

  y: single

):Boolean; override;


TFreeTypeGrayscaleMap.RenderQuality

Declaration

Source position: easylazfreetype.pas line 412

public TFreeTypeGrayscaleMap.RenderQuality : TGlyphRenderQuality;


TFreeTypeGrayscaleMap.ScanMoveTo

Declaration

Source position: easylazfreetype.pas line 414

public procedure TFreeTypeGrayscaleMap.ScanMoveTo(

  x: Integer;

  y: Integer

); override;


TFreeTypeGrayscaleMap.ScanNextPixel

Declaration

Source position: easylazfreetype.pas line 415

public function TFreeTypeGrayscaleMap.ScanNextPixel: Byte;


TFreeTypeGrayscaleMap.SetPixel

Declaration

Source position: easylazfreetype.pas line 417

public procedure TFreeTypeGrayscaleMap.SetPixel(

  x: Integer;

  y: Integer;

  value: Byte

);


TFreeTypeGrayscaleMap.XorPixel

Declaration

Source position: easylazfreetype.pas line 418

public procedure TFreeTypeGrayscaleMap.XorPixel(

  x: Integer;

  y: Integer;

  value: Byte

);


TFreeTypeMonochromeMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 384

type TFreeTypeMonochromeMap = class(TFreeTypeRasterMap)

protected

  procedure Init(); override;

public

  function RenderGlyph(); override;

  procedure ScanMoveTo(); override;

  function ScanNextPixel;

  function GetPixel();

  procedure SetPixel();

  function GetPixelsInRect();

  function GetPixelsInHorizline();

  procedure TogglePixel();

end;

Inheritance

TFreeTypeMonochromeMap

|

TFreeTypeRasterMap

|

TObject


TFreeTypeMonochromeMap
TFreeTypeRasterMap
 | ro | Width
 | ro | Height
 | ro | ScanLine


TFreeTypeMonochromeMap
pt | Init
 | RenderGlyph
 | ScanMoveTo
 | ScanNextPixel
 | GetPixel
 | SetPixel
 | GetPixelsInRect
 | GetPixelsInHorizline
 | TogglePixel
TFreeTypeRasterMap
pt | GetHeight
pt | GetWidth
pt | GetScanLine
pt | Init
 | Create
 | Clear
 | Fill
 | RenderGlyph
 | ScanMoveTo
 | Destroy


 | Clear (TFreeTypeRasterMap)
 | Create (TFreeTypeRasterMap)
 | Destroy (TFreeTypeRasterMap)
 | Fill (TFreeTypeRasterMap)
pt | GetHeight (TFreeTypeRasterMap)
 | GetPixel (TFreeTypeMonochromeMap)
 | GetPixelsInHorizline (TFreeTypeMonochromeMap)
 | GetPixelsInRect (TFreeTypeMonochromeMap)
pt | GetScanLine (TFreeTypeRasterMap)
pt | GetWidth (TFreeTypeRasterMap)
pt | Init (TFreeTypeRasterMap)
pt | Init (TFreeTypeMonochromeMap)
 | RenderGlyph (TFreeTypeRasterMap)
 | RenderGlyph (TFreeTypeMonochromeMap)
 | ScanMoveTo (TFreeTypeRasterMap)
 | ScanMoveTo (TFreeTypeMonochromeMap)
 | ScanNextPixel (TFreeTypeMonochromeMap)
 | SetPixel (TFreeTypeMonochromeMap)
 | TogglePixel (TFreeTypeMonochromeMap)


TFreeTypeMonochromeMap

TFreeTypeRasterMap


TFreeTypeMonochromeMap.GetPixel

Declaration

Source position: easylazfreetype.pas line 396

public function TFreeTypeMonochromeMap.GetPixel(

  x: Integer;

  y: Integer

):Boolean;


TFreeTypeMonochromeMap.GetPixelsInHorizline

Declaration

Source position: easylazfreetype.pas line 399

public function TFreeTypeMonochromeMap.GetPixelsInHorizline(

  x: Integer;

  y: Integer;

  x2: Integer

):Integer;


TFreeTypeMonochromeMap.GetPixelsInRect

Declaration

Source position: easylazfreetype.pas line 398

public function TFreeTypeMonochromeMap.GetPixelsInRect(

  x: Integer;

  y: Integer;

  x2: Integer;

  y2: Integer

):Integer;


TFreeTypeMonochromeMap.Init

Declaration

Source position: easylazfreetype.pas line 391

protected procedure TFreeTypeMonochromeMap.Init(

  AWidth: Integer;

  AHeight: Integer

); override;


TFreeTypeMonochromeMap.RenderGlyph

Declaration

Source position: easylazfreetype.pas line 393

public function TFreeTypeMonochromeMap.RenderGlyph(

  glyph: TFreeTypeGlyph;

  x: single;

  y: single

):Boolean; override;


TFreeTypeMonochromeMap.ScanMoveTo

Declaration

Source position: easylazfreetype.pas line 394

public procedure TFreeTypeMonochromeMap.ScanMoveTo(

  x: Integer;

  y: Integer

); override;


TFreeTypeMonochromeMap.ScanNextPixel

Declaration

Source position: easylazfreetype.pas line 395

public function TFreeTypeMonochromeMap.ScanNextPixel: Boolean;


TFreeTypeMonochromeMap.SetPixel

Declaration

Source position: easylazfreetype.pas line 397

public procedure TFreeTypeMonochromeMap.SetPixel(

  x: Integer;

  y: Integer;

  value: Boolean

);


TFreeTypeMonochromeMap.TogglePixel

Declaration

Source position: easylazfreetype.pas line 400

public procedure TFreeTypeMonochromeMap.TogglePixel(

  x: Integer;

  y: Integer

);


TFreeTypeRasterMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 360

type TFreeTypeRasterMap = class

protected

  map: TT_Raster_Map;

  FRasterizer: TFreeTypeRasterizer;

  function GetHeight; virtual;

  function GetWidth; virtual;

  function GetScanLine();

  procedure Init(); virtual; abstract;

public

  constructor Create();

  procedure Clear;

  procedure Fill;

  function RenderGlyph(); virtual; abstract;

  procedure ScanMoveTo(); virtual; abstract;

  destructor Destroy; override;

  property Width: Integer; [r]

  property Height: Integer; [r]

  property ScanLine []: pointer; [r]

end;

Inheritance

TFreeTypeRasterMap

|

TObject


TFreeTypeRasterMap
 | ro | Width
 | ro | Height
 | ro | ScanLine


TFreeTypeRasterMap
pt | GetHeight
pt | GetWidth
pt | GetScanLine
pt | Init
 | Create
 | Clear
 | Fill
 | RenderGlyph
 | ScanMoveTo
 | Destroy


 | Clear (TFreeTypeRasterMap)
 | Create (TFreeTypeRasterMap)
 | Destroy (TFreeTypeRasterMap)
 | Fill (TFreeTypeRasterMap)
pt | GetHeight (TFreeTypeRasterMap)
pt | GetScanLine (TFreeTypeRasterMap)
pt | GetWidth (TFreeTypeRasterMap)
pt | Init (TFreeTypeRasterMap)
 | RenderGlyph (TFreeTypeRasterMap)
 | ScanMoveTo (TFreeTypeRasterMap)


TFreeTypeRasterMap


TFreeTypeRasterMap.Clear

Declaration

Source position: easylazfreetype.pas line 371

public procedure TFreeTypeRasterMap.Clear;


TFreeTypeRasterMap.Create

Declaration

Source position: easylazfreetype.pas line 369

public constructor TFreeTypeRasterMap.Create(

  AWidth: Integer;

  AHeight: Integer

); virtual;

constructor TFreeTypeRasterMap.Create(

  ARasterizer: TFreeTypeRasterizer;

  AWidth: Integer;

  AHeight: Integer

); virtual;


TFreeTypeRasterMap.Destroy

Declaration

Source position: easylazfreetype.pas line 375

public destructor TFreeTypeRasterMap.Destroy; override;


TFreeTypeRasterMap.Fill

Declaration

Source position: easylazfreetype.pas line 372

public procedure TFreeTypeRasterMap.Fill;


TFreeTypeRasterMap.FRasterizer

Declaration

Source position: easylazfreetype.pas line 363

protected TFreeTypeRasterMap.FRasterizer : TFreeTypeRasterizer;


TFreeTypeRasterMap.GetHeight

Declaration

Source position: easylazfreetype.pas line 364

protected function TFreeTypeRasterMap.GetHeight: Integer; virtual;


TFreeTypeRasterMap.GetScanLine

Declaration

Source position: easylazfreetype.pas line 366

protected function TFreeTypeRasterMap.GetScanLine(

  y: Integer

):pointer;


TFreeTypeRasterMap.GetWidth

Declaration

Source position: easylazfreetype.pas line 365

protected function TFreeTypeRasterMap.GetWidth: Integer; virtual;


TFreeTypeRasterMap.Height

Declaration

Source position: easylazfreetype.pas line 378

public property TFreeTypeRasterMap.Height : Integer
  read GetHeight;


TFreeTypeRasterMap.Init

Declaration

Source position: easylazfreetype.pas line 367

protected procedure TFreeTypeRasterMap.Init(

  AWidth: Integer;

  AHeight: Integer

); virtual; abstract;


TFreeTypeRasterMap.map

Declaration

Source position: easylazfreetype.pas line 362

protected TFreeTypeRasterMap.map : TT_Raster_Map;


TFreeTypeRasterMap.RenderGlyph

Declaration

Source position: easylazfreetype.pas line 373

public function TFreeTypeRasterMap.RenderGlyph(

  glyph: TFreeTypeGlyph;

  x: single;

  y: single

):Boolean; virtual; abstract;


TFreeTypeRasterMap.ScanLine

Declaration

Source position: easylazfreetype.pas line 379

public property TFreeTypeRasterMap.ScanLine[y: Integer] : pointer
  read GetScanLine;


TFreeTypeRasterMap.ScanMoveTo

Declaration

Source position: easylazfreetype.pas line 374

public procedure TFreeTypeRasterMap.ScanMoveTo(

  x: Integer;

  y: Integer

); virtual; abstract;


TFreeTypeRasterMap.Width

Declaration

Source position: easylazfreetype.pas line 377

public property TFreeTypeRasterMap.Width : Integer
  read GetWidth;


TFreeTypeRenderableFont

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: easylazfreetype.pas line 172

type TFreeTypeRenderableFont = class

protected

  FWordBreakHandler: TFreeTypeWordBreakHandler;

  FOnRenderText: TOnRenderTextHandler;

  function GetClearType; virtual; abstract;

  procedure SetClearType(); virtual; abstract;

  function GetLineFullHeight; virtual; abstract;

  function GetAscent; virtual; abstract;

  function GetDescent; virtual; abstract;

  function GetLineSpacing; virtual; abstract;

  procedure DefaultWordBreakHandler();

  function GetHinted; virtual; abstract;

  procedure SetHinted(); virtual; abstract;

public

  UnderlineDecoration: Boolean;

  StrikeOutDecoration: Boolean;

  function TextWidth(); virtual; abstract;

  function TextHeight(); virtual; abstract;

  function CharWidthFromUnicode(); virtual; abstract;

  procedure SplitText();

  procedure GetTextSize(); virtual;

  procedure RenderText(); virtual; abstract;

  property ClearType: Boolean; [rw]

  property Ascent: single; [r]

  property Descent: single; [r]

  property LineSpacing: single; [r]

  property LineFullHeight: single; [r]

  property Hinted: Boolean; [rw]

  property OnWordBreak: TFreeTypeWordBreakHandler; [rw]

  property OnRenderText: TOnRenderTextHandler; [rw]

end;

Inheritance

TFreeTypeRenderableFont

|

TObject


TFreeTypeRenderableFont
 |  | ClearType
 | ro | Ascent
 | ro | Descent
 | ro | LineSpacing
 | ro | LineFullHeight
 |  | Hinted


ro | Ascent (TFreeTypeRenderableFont)
 | ClearType (TFreeTypeRenderableFont)
ro | Descent (TFreeTypeRenderableFont)
 | Hinted (TFreeTypeRenderableFont)
ro | LineFullHeight (TFreeTypeRenderableFont)
ro | LineSpacing (TFreeTypeRenderableFont)


TFreeTypeRenderableFont
pt | GetClearType
pt | SetClearType
pt | GetLineFullHeight
pt | GetAscent
pt | GetDescent
pt | GetLineSpacing
pt | DefaultWordBreakHandler
pt | GetHinted
pt | SetHinted
 | TextWidth
 | TextHeight
 | CharWidthFromUnicode
 | SplitText
 | GetTextSize
 | RenderText


pt | DefaultWordBreakHandler (TFreeTypeRenderableFont)
pt | GetAscent (TFreeTypeRenderableFont)
pt | GetClearType (TFreeTypeRenderableFont)
pt | GetDescent (TFreeTypeRenderableFont)
pt | GetHinted (TFreeTypeRenderableFont)
pt | GetLineFullHeight (TFreeTypeRenderableFont)
pt | GetLineSpacing (TFreeTypeRenderableFont)
 | GetTextSize (TFreeTypeRenderableFont)
 | RenderText (TFreeTypeRenderableFont)
pt | SetClearType (TFreeTypeRenderableFont)
pt | SetHinted (TFreeTypeRenderableFont)
 | SplitText (TFreeTypeRenderableFont)
 | TextHeight (TFreeTypeRenderableFont)
 | TextWidth (TFreeTypeRenderableFont)


TFreeTypeRenderableFont
 | OnWordBreak
 | OnRenderText


TFreeTypeRenderableFont.Ascent

Declaration

Source position: easylazfreetype.pas line 194

public property TFreeTypeRenderableFont.Ascent : single
  read GetAscent;


TFreeTypeRenderableFont.CharWidthFromUnicode

Declaration

Source position: easylazfreetype.pas line 189

public function TFreeTypeRenderableFont.CharWidthFromUnicode(

  AUnicode: Integer

):single; virtual; abstract;


TFreeTypeRenderableFont.ClearType

Declaration

Source position: easylazfreetype.pas line 193

public property TFreeTypeRenderableFont.ClearType : Boolean
  read GetClearType
  write SetClearType;


TFreeTypeRenderableFont.DefaultWordBreakHandler

Declaration

Source position: easylazfreetype.pas line 182

protected procedure TFreeTypeRenderableFont.DefaultWordBreakHandler(

  var ABefore: string;

  var AAfter: string

);


TFreeTypeRenderableFont.Descent

Declaration

Source position: easylazfreetype.pas line 195

public property TFreeTypeRenderableFont.Descent : single
  read GetDescent;


TFreeTypeRenderableFont.FOnRenderText

Declaration

Source position: easylazfreetype.pas line 175

protected TFreeTypeRenderableFont.FOnRenderText : TOnRenderTextHandler;


TFreeTypeRenderableFont.FWordBreakHandler

Declaration

Source position: easylazfreetype.pas line 174

protected TFreeTypeRenderableFont.FWordBreakHandler : TFreeTypeWordBreakHandler;


TFreeTypeRenderableFont.GetAscent

Declaration

Source position: easylazfreetype.pas line 179

protected function TFreeTypeRenderableFont.GetAscent: single; virtual; abstract;


TFreeTypeRenderableFont.GetClearType

Declaration

Source position: easylazfreetype.pas line 176

protected function TFreeTypeRenderableFont.GetClearType: Boolean; virtual; abstract;


TFreeTypeRenderableFont.GetDescent

Declaration

Source position: easylazfreetype.pas line 180

protected function TFreeTypeRenderableFont.GetDescent: single; virtual; abstract;


TFreeTypeRenderableFont.GetHinted

Declaration

Source position: easylazfreetype.pas line 183

protected function TFreeTypeRenderableFont.GetHinted: Boolean; virtual; abstract;


TFreeTypeRenderableFont.GetLineFullHeight

Declaration

Source position: easylazfreetype.pas line 178

protected function TFreeTypeRenderableFont.GetLineFullHeight: single; virtual; abstract;


TFreeTypeRenderableFont.GetLineSpacing

Declaration

Source position: easylazfreetype.pas line 181

protected function TFreeTypeRenderableFont.GetLineSpacing: single; virtual; abstract;


TFreeTypeRenderableFont.GetTextSize

Declaration

Source position: easylazfreetype.pas line 191

public procedure TFreeTypeRenderableFont.GetTextSize(

  AText: string;

  out w: single;

  out h: single

); virtual;


TFreeTypeRenderableFont.Hinted

Declaration

Source position: easylazfreetype.pas line 198

public property TFreeTypeRenderableFont.Hinted : Boolean
  read GetHinted
  write SetHinted;


TFreeTypeRenderableFont.LineFullHeight

Declaration

Source position: easylazfreetype.pas line 197

public property TFreeTypeRenderableFont.LineFullHeight : single
  read GetLineFullHeight;


TFreeTypeRenderableFont.LineSpacing

Declaration

Source position: easylazfreetype.pas line 196

public property TFreeTypeRenderableFont.LineSpacing : single
  read GetLineSpacing;


TFreeTypeRenderableFont.OnRenderText

Declaration

Source position: easylazfreetype.pas line 200

public property TFreeTypeRenderableFont.OnRenderText : TOnRenderTextHandler
  read FOnRenderText
  write FOnRenderText;


TFreeTypeRenderableFont.OnWordBreak

Declaration

Source position: easylazfreetype.pas line 199

public property TFreeTypeRenderableFont.OnWordBreak : TFreeTypeWordBreakHandler
  read FWordBreakHandler
  write FWordBreakHandler;


TFreeTypeRenderableFont.RenderText

Declaration

Source position: easylazfreetype.pas line 192

public procedure TFreeTypeRenderableFont.RenderText(

  AText: string;

  x: single;

  y: single;

  ARect: TRect;

  OnRender: TDirectRenderingFunction

); virtual; abstract;


TFreeTypeRenderableFont.SetClearType

Declaration

Source position: easylazfreetype.pas line 177

protected procedure TFreeTypeRenderableFont.SetClearType(

  const AValue: Boolean

); virtual; abstract;


TFreeTypeRenderableFont.SetHinted

Declaration

Source position: easylazfreetype.pas line 184

protected procedure TFreeTypeRenderableFont.SetHinted(

  const AValue: Boolean

); virtual; abstract;


TFreeTypeRenderableFont.SplitText

Declaration

Source position: easylazfreetype.pas line 190

public procedure TFreeTypeRenderableFont.SplitText(

  var AText: string;

  AMaxWidth: single;

  out ARemains: string

);


TFreeTypeRenderableFont.StrikeOutDecoration

Declaration

Source position: easylazfreetype.pas line 186

public TFreeTypeRenderableFont.StrikeOutDecoration : Boolean;


TFreeTypeRenderableFont.TextHeight

Declaration

Source position: easylazfreetype.pas line 188

public function TFreeTypeRenderableFont.TextHeight(

  AText: string

):single; virtual; abstract;


TFreeTypeRenderableFont.TextWidth

Declaration

Source position: easylazfreetype.pas line 187

public function TFreeTypeRenderableFont.TextWidth(

  AText: string

):single; virtual; abstract;


TFreeTypeRenderableFont.UnderlineDecoration

Declaration

Source position: easylazfreetype.pas line 186

public TFreeTypeRenderableFont.UnderlineDecoration : Boolean;


TExtendedStringList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: extendedstrings.pas line 36

type TExtendedStringList = class(TStringList)

protected

  procedure ResizeRecord(); virtual;

  function GetObject(); override;

  procedure PutObject(); override;

public

  constructor Create();

  destructor Destroy; override;

  procedure Clear; override;

  procedure Delete(); override;

  procedure CreateRecord(); virtual;

  procedure FreeRecord(); virtual;

  procedure FreeAllRecords; virtual;

  function RecordAllocated();

  property Records []: pointer; [rw]

  property RecordSize: Integer; [rw]

  property Options: TExtStringsOptions; [rw]

end;

Inheritance

TExtendedStringList
|

TStringList
|

TStrings
|

TPersistent,IFPObserved
|

TObject


TExtendedStringList
 |  | Records
 |  | RecordSize
 |  | Options
TStringList
 |  | Duplicates
 |  | Sorted
 |  | CaseSensitive
 |  | OwnsObjects
 |  | SortStyle
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


ro | Count (TStrings)
 | DelimitedText (TStrings)
 | Delimiter (TStrings)
 | Duplicates (TStringList)
 | LineBreak (TStrings)
ro | Names (TStrings)
 | NameValueSeparator (TStrings)
 | Objects (TStrings)
 | Options (TExtendedStringList)
 | OwnsObjects (TStringList)
 | QuoteChar (TStrings)
 | Records (TExtendedStringList)
 | RecordSize (TExtendedStringList)
 | SkipLastLineBreak (TStrings)
 | Sorted (TStringList)
 | SortStyle (TStringList)
 | StrictDelimiter (TStrings)
 | Strings (TStrings)
 | StringsAdapter (TStrings)
 | Text (TStrings)
 | TextLineBreakStyle (TStrings)
ro | UpdateCount (TStrings)
 | ValueFromIndex (TStrings)
 | Values (TStrings)


TExtendedStringList
pt | ResizeRecord
pt | GetObject
pt | PutObject
 | Create
 | Destroy
 | Clear
 | Delete
 | CreateRecord
 | FreeRecord
 | FreeAllRecords
 | RecordAllocated
TStringList
 | ExchangeItemsInt
 | GetSorted
 | Grow
 | InternalClear
 | QuickSort
 | SetSorted
 | SetCaseSensitive
 | SetSortStyle
 | ExchangeItems
 | Changed
 | Changing
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | Put
 | PutObject
 | SetCapacity
 | SetUpdateState
 | InsertItem
 | DoCompareText
 | CompareStrings
 | Destroy
 | Add
 | Clear
 | Delete
 | Exchange
 | Find
 | IndexOf
 | Insert
 | Sort
 | CustomSort
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TStrings)
 | Add (TStringList)
 | AddObject (TStrings)
 | AddStrings (TStrings)
 | AddText (TStrings)
 | AfterConstruction (TObject)
 | Append (TStrings)
 | Assign (TPersistent)
 | Assign (TStrings)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeginUpdate (TStrings)
 | Changed (TStringList)
 | Changing (TStringList)
 | CheckSpecialChars (TStrings)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TStrings)
 | Clear (TStringList)
 | Clear (TExtendedStringList)
 | CompareStrings (TStringList)
 | Create (TObject)
 | Create (TExtendedStringList)
 | CreateRecord (TExtendedStringList)
 | CustomSort (TStringList)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TStrings)
 | Delete (TStrings)
 | Delete (TStringList)
 | Delete (TExtendedStringList)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TStrings)
 | Destroy (TStringList)
 | Destroy (TExtendedStringList)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoCompareText (TStrings)
 | DoCompareText (TStringList)
 | DoSetTextStr (TStrings)
 | EndUpdate (TStrings)
 | Equals (TObject)
 | Equals (TStrings)
 | Error (TStrings)
 | Exchange (TStrings)
 | Exchange (TStringList)
 | ExchangeItems (TStringList)
 | ExchangeItemsInt (TStringList)
 | ExtractName (TStrings)
 | FieldAddress (TObject)
 | Find (TStringList)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeAllRecords (TExtendedStringList)
 | FreeInstance (TObject)
 | FreeRecord (TExtendedStringList)
 | Get (TStrings)
 | Get (TStringList)
 | GetCapacity (TStrings)
 | GetCapacity (TStringList)
 | GetCommaText (TStrings)
 | GetCount (TStrings)
 | GetCount (TStringList)
 | GetDelimitedText (TStrings)
 | GetDelimiter (TStrings)
 | GetEnumerator (TStrings)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLBS (TStrings)
 | GetLineBreak (TStrings)
 | GetName (TStrings)
 | GetNamePath (TPersistent)
 | GetNameValue (TStrings)
 | GetNameValueSeparator (TStrings)
 | GetNextLine (TStrings)
 | GetNextLinebreak (TStrings)
 | GetObject (TStrings)
 | GetObject (TStringList)
pt | GetObject (TExtendedStringList)
 | GetOwner (TPersistent)
 | GetQuoteChar (TStrings)
 | GetSkipLastLineBreak (TStrings)
 | GetSorted (TStringList)
 | GetText (TStrings)
 | GetTextStr (TStrings)
 | GetValue (TStrings)
 | GetValueFromIndex (TStrings)
 | Grow (TStringList)
 | IndexOf (TStrings)
 | IndexOf (TStringList)
 | IndexOfName (TStrings)
 | IndexOfObject (TStrings)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TStrings)
 | Insert (TStringList)
 | InsertItem (TStringList)
 | InsertObject (TStrings)
 | InstanceSize (TObject)
 | InternalClear (TStringList)
 | LoadFromFile (TStrings)
 | LoadFromStream (TStrings)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TStrings)
 | newinstance (TObject)
 | Put (TStrings)
 | Put (TStringList)
 | PutObject (TStrings)
 | PutObject (TStringList)
pt | PutObject (TExtendedStringList)
 | QuickSort (TStringList)
 | ReadData (TStrings)
 | RecordAllocated (TExtendedStringList)
pt | ResizeRecord (TExtendedStringList)
 | SafeCallException (TObject)
 | SaveToFile (TStrings)
 | SaveToStream (TStrings)
 | SetCapacity (TStrings)
 | SetCapacity (TStringList)
 | SetCaseSensitive (TStringList)
 | SetCommaText (TStrings)
 | SetDelimitedText (TStrings)
 | SetDelimiter (TStrings)
 | SetLBS (TStrings)
 | SetLineBreak (TStrings)
 | SetNameValueSeparator (TStrings)
 | SetQuoteChar (TStrings)
 | SetSkipLastLineBreak (TStrings)
 | SetSorted (TStringList)
 | SetSortStyle (TStringList)
 | SetStringsAdapter (TStrings)
 | SetText (TStrings)
 | SetTextStr (TStrings)
 | SetUpdateState (TStrings)
 | SetUpdateState (TStringList)
 | SetValue (TStrings)
 | SetValueFromIndex (TStrings)
 | Sort (TStringList)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | WriteData (TStrings)


TExtendedStringList
TStringList
 | OnChange
 | OnChanging
TStrings
TPersistent
TObject


TExtendedStringList.Clear

Declaration

Source position: extendedstrings.pas line 53

public procedure TExtendedStringList.Clear; override;


TExtendedStringList.Create

Declaration

Source position: extendedstrings.pas line 51

public constructor TExtendedStringList.Create(

  InitialRecordSize: Integer

);


TExtendedStringList.CreateRecord

Declaration

Source position: extendedstrings.pas line 55

public procedure TExtendedStringList.CreateRecord(

  Index: Integer

); virtual;


TExtendedStringList.Delete

Declaration

Source position: extendedstrings.pas line 54

public procedure TExtendedStringList.Delete(

  Index: Integer

); override;


TExtendedStringList.Destroy

Declaration

Source position: extendedstrings.pas line 52

public destructor TExtendedStringList.Destroy; override;


TExtendedStringList.FreeAllRecords

Declaration

Source position: extendedstrings.pas line 57

public procedure TExtendedStringList.FreeAllRecords; virtual;


TExtendedStringList.FreeRecord

Declaration

Source position: extendedstrings.pas line 56

public procedure TExtendedStringList.FreeRecord(

  Index: Integer

); virtual;


TExtendedStringList.GetObject

Declaration

Source position: extendedstrings.pas line 48

protected function TExtendedStringList.GetObject(

  Index: Integer

):TObject; override;


TExtendedStringList.Options

Declaration

Source position: extendedstrings.pas line 61

public property TExtendedStringList.Options : TExtStringsOptions
  read FOptions
  write SetOptions;


TExtendedStringList.PutObject

Declaration

Source position: extendedstrings.pas line 49

protected procedure TExtendedStringList.PutObject(

  Index: Integer;

  AnObject: TObject

); override;


TExtendedStringList.RecordAllocated

Declaration

Source position: extendedstrings.pas line 58

public function TExtendedStringList.RecordAllocated(

  Index: Integer

):Boolean;


TExtendedStringList.Records

Declaration

Source position: extendedstrings.pas line 59

public property TExtendedStringList.Records[Index: Integer] : pointer
  read GetRecords
  write SetRecords;


TExtendedStringList.RecordSize

Declaration

Source position: extendedstrings.pas line 60

public property TExtendedStringList.RecordSize : Integer
  read FRecordSize
  write SetRecordSize;


TExtendedStringList.ResizeRecord

Declaration

Source position: extendedstrings.pas line 46

protected procedure TExtendedStringList.ResizeRecord(

  var ARecord: Pointer;

  Index: Integer;

  OldSize: Integer;

  NewSize: Integer

); virtual;


TFileIterator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Class for getting info about found file or directory.

Declaration

Source position: fileutil.pas line 107

type TFileIterator = class
public
procedure Stop; | Stops the searching process.
function IsDirectory; | If the current file is directory.
property FileName: string; [r] | Gets the current file name.
property FileInfo: TSearchRec; [r] | Gets the current file info.
property Level: Integer; [r] | Gets the current file path level relative to base search path.
property Path: string; [r] | Gets the current file path.
property Searching: Boolean; [r] | If the searching is in process.
end;

Inheritance

TFileIterator

Class for getting info about found file or directory.
|

TObject


TFileIterator
 | ro | FileName
 | ro | FileInfo
 | ro | Level
 | ro | Path
 | ro | Searching


ro | FileInfo (TFileIterator)
ro | FileName (TFileIterator)
ro | Level (TFileIterator)
ro | Path (TFileIterator)
ro | Searching (TFileIterator)


TFileIterator
 | Stop
 | IsDirectory


TFileIterator


TFileIterator.FileInfo

Gets the current file info.

Declaration

Source position: fileutil.pas line 119

public property TFileIterator.FileInfo : TSearchRec
  read FFileInfo;


TFileIterator.FileName

Gets the current file name.

Declaration

Source position: fileutil.pas line 118

public property TFileIterator.FileName : string
  read GetFileName;


TFileIterator.IsDirectory

If the current file is directory.

Declaration

Source position: fileutil.pas line 116

public function TFileIterator.IsDirectory: Boolean;


TFileIterator.Level

Gets the current file path level relative to base search path.

Declaration

Source position: fileutil.pas line 120

public property TFileIterator.Level : Integer
  read FLevel;


TFileIterator.Path

Gets the current file path.

Declaration

Source position: fileutil.pas line 121

public property TFileIterator.Path : string
  read FPath;


TFileIterator.Searching

If the searching is in process.

Declaration

Source position: fileutil.pas line 122

public property TFileIterator.Searching : Boolean
  read FSearching;


TFileIterator.Stop

Stops the searching process.

Declaration

Source position: fileutil.pas line 115

public procedure TFileIterator.Stop;

See also

TFileSearcher.Search

Searches for files in specified path with passed options


TFileSearcher

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Class for searching files

Declaration

Source position: fileutil.pas line 131

type TFileSearcher = class(TFileIterator)
protected
procedure DoDirectoryEnter; virtual; |
procedure DoDirectoryFound; virtual; |
procedure DoFileFound; virtual; |
public
constructor Create; | Creates new file searcher object
procedure Search(); | Searches for files in specified path with passed options
property MaskSeparator: Char; [rw] | Character used as a delimiter between file masks in the search critera
property PathSeparator: Char; [rw] | Character used as a delimiter between directory paths in the search criteria
property FollowSymLink: Boolean; [rw] | Indicates if a search should follow paths that are symbolic links
property FileAttribute: Word; [rw] |
property DirectoryAttribute: Word; [rw] |
property OnDirectoryFound: TDirectoryFoundEvent; [rw] | Is invoked when directory is found.
property OnFileFound: TFileFoundEvent; [rw] | Is invoked when file is found.
property OnDirectoryEnter: TDirectoryEnterEvent; [rw] | Event handler signalled when the searcher enters a new directory
end;

Inheritance

TFileSearcher | Class for searching files
|
TFileIterator | Class for getting info about found file or directory.
|
TObject

Description

TFileSearcher is a TFileIterator descendant used to search for files that match s search mask in a given directory path.


TFileSearcher
 |  | MaskSeparator
 |  | PathSeparator
 |  | FollowSymLink
 |  | FileAttribute
 |  | DirectoryAttribute
TFileIterator
 | ro | FileName
 | ro | FileInfo
 | ro | Level
 | ro | Path
 | ro | Searching


ro | FileInfo (TFileIterator)
ro | FileName (TFileIterator)
 | FollowSymLink (TFileSearcher)
ro | Level (TFileIterator)
 | MaskSeparator (TFileSearcher)
ro | Path (TFileIterator)
 | PathSeparator (TFileSearcher)
ro | Searching (TFileIterator)


TFileSearcher
pt | DoDirectoryEnter
pt | DoDirectoryFound
pt | DoFileFound
 | Create
 | Search
TFileIterator
 | Stop
 | IsDirectory


pt | DoDirectoryEnter (TFileSearcher)
pt | DoDirectoryFound (TFileSearcher)
pt | DoFileFound (TFileSearcher)
 | IsDirectory (TFileIterator)
 | Search (TFileSearcher)
 | Stop (TFileIterator)


TFileSearcher
 | OnDirectoryFound
 | OnFileFound
 | OnDirectoryEnter
TFileIterator


TFileSearcher.Create

Creates new file searcher object

Declaration

Source position: fileutil.pas line 147

public constructor TFileSearcher.Create;


TFileSearcher.DirectoryAttribute

Declaration

Source position: fileutil.pas line 155

public property TFileSearcher.DirectoryAttribute : Word
  read FDirectoryAttribute
  write FDirectoryAttribute
  default faDirectory;

Description

DirectoryAttribute is a Word property. The default value for the property is faDirectory.


TFileSearcher.DoDirectoryEnter

Declaration

Source position: fileutil.pas line 143

protected procedure TFileSearcher.DoDirectoryEnter; virtual;


TFileSearcher.DoDirectoryFound

Declaration

Source position: fileutil.pas line 144

protected procedure TFileSearcher.DoDirectoryFound; virtual;


TFileSearcher.DoFileFound

Declaration

Source position: fileutil.pas line 145

protected procedure TFileSearcher.DoFileFound; virtual;


TFileSearcher.FileAttribute

Declaration

Source position: fileutil.pas line 154

public property TFileSearcher.FileAttribute : Word
  read FFileAttribute
  write FFileAttribute
  default faAnyfile;

Description

FileAttribute is a Word property. The default value for the property is faAnyfile.


TFileSearcher.FollowSymLink

Indicates if a search should follow paths that are symbolic links

Declaration

Source position: fileutil.pas line 153

public property TFileSearcher.FollowSymLink : Boolean
  read FFollowSymLink
  write FFollowSymLink;


TFileSearcher.MaskSeparator

Character used as a delimiter between file masks in the search critera

Declaration

Source position: fileutil.pas line 151

public property TFileSearcher.MaskSeparator : Char
  read FMaskSeparator
  write FMaskSeparator;


TFileSearcher.OnDirectoryEnter

Event handler signalled when the searcher enters a new directory

Declaration

Source position: fileutil.pas line 158

public property TFileSearcher.OnDirectoryEnter : TDirectoryEnterEvent
  read FOnDirectoryEnter
  write FOnDirectoryEnter;


TFileSearcher.OnDirectoryFound

Is invoked when directory is found.

Declaration

Source position: fileutil.pas line 156

public property TFileSearcher.OnDirectoryFound : TDirectoryFoundEvent
  read FOnDirectoryFound
  write FOnDirectoryFound;


TFileSearcher.OnFileFound

Is invoked when file is found.

Declaration

Source position: fileutil.pas line 157

public property TFileSearcher.OnFileFound : TFileFoundEvent
  read FOnFileFound
  write FOnFileFound;


TFileSearcher.PathSeparator

Character used as a delimiter between directory paths in the search criteria

Declaration

Source position: fileutil.pas line 152

public property TFileSearcher.PathSeparator : Char
  read FPathSeparator
  write FPathSeparator;


TFileSearcher.Search

Searches for files in specified path with passed options

Declaration

Source position: fileutil.pas line 148

public procedure TFileSearcher.Search(

  ASearchPath: string;

  ASearchMask: string = '';

  ASearchSubDirs: Boolean = True;

  CaseSensitive: Boolean = False

);

Arguments

ASearchPath | Base path for searching files
ASearchMask | Mask used to determine file names that match in the search
ASearchSubDirs | Indicates if sub directories are searched recursively
CaseSensitive | Indicates if file names are compared using case sensitivity

Description

Searches for files in the specified path. When a matching file is found, the OnFileFound event is invoked. For directories, the OnDirectoryFound event is signalled. You can abort the search process by calling the Stop method in either of these events.

See also

TFileSearcher.OnFileFound | Is invoked when file is found.
TFileSearcher.OnDirectoryFound | Is invoked when directory is found.
TFileIterator.Stop | Stops the searching process.


TListDirectoriesSearcher

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Stores directory names matching a search criteria in a TStrings class instance

Declaration

Source position: fileutil.pas line 174

type TListDirectoriesSearcher = class(TFileSearcher)
protected
procedure DoDirectoryFound; override; | Performs actions needed to add a directory path to the list of matches for the searcher
public
constructor Create(); | Constructor for the class instance
end;

Inheritance

TListDirectoriesSearcher | Stores directory names matching a search criteria in a TStrings class instance
|
TFileSearcher | Class for searching files
|
TFileIterator | Class for getting info about found file or directory.
|
TObject

Description

TListDirectoriesSearcher is a TFileSearcher descendant used to store directory names matching the specified search criteria in a TStrings class instance.


TListDirectoriesSearcher
TFileSearcher
 |  | MaskSeparator
 |  | PathSeparator
 |  | FollowSymLink
 |  | FileAttribute
 |  | DirectoryAttribute
TFileIterator
 | ro | FileName
 | ro | FileInfo
 | ro | Level
 | ro | Path
 | ro | Searching


TListDirectoriesSearcher
pt | DoDirectoryFound
 | Create
TFileSearcher
pt | DoDirectoryEnter
pt | DoDirectoryFound
pt | DoFileFound
 | Create
 | Search
TFileIterator
 | Stop
 | IsDirectory


pt | DoDirectoryEnter (TFileSearcher)
pt | DoDirectoryFound (TFileSearcher)
pt | DoDirectoryFound (TListDirectoriesSearcher)
pt | DoFileFound (TFileSearcher)
 | IsDirectory (TFileIterator)
 | Search (TFileSearcher)
 | Stop (TFileIterator)


TListDirectoriesSearcher
TFileSearcher
 | OnDirectoryFound
 | OnFileFound
 | OnDirectoryEnter
TFileIterator


TListDirectoriesSearcher.Create

Constructor for the class instance

Declaration

Source position: fileutil.pas line 180

public constructor TListDirectoriesSearcher.Create(

  AList: TStrings

);

Arguments

AList

TStrings class instance used to store directory names matching the specified search criteria

Description

Create is the constructor for the class instance. Create calls the inherited constructor, and stores the value in AList to the internal member used to capture matching directory names in the class instance.


TListDirectoriesSearcher.DoDirectoryFound

Performs actions needed to add a directory path to the list of matches for the searcher

Declaration

Source position: fileutil.pas line 178

protected procedure TListDirectoriesSearcher.DoDirectoryFound; override;


TListFileSearcher

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Stores file matching a search criteria in a TStrings class instance

Declaration

Source position: fileutil.pas line 163

type TListFileSearcher = class(TFileSearcher)
protected
procedure DoFileFound; override; | Performs actions required to add a file name to the list of matches for the file searcher
public
constructor Create(); | Constructor for the class instance
end;

Inheritance

TListFileSearcher | Stores file matching a search criteria in a TStrings class instance
|
TFileSearcher | Class for searching files
|
TFileIterator | Class for getting info about found file or directory.
|
TObject

Description

TListFileSearcher is a TFileSearcher descendant used to used store files matching a specified search criteria in a TStrings class instance.


TListFileSearcher
TFileSearcher
 |  | MaskSeparator
 |  | PathSeparator
 |  | FollowSymLink
 |  | FileAttribute
 |  | DirectoryAttribute
TFileIterator
 | ro | FileName
 | ro | FileInfo
 | ro | Level
 | ro | Path
 | ro | Searching


TListFileSearcher
pt | DoFileFound
 | Create
TFileSearcher
pt | DoDirectoryEnter
pt | DoDirectoryFound
pt | DoFileFound
 | Create
 | Search
TFileIterator
 | Stop
 | IsDirectory


pt | DoDirectoryEnter (TFileSearcher)
pt | DoDirectoryFound (TFileSearcher)
pt | DoFileFound (TFileSearcher)
pt | DoFileFound (TListFileSearcher)
 | IsDirectory (TFileIterator)
 | Search (TFileSearcher)
 | Stop (TFileIterator)


TListFileSearcher
TFileSearcher
 | OnDirectoryFound
 | OnFileFound
 | OnDirectoryEnter
TFileIterator


TListFileSearcher.Create

Constructor for the class instance

Declaration

Source position: fileutil.pas line 169

public constructor TListFileSearcher.Create(

  AList: TStrings

);

Arguments

AList

TStrings class instance used to store matching file names

Description

Create is the constructor for the class instance. Create calls the inherited constructor, and stores the TStrings instance in AList to the the internal member used in the class instance.


TListFileSearcher.DoFileFound

Performs actions required to add a file name to the list of matches for the file searcher

Declaration

Source position: fileutil.pas line 167

protected procedure TListFileSearcher.DoFileFound; override;


TRawImage

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: graphtype.pp line 197

type TRawImage = object

  Description: TRawImageDescription;

  Data: PByte;

  DataSize: PtrUInt;

  Mask: PByte;

  MaskSize: PtrUInt;

  Palette: PByte;

  PaletteSize: PtrUInt;

  procedure Init;

  procedure CreateData();

  procedure FreeData;

  procedure ReleaseData;

  procedure ExtractRect();

  function GetLineStart();

  procedure PerformEffect();

  function ReadBits();

  procedure ReadChannels();

  procedure ReadMask();

  procedure WriteBits();

  procedure WriteChannels();

  procedure WriteMask();

  function IsMasked();

  function IsTransparent();

  function IsEqual();

end;

Inheritance

TRawImage
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TRawImage


TRawImage
 | Init
 | CreateData
 | FreeData
 | ReleaseData
 | ExtractRect
 | GetLineStart
 | PerformEffect
 | ReadBits
 | ReadChannels
 | ReadMask
 | WriteBits
 | WriteChannels
 | WriteMask
 | IsMasked
 | IsTransparent
 | IsEqual


CreateData (TRawImage)

ExtractRect (TRawImage)

FreeData (TRawImage)

GetLineStart (TRawImage)

Init (TRawImage)

IsEqual (TRawImage)

IsMasked (TRawImage)

IsTransparent (TRawImage)

PerformEffect (TRawImage)

ReadBits (TRawImage)

ReadChannels (TRawImage)

ReadMask (TRawImage)

ReleaseData (TRawImage)

WriteBits (TRawImage)

WriteChannels (TRawImage)

WriteMask (TRawImage)


TRawImage.CreateData

Declaration

Source position: graphtype.pp line 208

procedure TRawImage.CreateData(

  AZeroMem: Boolean

);


TRawImage.Data

Declaration

Source position: graphtype.pp line 199

TRawImage.Data : PByte;


TRawImage.DataSize

Declaration

Source position: graphtype.pp line 200

TRawImage.DataSize : PtrUInt;


TRawImage.Description

Declaration

Source position: graphtype.pp line 198

TRawImage.Description : TRawImageDescription;


TRawImage.ExtractRect

Declaration

Source position: graphtype.pp line 212

procedure TRawImage.ExtractRect(

  const ARect: TRect;

  out ADst: TRawImage

);


TRawImage.FreeData

Declaration

Source position: graphtype.pp line 210

procedure TRawImage.FreeData;


TRawImage.GetLineStart

Declaration

Source position: graphtype.pp line 214

function TRawImage.GetLineStart(

  ALine: Cardinal

):PByte;


TRawImage.Init

Declaration

Source position: graphtype.pp line 207

procedure TRawImage.Init;


TRawImage.IsEqual

Declaration

Source position: graphtype.pp line 225

function TRawImage.IsEqual(

  AImage: TRawImage

):Boolean;


TRawImage.IsMasked

Declaration

Source position: graphtype.pp line 223

function TRawImage.IsMasked(

  ATestPixels: Boolean

):Boolean;


TRawImage.IsTransparent

Declaration

Source position: graphtype.pp line 224

function TRawImage.IsTransparent(

  ATestPixels: Boolean

):Boolean;


TRawImage.Mask

Declaration

Source position: graphtype.pp line 201

TRawImage.Mask : PByte;


TRawImage.MaskSize

Declaration

Source position: graphtype.pp line 202

TRawImage.MaskSize : PtrUInt;


TRawImage.Palette

Declaration

Source position: graphtype.pp line 203

TRawImage.Palette : PByte;


TRawImage.PaletteSize

Declaration

Source position: graphtype.pp line 204

TRawImage.PaletteSize : PtrUInt;


TRawImage.PerformEffect

Declaration

Source position: graphtype.pp line 215

procedure TRawImage.PerformEffect(

  const ADrawEffect: TGraphicsDrawEffect;

  CreateNewData: Boolean = True;

  FreeOldData: Boolean = False

);


TRawImage.ReadBits

Declaration

Source position: graphtype.pp line 216

function TRawImage.ReadBits(

  const APosition: TRawImagePosition;

  APrec: Byte;

  AShift: Byte

):Word;


TRawImage.ReadChannels

Declaration

Source position: graphtype.pp line 217

procedure TRawImage.ReadChannels(

  const APosition: TRawImagePosition;

  out ARed: Word;

  out AGreen: Word;

  out ABlue: Word;

  out AAlpha: Word

);


TRawImage.ReadMask

Declaration

Source position: graphtype.pp line 218

procedure TRawImage.ReadMask(

  const APosition: TRawImagePosition;

  out AMask: Boolean

);


TRawImage.ReleaseData

Declaration

Source position: graphtype.pp line 211

procedure TRawImage.ReleaseData;


TRawImage.WriteBits

Declaration

Source position: graphtype.pp line 219

procedure TRawImage.WriteBits(

  const APosition: TRawImagePosition;

  APrec: Byte;

  AShift: Byte;

  ABits: Word

);


TRawImage.WriteChannels

Declaration

Source position: graphtype.pp line 220

procedure TRawImage.WriteChannels(

  const APosition: TRawImagePosition;

  ARed: Word;

  AGreen: Word;

  ABlue: Word;

  AAlpha: Word

);


TRawImage.WriteMask

Declaration

Source position: graphtype.pp line 221

procedure TRawImage.WriteMask(

  const APosition: TRawImagePosition;

  AMask: Boolean

);


TRawImageBitOrder

Declaration

Source position: graphtype.pp line 75

type TRawImageBitOrder = (

  riboBitsInOrder,

  riboReversedBits

);


TRawImageByteOrder

Declaration

Source position: graphtype.pp line 70

type TRawImageByteOrder = (

  riboLSBFirst,

  riboMSBFirst

);


TRawImageColorFormat

Declaration

Source position: graphtype.pp line 62

type TRawImageColorFormat = (

  ricfNone,

  ricfRGBA,

  ricfGray

);


TRawImageDescription

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: graphtype.pp line 109

type TRawImageDescription = object

  Format: TRawImageColorFormat;

  Width: Cardinal;

  Height: Cardinal;

  Depth: Byte;

  BitOrder: TRawImageBitOrder;

  ByteOrder: TRawImageByteOrder;

  LineOrder: TRawImageLineOrder;

  LineEnd: TRawImageLineEnd;

  BitsPerPixel: Byte;

  RedPrec: Byte;

  RedShift: Byte;

  GreenPrec: Byte;

  GreenShift: Byte;

  BluePrec: Byte;

  BlueShift: Byte;

  AlphaPrec: Byte;

  AlphaShift: Byte;

  MaskBitsPerPixel: Byte;

  MaskShift: Byte;

  MaskLineEnd: TRawImageLineEnd;

  MaskBitOrder: TRawImageBitOrder;

  PaletteColorCount: Word;

  PaletteBitsPerIndex: Byte;

  PaletteShift: Byte;

  PaletteLineEnd: TRawImageLineEnd;

  PaletteBitOrder: TRawImageBitOrder;

  PaletteByteOrder: TRawImageByteOrder;

  procedure Init;

  procedure Init_BPP1();

  procedure Init_BPP16_R5G6B5();

  procedure Init_BPP24_R8G8B8_BIO_TTB();

  procedure Init_BPP24_R8G8B8_BIO_TTB_UpsideDown();

  procedure Init_BPP32_A8R8G8B8_BIO_TTB();

  procedure Init_BPP32_R8G8B8A8_BIO_TTB();

  procedure Init_BPP24_B8G8R8_BIO_TTB();

  procedure Init_BPP24_B8G8R8_M1_BIO_TTB();

  procedure Init_BPP32_B8G8R8_BIO_TTB();

  procedure Init_BPP32_B8G8R8_M1_BIO_TTB();

  procedure Init_BPP32_B8G8R8A8_BIO_TTB();

  procedure Init_BPP32_B8G8R8A8_M1_BIO_TTB();

  function GetDescriptionFromMask;

  function GetDescriptionFromAlpha;

  procedure GetRGBIndices();

  function BytesPerLine;

  function BitsPerLine;

  function MaskBytesPerLine;

  function MaskBitsPerLine;

  function AsString;

  function IsEqual();

end;

Inheritance

TRawImageDescription
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TRawImageDescription


TRawImageDescription
 | Init
 | Init_BPP1
 | Init_BPP16_R5G6B5
 | Init_BPP24_R8G8B8_BIO_TTB
 | Init_BPP24_R8G8B8_BIO_TTB_UpsideDown
 | Init_BPP32_A8R8G8B8_BIO_TTB
 | Init_BPP32_R8G8B8A8_BIO_TTB
 | Init_BPP24_B8G8R8_BIO_TTB
 | Init_BPP24_B8G8R8_M1_BIO_TTB
 | Init_BPP32_B8G8R8_BIO_TTB
 | Init_BPP32_B8G8R8_M1_BIO_TTB
 | Init_BPP32_B8G8R8A8_BIO_TTB
 | Init_BPP32_B8G8R8A8_M1_BIO_TTB
 | GetDescriptionFromMask
 | GetDescriptionFromAlpha
 | GetRGBIndices
 | BytesPerLine
 | BitsPerLine
 | MaskBytesPerLine
 | MaskBitsPerLine
 | AsString
 | IsEqual


AsString (TRawImageDescription)

BitsPerLine (TRawImageDescription)

BytesPerLine (TRawImageDescription)

GetDescriptionFromAlpha (TRawImageDescription)

GetDescriptionFromMask (TRawImageDescription)

GetRGBIndices (TRawImageDescription)

Init (TRawImageDescription)

Init_BPP1 (TRawImageDescription)

Init_BPP16_R5G6B5 (TRawImageDescription)

Init_BPP24_B8G8R8_BIO_TTB (TRawImageDescription)

Init_BPP24_B8G8R8_M1_BIO_TTB (TRawImageDescription)

Init_BPP24_R8G8B8_BIO_TTB (TRawImageDescription)

Init_BPP24_R8G8B8_BIO_TTB_UpsideDown (TRawImageDescription)

Init_BPP32_A8R8G8B8_BIO_TTB (TRawImageDescription)

Init_BPP32_B8G8R8A8_BIO_TTB (TRawImageDescription)

Init_BPP32_B8G8R8A8_M1_BIO_TTB (TRawImageDescription)

Init_BPP32_B8G8R8_BIO_TTB (TRawImageDescription)

Init_BPP32_B8G8R8_M1_BIO_TTB (TRawImageDescription)

Init_BPP32_R8G8B8A8_BIO_TTB (TRawImageDescription)

IsEqual (TRawImageDescription)

MaskBitsPerLine (TRawImageDescription)

MaskBytesPerLine (TRawImageDescription)


TRawImageDescription.AlphaPrec

Declaration

Source position: graphtype.pp line 125

TRawImageDescription.AlphaPrec : Byte;


TRawImageDescription.AlphaShift

Declaration

Source position: graphtype.pp line 126

TRawImageDescription.AlphaShift : Byte;


TRawImageDescription.AsString

Declaration

Source position: graphtype.pp line 180

function TRawImageDescription.AsString: string;


TRawImageDescription.BitOrder

Declaration

Source position: graphtype.pp line 114

TRawImageDescription.BitOrder : TRawImageBitOrder;


TRawImageDescription.BitsPerLine

Declaration

Source position: graphtype.pp line 176

function TRawImageDescription.BitsPerLine: PtrUInt;


TRawImageDescription.BitsPerPixel

Declaration

Source position: graphtype.pp line 118

TRawImageDescription.BitsPerPixel : Byte;


TRawImageDescription.BluePrec

Declaration

Source position: graphtype.pp line 123

TRawImageDescription.BluePrec : Byte;


TRawImageDescription.BlueShift

Declaration

Source position: graphtype.pp line 124

TRawImageDescription.BlueShift : Byte;


TRawImageDescription.ByteOrder

Declaration

Source position: graphtype.pp line 115

TRawImageDescription.ByteOrder : TRawImageByteOrder;


TRawImageDescription.BytesPerLine

Declaration

Source position: graphtype.pp line 175

function TRawImageDescription.BytesPerLine: PtrUInt;


TRawImageDescription.Depth

Declaration

Source position: graphtype.pp line 113

TRawImageDescription.Depth : Byte;


TRawImageDescription.Format

Declaration

Source position: graphtype.pp line 110

TRawImageDescription.Format : TRawImageColorFormat;


TRawImageDescription.GetDescriptionFromAlpha

Declaration

Source position: graphtype.pp line 170

function TRawImageDescription.GetDescriptionFromAlpha: TRawImageDescription;


TRawImageDescription.GetDescriptionFromMask

Declaration

Source position: graphtype.pp line 169

function TRawImageDescription.GetDescriptionFromMask: TRawImageDescription;


TRawImageDescription.GetRGBIndices

Declaration

Source position: graphtype.pp line 173

procedure TRawImageDescription.GetRGBIndices(

  out Ridx: Byte;

  out Gidx: Byte;

  out Bidx: Byte;

  out Aidx: Byte

);


TRawImageDescription.GreenPrec

Declaration

Source position: graphtype.pp line 121

TRawImageDescription.GreenPrec : Byte;


TRawImageDescription.GreenShift

Declaration

Source position: graphtype.pp line 122

TRawImageDescription.GreenShift : Byte;


TRawImageDescription.Height

Declaration

Source position: graphtype.pp line 112

TRawImageDescription.Height : Cardinal;


TRawImageDescription.Init

Declaration

Source position: graphtype.pp line 147

procedure TRawImageDescription.Init;


TRawImageDescription.Init_BPP1

Declaration

Source position: graphtype.pp line 150

procedure TRawImageDescription.Init_BPP1(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP16_R5G6B5

Declaration

Source position: graphtype.pp line 153

procedure TRawImageDescription.Init_BPP16_R5G6B5(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP24_B8G8R8_BIO_TTB

Declaration

Source position: graphtype.pp line 162

procedure TRawImageDescription.Init_BPP24_B8G8R8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP24_B8G8R8_M1_BIO_TTB

Declaration

Source position: graphtype.pp line 163

procedure TRawImageDescription.Init_BPP24_B8G8R8_M1_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB

Declaration

Source position: graphtype.pp line 156

procedure TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown

Declaration

Source position: graphtype.pp line 157

procedure TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_A8R8G8B8_BIO_TTB

Declaration

Source position: graphtype.pp line 158

procedure TRawImageDescription.Init_BPP32_A8R8G8B8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_B8G8R8_BIO_TTB

Declaration

Source position: graphtype.pp line 164

procedure TRawImageDescription.Init_BPP32_B8G8R8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_B8G8R8_M1_BIO_TTB

Declaration

Source position: graphtype.pp line 165

procedure TRawImageDescription.Init_BPP32_B8G8R8_M1_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_B8G8R8A8_BIO_TTB

Declaration

Source position: graphtype.pp line 166

procedure TRawImageDescription.Init_BPP32_B8G8R8A8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB

Declaration

Source position: graphtype.pp line 167

procedure TRawImageDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.Init_BPP32_R8G8B8A8_BIO_TTB

Declaration

Source position: graphtype.pp line 159

procedure TRawImageDescription.Init_BPP32_R8G8B8A8_BIO_TTB(

  AWidth: Integer;

  AHeight: Integer

);


TRawImageDescription.IsEqual

Declaration

Source position: graphtype.pp line 181

function TRawImageDescription.IsEqual(

  ADesc: TRawImageDescription

):Boolean;


TRawImageDescription.LineEnd

Declaration

Source position: graphtype.pp line 117

TRawImageDescription.LineEnd : TRawImageLineEnd;


TRawImageDescription.LineOrder

Declaration

Source position: graphtype.pp line 116

TRawImageDescription.LineOrder : TRawImageLineOrder;


TRawImageDescription.MaskBitOrder

Declaration

Source position: graphtype.pp line 136

TRawImageDescription.MaskBitOrder : TRawImageBitOrder;


TRawImageDescription.MaskBitsPerLine

Declaration

Source position: graphtype.pp line 178

function TRawImageDescription.MaskBitsPerLine: PtrUInt;


TRawImageDescription.MaskBitsPerPixel

Declaration

Source position: graphtype.pp line 133

TRawImageDescription.MaskBitsPerPixel : Byte;


TRawImageDescription.MaskBytesPerLine

Declaration

Source position: graphtype.pp line 177

function TRawImageDescription.MaskBytesPerLine: PtrUInt;


TRawImageDescription.MaskLineEnd

Declaration

Source position: graphtype.pp line 135

TRawImageDescription.MaskLineEnd : TRawImageLineEnd;


TRawImageDescription.MaskShift

Declaration

Source position: graphtype.pp line 134

TRawImageDescription.MaskShift : Byte;


TRawImageDescription.PaletteBitOrder

Declaration

Source position: graphtype.pp line 143

TRawImageDescription.PaletteBitOrder : TRawImageBitOrder;


TRawImageDescription.PaletteBitsPerIndex

Declaration

Source position: graphtype.pp line 140

TRawImageDescription.PaletteBitsPerIndex : Byte;


TRawImageDescription.PaletteByteOrder

Declaration

Source position: graphtype.pp line 144

TRawImageDescription.PaletteByteOrder : TRawImageByteOrder;


TRawImageDescription.PaletteColorCount

Declaration

Source position: graphtype.pp line 139

TRawImageDescription.PaletteColorCount : Word;


TRawImageDescription.PaletteLineEnd

Declaration

Source position: graphtype.pp line 142

TRawImageDescription.PaletteLineEnd : TRawImageLineEnd;


TRawImageDescription.PaletteShift

Declaration

Source position: graphtype.pp line 141

TRawImageDescription.PaletteShift : Byte;


TRawImageDescription.RedPrec

Declaration

Source position: graphtype.pp line 119

TRawImageDescription.RedPrec : Byte;


TRawImageDescription.RedShift

Declaration

Source position: graphtype.pp line 120

TRawImageDescription.RedShift : Byte;


TRawImageDescription.Width

Declaration

Source position: graphtype.pp line 111

TRawImageDescription.Width : Cardinal;


TRawImageLineStarts

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: graphtype.pp line 231

type TRawImageLineStarts = object

public

  Positions: ;

  procedure Init();

  function GetPosition();

end;

Inheritance

TRawImageLineStarts
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TRawImageLineStarts


TRawImageLineStarts
 | Init
 | GetPosition


TRawImageLineStarts.GetPosition

Declaration

Source position: graphtype.pp line 243

public function TRawImageLineStarts.GetPosition(

  x: Cardinal;

  y: Cardinal

):TRawImagePosition;


TRawImageLineStarts.Init

Declaration

Source position: graphtype.pp line 242

public procedure TRawImageLineStarts.Init(

  AWidth: Cardinal;

  AHeight: Cardinal;

  ABitsPerPixel: Byte;

  ALineEnd: TRawImageLineEnd;

  ALineOrder: TRawImageLineOrder

);


TRawImageLineStarts.Positions

Declaration

Source position: graphtype.pp line 239

public TRawImageLineStarts.Positions : array of TRawImagePosition;


THTML2TextRenderer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: html2textrender.pas line 31

type THTML2TextRenderer = class
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Frees the class instance
function Render(); | Parses the HTML and renders the plain text output
property LineEndMark: string; [rw] | Defines the end-of-line character sequence
property TitleMark: string; [rw] | Defines the character used to delimit a title or header
property HorzLineMark: string; [rw] | Represents a HR tag in the plaint text output
property LinkBeginMark: string; [rw] | Represents an A start tag in the plain text output
property LinkEndMark: string; [rw] | Represents an A end tag in the plain text output
property ListItemMark: string; [rw] | Represents a list item in the plain text output
property MoreMark: string; [rw] | Indicates that the plain text output is truncated due to a line limit restriction
property IndentStep: Integer; [rw] | Number of space characters used for each indentation level in the plain text output
end;

Inheritance

THTML2TextRenderer

|

TObject

Description

THTML2TextRenderer is an HTML-to-Text renderer. It converts HTML into plain text by stripping tags and their attributes. Converted text includes configurable indentation for HTML tags that affect the indentation level. The following HTML tags include special processing in the renderer:

  • HTML
  • BODY
  • P
  • BR
  • HR
  • OL
  • UL
  • LI
  • DIV CLASS="TITLE" (forces title mark output)

The following Named character entities are converted to their plain text equivalent:

&nbsp;
' '
&lt;
'<'
&gt;
'>;'
&amp;
'&'

Other named character entities or numeric character entities are included verbatim in the plain text output.

A UTF-8 Byte Order Mark in the HTML is ignored.

Set values for properties in the class instance to customize the content and formatting produced in the output. Use the Render method to parse and process the HTML content passed to the constructor, and generate the output for the class instance.

See also

THTML2TextRenderer.Render | Parses the HTML and renders the plain text output
THTML2TextRenderer.Create | Constructor for the class instance


THTML2TextRenderer
 | LineEndMark
 | TitleMark
 | HorzLineMark
 | LinkBeginMark
 | LinkEndMark
 | ListItemMark
 | MoreMark
 | IndentStep


HorzLineMark (THTML2TextRenderer)

IndentStep (THTML2TextRenderer)

LineEndMark (THTML2TextRenderer)

LinkBeginMark (THTML2TextRenderer)

LinkEndMark (THTML2TextRenderer)

ListItemMark (THTML2TextRenderer)

MoreMark (THTML2TextRenderer)

TitleMark (THTML2TextRenderer)


THTML2TextRenderer
 | Create
 | Destroy
 | Render


THTML2TextRenderer


THTML2TextRenderer.Create

Constructor for the class instance

Declaration

Source position: html2textrender.pas line 56

public constructor THTML2TextRenderer.Create(

  const aHTML: string

);

constructor THTML2TextRenderer.Create(

  const Stream: TStream

);

Arguments

aHTML

String with the HTML content examined in the class

Arguments

Stream

TStream instance with the HTML content examined in the class

Description

Create is the overloaded constructor for the class instance. An argument passed to the method contains the HTML content examined in the class as either a String value or a TStream instance. The Stream-based variant reads the content in Stream into a String variable for processing. The position in the stream is not changed prior to or after reading its content.

Create stores the HTML content in aHTML to an internal member used when parsing and processing using methods in the class. A UTF-8 Byte Order Mark (BOM) at the start of the HTML content is removed prior to processing.

Create sets the default values for the following properties:

LineEndMark
Set to the value in the LineEnding constant for the platform or OS.
TitleMark
Set to the UTF-8 character '◈' (#9672 or #x25C8)
HorzLineMark
Set to the UTF-8 characters '——————————————————'.
LinkBeginMark
Set to the character '_'.
LinkEndMark
Set to the character '_'.
ListItemMark
Set to the UTF-8 characters '✶ ' (Hex #$2736).
MoreMark
Set to the characters '...' (Three Period characters - not an Ellipsis character).
IndentStep
Set to 2.


THTML2TextRenderer.Destroy

Frees the class instance

Declaration

Source position: html2textrender.pas line 58

public destructor THTML2TextRenderer.Destroy; override;

Description

Destroy is the overridden destructor for the class instance. Destroy calls the inherited destructor.


THTML2TextRenderer.HorzLineMark

Represents a HR tag in the plaint text output

Declaration

Source position: html2textrender.pas line 63

public property THTML2TextRenderer.HorzLineMark : string
  read fHorzLine
  write fHorzLine;

Description

HorzLineMark is used in the implementation of the HtmlTag method when a HR tag is encountered in the HTML content. The default value for the property is the UTF-8 characters '——————————————————' (Eighteen Hex #$2013 characters).


THTML2TextRenderer.IndentStep

Number of space characters used for each indentation level in the plain text output

Declaration

Source position: html2textrender.pas line 68

public property THTML2TextRenderer.IndentStep : Integer
  read fIndentStep
  write fIndentStep;

Description

IndentStep is an Integer property used to indicate the number of space characters generated for each indentation level in the plain text output for the renderer. The default value for the property is 2, and is used in the implementation of the AddOutput method.


THTML2TextRenderer.LineEndMark

Defines the end-of-line character sequence

Declaration

Source position: html2textrender.pas line 61

public property THTML2TextRenderer.LineEndMark : string
  read fLineEndMark
  write fLineEndMark;

Description

LineEndMark is a String property which contains the end-of-line character sequence inserted in the plain text output for the renderer. By convention, the default value for the property is the value from the LineEnding constant defined for the platform or OS. The value is inserted in the renderer output in the AddOutput method.

See also

#RTL.System.LineEnding


THTML2TextRenderer.LinkBeginMark

Represents an A start tag in the plain text output

Declaration

Source position: html2textrender.pas line 64

public property THTML2TextRenderer.LinkBeginMark : string
  read fLinkBegin
  write fLinkBegin;

Description

LinkBeginMark is a String property used to represent the start of the plain text output for an HTML A tag. LinkEndMark is used to represent the end of the anchor. The value is added to the plain text output for the renderer in the HtmlTag method.

See also

THTML2TextRenderer.LinkEndMark

Represents an A end tag in the plain text output


THTML2TextRenderer.LinkEndMark

Represents an A end tag in the plain text output

Declaration

Source position: html2textrender.pas line 65

public property THTML2TextRenderer.LinkEndMark : string
  read fLinkEnd
  write fLinkEnd;

Description

LinkEndMark is a String property used to represent the end of the plain text output for an HTML A tag. LinkBeginMark is used to represent the start of the anchor. The value is added to the plain text output for the renderer in the HtmlTag method.

See also

THTML2TextRenderer.LinkBeginMark

Represents an A start tag in the plain text output


THTML2TextRenderer.ListItemMark

Represents a list item in the plain text output

Declaration

Source position: html2textrender.pas line 66

public property THTML2TextRenderer.ListItemMark : string
  read fListItemMark
  write fListItemMark;

Description

ListItemMark is a String property which contains the character(s) inserted before a HTML LI tag. The value is added to the plain text output for the renderer in the HtmlTag method.


THTML2TextRenderer.MoreMark

Indicates that the plain text output is truncated due to a line limit restriction

Declaration

Source position: html2textrender.pas line 67

public property THTML2TextRenderer.MoreMark : string
  read fMoreMark
  write fMoreMark;

Description

The default value for the property is three (3) Period ('.') characters - NOT an Ellipsis character. The value is added to the plain text output for the renderer when the maximum number of lines has been exceeded in the AddOutput method.


THTML2TextRenderer.Render

Parses the HTML and renders the plain text output

Declaration

Source position: html2textrender.pas line 59

public function THTML2TextRenderer.Render(

  aMaxLines: Integer = MaxInt

):string;

Arguments

aMaxLines

Maximum number of lines to process in the method

Function result

String with the plain text content extracted from the HTML

Description

Render is a String function used to parse the HTML passed as an argument to the constructor, and to render the plain text output in the return value. The output is limited to the number of lines specified in the aMaxLines argument. The default value for the argument is the MaxInt constant.

Remark: Please note: AddOutput, HtmlTag, and HtmlEntity return False if aMaxLines was exceeded.

Renders calls the Reset method to set the initial values for members and flags used in the class instance. The parsing mechanism looks for HTML tags and character entities/references, processes their content, and calls the AddOutput method. Whitespace (characters #32, #9, #10, and #13) between tags and entities is always normalized into a single space character.

Render calls the HtmlTag, HtmlEntity, and AddOutput methods to process the HTML content passed to the method.


THTML2TextRenderer.TitleMark

Defines the character used to delimit a title or header

Declaration

Source position: html2textrender.pas line 62

public property THTML2TextRenderer.TitleMark : string
  read fTitleMark
  write fTitleMark;

Description

TitleMark is inserted both prior to and following a title/header found in the HTML content in the HtmlTag method. The default value is the UTF-8 character '◈' (Decimal #9672 or Hex #x25C8).


TByteList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a specialization of TFPGList for Byte data types

Declaration

Source position: integerlist.pas line 25

type TByteList = class()

public

  procedure Sort; overload;

Sorts the Byte values stored in the list

end;

Inheritance

TByteList

Implements a specialization of TFPGList for Byte data types
|

?

TObject

Description

TByteList provides an overloaded Sort method to ensure that values in the list are handled using a compare function that operates on Byte values.

See also

#RTL.fgl.TFPGList


TByteList


TByteList

Sort


TCardinalList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a specialization of TFPGList for Cardinal data types

Declaration

Source position: integerlist.pas line 35

type TCardinalList = class()

public

  procedure Sort; overload;

Sorts the Word values stored in the list

end;

Inheritance

TCardinalList

Implements a specialization of TFPGList for Cardinal data types
|

?

TObject

Description

TCardinalList provides an overloaded Sort method to ensure that values in the list are handled using a compare function that operates on Cardinal values.

See also

TCardinalList.Sort

Sorts the Word values stored in the list

#rtl.fgl.TFPGList.Sort

#rtl.fgl.TFPGList


TCardinalList


TCardinalList

Sort


TInt64List

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a specialization of TFPGList for Int64 data types

Declaration

Source position: integerlist.pas line 45

type TInt64List = class()

public

  procedure Sort; overload;

Sorts the Int64 values stored in the list

end;

Inheritance

TInt64List

Implements a specialization of TFPGList for Int64 data types
|

?

TObject

Description

TInt64List provides an overloaded Sort method to ensure that values in the list are handled using a compare function that operates on Int64 values.

See also

#rtl.fgl.TFPGList

#rtl.fgl.TFPGList.Sort


TInt64List


TInt64List

Sort


TIntegerList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a specialization of TFPGList for Integer data types

Declaration

Source position: integerlist.pas line 40

type TIntegerList = class()

public

  procedure Sort; overload;

Sorts the Integer values stored in the list

end;

Inheritance

TIntegerList

Implements a specialization of TFPGList for Integer data types
|

?

TObject

Description

TIntegerList provides an overloaded Sort method to ensure that values in the list are handled using a compare function that operates on Integer values.

See also

TIntegerList.Sort

Sorts the Integer values stored in the list

#rtl.fgl.TFPGList.Sort

#rtl.fgl.TFPGList


TIntegerList


TIntegerList

Sort


TWordList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a specialization of TFPGList for Word data types

Declaration

Source position: integerlist.pas line 30

type TWordList = class()

public

  procedure Sort; overload;

Sorts the Word values stored in the list

end;

Inheritance

TWordList

Implements a specialization of TFPGList for Word data types
|

?

TObject

Description

TWordList provides an overloaded Sort method to ensure that values in the list are handled using a compare function that operates on Word values.

See also

#rtl.fgl.TFPGList


TWordList


TWordList

Sort


EDOMError

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Base class for exceptions raised in DOM interfaces

Declaration

Source position: laz2_dom.pas line 121

type EDOMError = class(Exception)
public
Code: Integer; | Error code constant for the exception
constructor Create(); | Constructor for the class instance
end;

Inheritance

EDOMError

Base class for exceptions raised in DOM interfaces
|

Exception
|

TObject


EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMError

Exception

TObject


EDOMError.Code

Error code constant for the exception

Declaration

Source position: laz2_dom.pas line 123

public EDOMError.Code : Integer;


EDOMError.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 124

public constructor EDOMError.Create(

  ACode: Integer;

  const ASituation: string

);

Arguments

ACode | Error code for the class instance
ASituation | Provides context information for the error


EDOMHierarchyRequest

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when a node is inserted somewhere it doesn't belong

Declaration

Source position: laz2_dom.pas line 132

type EDOMHierarchyRequest = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMHierarchyRequest | Exception raised when a node is inserted somewhere it doesn't belong
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMHierarchyRequest
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMHierarchyRequest
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMHierarchyRequest)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMHierarchyRequest

EDOMError

Exception

TObject


EDOMHierarchyRequest.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 134

public constructor EDOMHierarchyRequest.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMIndexSize

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised for an invalid index size

Declaration

Source position: laz2_dom.pas line 127

type EDOMIndexSize = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMIndexSize | Exception raised for an invalid index size
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMIndexSize
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMIndexSize
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMIndexSize)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMIndexSize

EDOMError

Exception

TObject


EDOMIndexSize.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 129

public constructor EDOMIndexSize.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMInUseAttribute

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when adding an attribute that is already in use

Declaration

Source position: laz2_dom.pas line 152

type EDOMInUseAttribute = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMInUseAttribute | Exception raised when adding an attribute that is already in use
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMInUseAttribute
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMInUseAttribute
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMInUseAttribute)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMInUseAttribute

EDOMError

Exception

TObject


EDOMInUseAttribute.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 154

public constructor EDOMInUseAttribute.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMInvalidAccess

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when a parameter or operation is not supported by the object

Declaration

Source position: laz2_dom.pas line 177

type EDOMInvalidAccess = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMInvalidAccess | Exception raised when a parameter or operation is not supported by the object
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMInvalidAccess
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMInvalidAccess
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMInvalidAccess)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMInvalidAccess

EDOMError

Exception

TObject


EDOMInvalidAccess.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 179

public constructor EDOMInvalidAccess.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMInvalidModification

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when an attempt is made to modify the type for an object

Declaration

Source position: laz2_dom.pas line 167

type EDOMInvalidModification = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMInvalidModification | Exception raised when an attempt is made to modify the type for an object
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMInvalidModification
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMInvalidModification
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMInvalidModification)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMInvalidModification

EDOMError

Exception

TObject


EDOMInvalidModification.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 169

public constructor EDOMInvalidModification.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMInvalidState

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when accessing an object that is no longer usable

Declaration

Source position: laz2_dom.pas line 157

type EDOMInvalidState = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMInvalidState | Exception raised when accessing an object that is no longer usable
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMInvalidState
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMInvalidState
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMInvalidState)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMInvalidState

EDOMError

Exception

TObject


EDOMInvalidState.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 159

public constructor EDOMInvalidState.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMNamespace

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when an object is changed in a way that is invalid for its Namespaces

Declaration

Source position: laz2_dom.pas line 172

type EDOMNamespace = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMNamespace | Exception raised when an object is changed in a way that is invalid for its Namespaces
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMNamespace
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMNamespace
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMNamespace)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMNamespace

EDOMError

Exception

TObject


EDOMNamespace.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 174

public constructor EDOMNamespace.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMNotFound

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when accessing a node in a context where it doesn't exist

Declaration

Source position: laz2_dom.pas line 142

type EDOMNotFound = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMNotFound | Exception raised when accessing a node in a context where it doesn't exist
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMNotFound
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMNotFound
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMNotFound)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMNotFound

EDOMError

Exception

TObject


EDOMNotFound.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 144

public constructor EDOMNotFound.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMNotSupported

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when the DOM implementation does not support the requested object type or operation

Declaration

Source position: laz2_dom.pas line 147

type EDOMNotSupported = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMNotSupported | Exception raised when the DOM implementation does not support the requested object type or operation
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMNotSupported
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMNotSupported
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMNotSupported)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMNotSupported

EDOMError

Exception

TObject


EDOMNotSupported.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 149

public constructor EDOMNotSupported.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMSyntax

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when an invalid or illegal string value is specified

Declaration

Source position: laz2_dom.pas line 162

type EDOMSyntax = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMSyntax | Exception raised when an invalid or illegal string value is specified
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMSyntax
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMSyntax
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMSyntax)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMSyntax

EDOMError

Exception

TObject


EDOMSyntax.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 164

public constructor EDOMSyntax.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


EDOMWrongDocument

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when a node is used in a document other than the one that created it

Declaration

Source position: laz2_dom.pas line 137

type EDOMWrongDocument = class(EDOMError)

public

  constructor Create();

Constructor for the class instance

end;

Inheritance

EDOMWrongDocument | Exception raised when a node is used in a document other than the one that created it
|
EDOMError | Base class for exceptions raised in DOM interfaces
|
Exception
|
TObject


EDOMWrongDocument
EDOMError
Exception
 | HelpContext
 | Message
TObject


EDOMWrongDocument
 | Create
EDOMError
 | Create
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

Create (EDOMError)

Create (EDOMWrongDocument)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EDOMWrongDocument

EDOMError

Exception

TObject


EDOMWrongDocument.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 139

public constructor EDOMWrongDocument.Create(

  const ASituation: string

);

Arguments

ASituation

Provides context information for the error


TDOMAttr

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a DOM Node for attributes with Namspace support

Declaration

Source position: laz2_dom.pas line 595

type TDOMAttr = class(TDOMNode_NS)
protected
FOwnerElement: TDOMElement;
FDataType: TAttrDataType;
function GetNodeValue; override; | Gets the value for the NodeValue property
function GetNodeType; override; | Gets the value for the NodeType property
function GetSpecified; | Gets the value for the Specified property
function GetIsID; | Gets the value for the IsID property
procedure SetNodeValue(); override; | Sets the value for the NodeValue property
public
destructor Destroy; override; | Destructor for the class instance
function CloneNode(); override; overload; | Creates a copy of the DOM Attribute
property Name: DOMString; [r] | Represents the name for the DOM Attribute
property Specified: Boolean; [r] | Indicates if the value for DOM Attribute was explicitly assigned
property Value: DOMString; [rw] | Value for the DOM Attribute
property OwnerElement: TDOMElement; [r] | DOM Element that owns the DOM Attribute node
property IsID: Boolean; [r] | Indicates if the DOM Attribute node represents an ID Data type
property DataType: TAttrDataType; [rw] | Data type for value in the DOM Attribute node
end;

Inheritance

TDOMAttr | Implements a DOM Node for attributes with Namspace support
|
TDOMNode_NS | Implements a DOM Node with Namespace support
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject


TDOMAttr
 | ro | Name
 | ro | Specified
 |  | Value
 | ro | OwnerElement
 | ro | IsID
 |  | DataType
TDOMNode_NS
 | ro | NSI
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
 | DataType (TDOMAttr)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | IsID (TDOMAttr)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | Name (TDOMAttr)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | NSI (TDOMNode_NS)
ro | OwnerDocument (TDOMNode)
ro | OwnerElement (TDOMAttr)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | Specified (TDOMAttr)
 | TextContent (TDOMNode)
 | Value (TDOMAttr)


TDOMAttr
pt | GetNodeValue
pt | GetNodeType
pt | GetSpecified
pt | GetIsID
pt | SetNodeValue
 | Destroy
 | CloneNode
TDOMNode_NS
pt | GetNodeName
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
 | SetNSI
 | CompareName
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMAttr)
 | CompareName (TDOMNode)
 | CompareName (TDOMNode_NS)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | Destroy (TDOMAttr)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetIsID (TDOMAttr)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetLocalName (TDOMNode_NS)
pt | GetNamespaceURI (TDOMNode)
pt | GetNamespaceURI (TDOMNode_NS)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMNode_NS)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMAttr)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMAttr)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
pt | GetPrefix (TDOMNode_NS)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetSpecified (TDOMAttr)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMAttr)
 | SetNSI (TDOMNode_NS)
pt | SetPrefix (TDOMNode)
pt | SetPrefix (TDOMNode_NS)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMAttr

TDOMNode_NS

TDOMNode_WithChildren

TDOMNode


TDOMAttr.DataType

Data type for value in the DOM Attribute node

Declaration

Source position: laz2_dom.pas line 614

public property TDOMAttr.DataType : TAttrDataType
  read FDataType
  write FDataType;

Description

Remark: DataType is an extension to the DOM specification. It is likely to be altered or removed when support is added for the DOM Level 3 TypeInformation Interface.


TDOMAttr.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 605

public destructor TDOMAttr.Destroy; override;


TDOMAttr.FDataType

Declaration

Source position: laz2_dom.pas line 598

protected TDOMAttr.FDataType : TAttrDataType;


TDOMAttr.FOwnerElement

Declaration

Source position: laz2_dom.pas line 597

protected TDOMAttr.FOwnerElement : TDOMElement;


TDOMAttr.IsID

Indicates if the DOM Attribute node represents an ID Data type

Declaration

Source position: laz2_dom.pas line 611

public property TDOMAttr.IsID : Boolean
  read GetIsID;


TDOMAttr.Name

Represents the name for the DOM Attribute

Declaration

Source position: laz2_dom.pas line 607

public property TDOMAttr.Name : DOMString
  read GetNodeName;


TDOMAttr.OwnerElement

DOM Element that owns the DOM Attribute node

Declaration

Source position: laz2_dom.pas line 610

public property TDOMAttr.OwnerElement : TDOMElement
  read FOwnerElement;


TDOMAttr.Specified

Indicates if the value for DOM Attribute was explicitly assigned

Declaration

Source position: laz2_dom.pas line 608

public property TDOMAttr.Specified : Boolean
  read GetSpecified;


TDOMAttr.Value

Value for the DOM Attribute

Declaration

Source position: laz2_dom.pas line 609

public property TDOMAttr.Value : DOMString
  read GetNodeValue
  write SetNodeValue;


TDOMAttrDef

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz2_dom.pas line 807

type TDOMAttrDef = class(TDOMAttr)

protected

  FExternallyDeclared: Boolean;

  FDefault: TAttrDefault;

  FTag: Cardinal;

  FEnumeration: ;

public

  function AddEnumToken();

  function HasEnumToken();

  function CloneNode(); override; overload;

  property Default: TAttrDefault; [rw]

  property ExternallyDeclared: Boolean; [rw]

  property Tag: Cardinal; [rw]

end;

Inheritance

TDOMAttrDef |
|
TDOMAttr | Implements a DOM Node for attributes with Namspace support
|
TDOMNode_NS | Implements a DOM Node with Namespace support
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject


TDOMAttrDef
 |  | Default
 |  | ExternallyDeclared
 |  | Tag
TDOMAttr
 | ro | Name
 | ro | Specified
 |  | Value
 | ro | OwnerElement
 | ro | IsID
 |  | DataType
TDOMNode_NS
 | ro | NSI
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
 | DataType (TDOMAttr)
 | Default (TDOMAttrDef)
 | ExternallyDeclared (TDOMAttrDef)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | IsID (TDOMAttr)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | Name (TDOMAttr)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | NSI (TDOMNode_NS)
ro | OwnerDocument (TDOMNode)
ro | OwnerElement (TDOMAttr)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | Specified (TDOMAttr)
 | Tag (TDOMAttrDef)
 | TextContent (TDOMNode)
 | Value (TDOMAttr)


TDOMAttrDef
 | AddEnumToken
 | HasEnumToken
 | CloneNode
TDOMAttr
pt | GetNodeValue
pt | GetNodeType
pt | GetSpecified
pt | GetIsID
pt | SetNodeValue
 | Destroy
 | CloneNode
TDOMNode_NS
pt | GetNodeName
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
 | SetNSI
 | CompareName
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMAttr)
 | CloneNode (TDOMAttrDef)
 | CompareName (TDOMNode)
 | CompareName (TDOMNode_NS)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | Destroy (TDOMAttr)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetIsID (TDOMAttr)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetLocalName (TDOMNode_NS)
pt | GetNamespaceURI (TDOMNode)
pt | GetNamespaceURI (TDOMNode_NS)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMNode_NS)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMAttr)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMAttr)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
pt | GetPrefix (TDOMNode_NS)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetSpecified (TDOMAttr)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | HasEnumToken (TDOMAttrDef)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMAttr)
 | SetNSI (TDOMNode_NS)
pt | SetPrefix (TDOMNode)
pt | SetPrefix (TDOMNode_NS)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMAttrDef

TDOMAttr

TDOMNode_NS

TDOMNode_WithChildren

TDOMNode


TDOMAttrDef.AddEnumToken

Declaration

Source position: laz2_dom.pas line 814

public function TDOMAttrDef.AddEnumToken(

  Buf: DOMPChar;

  Len: Integer

):Boolean;


TDOMAttrDef.CloneNode

Declaration

Source position: laz2_dom.pas line 816

public function TDOMAttrDef.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; override; overload;


TDOMAttrDef.Default

Declaration

Source position: laz2_dom.pas line 817

public property TDOMAttrDef.Default : TAttrDefault
  read FDefault
  write FDefault;


TDOMAttrDef.ExternallyDeclared

Declaration

Source position: laz2_dom.pas line 818

public property TDOMAttrDef.ExternallyDeclared : Boolean
  read FExternallyDeclared
  write FExternallyDeclared;


TDOMAttrDef.FDefault

Declaration

Source position: laz2_dom.pas line 810

protected TDOMAttrDef.FDefault : TAttrDefault;


TDOMAttrDef.FEnumeration

Declaration

Source position: laz2_dom.pas line 812

protected TDOMAttrDef.FEnumeration : array of DOMString;


TDOMAttrDef.FExternallyDeclared

Declaration

Source position: laz2_dom.pas line 809

protected TDOMAttrDef.FExternallyDeclared : Boolean;


TDOMAttrDef.FTag

Declaration

Source position: laz2_dom.pas line 811

protected TDOMAttrDef.FTag : Cardinal;


TDOMAttrDef.HasEnumToken

Declaration

Source position: laz2_dom.pas line 815

public function TDOMAttrDef.HasEnumToken(

  const aValue: DOMString

):Boolean;


TDOMAttrDef.Tag

Declaration

Source position: laz2_dom.pas line 819

public property TDOMAttrDef.Tag : Cardinal
  read FTag
  write FTag;


TDOMCDATASection

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM CDataSection interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 693

type TDOMCDATASection = class(TDOMText)
protected
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
public
function CloneNode(); override; overload; | Makes a copy of the DOM CDATA Section
end;

Inheritance

TDOMCDATASection | Implements the DOM CDataSection interface from the DOM specification
|
TDOMText | Implements the DOM Text interface from the DOM specification
|
TDOMCharacterData | Implements the CharacterData interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMCDATASection is a TDOMText descendant that implements the DOM CDATASection interface from the DOM specification. TDOMCDATASection provides overridden methods needed to implement the NodeType and NodeName properties as required for the DOM Node specialization.

TDOMCDATASection is used to escape text that contains characters that would otherwise be regarded as markup in a DOM document. TDOMCDATASection contains the textual content as it appears between the '<![CDATA[' and ']]>' delimiters. Its primary purpose is to include material such as XML fragments, without needing to escape all of the markup.

Please Note: Markup (other than the ending delimiter) is ignored in a CDATASection; This means that the ending delimiter cannot be included in a CDATA Section. Character numeric entity references cannot be used as an escape mechanism in a CDATA Section.

See also

TDOMText

Implements the DOM Text interface from the DOM specification


TDOMCDATASection
TDOMText
TDOMCharacterData
 |  | Data
 | ro | Length
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
 | Data (TDOMCharacterData)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | Length (TDOMCharacterData)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
 | TextContent (TDOMNode)


TDOMCDATASection
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMText
pt | GetNodeType
pt | GetNodeName
pt | SetNodeValue
 | CloneNode
 | SplitText
 | IsElementContentWhitespace
TDOMCharacterData
pt | GetLength
pt | GetNodeValue
pt | SetNodeValue
 | SubstringData
 | AppendData
 | InsertData
 | DeleteData
 | ReplaceData
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMText)
 | CloneNode (TDOMCDATASection)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | DeleteData (TDOMCharacterData)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
pt | GetLength (TDOMCharacterData)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMText)
pt | GetNodeName (TDOMCDATASection)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMText)
pt | GetNodeType (TDOMCDATASection)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMCharacterData)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | InsertData (TDOMCharacterData)
 | IsDefaultNamespace (TDOMNode)
 | IsElementContentWhitespace (TDOMText)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceData (TDOMCharacterData)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMCharacterData)
pt | SetNodeValue (TDOMText)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
 | SplitText (TDOMText)
 | SubstringData (TDOMCharacterData)


TDOMCDATASection

TDOMText

TDOMCharacterData

TDOMNode


TDOMCharacterData

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the CharacterData interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 420

type TDOMCharacterData = class(TDOMNode)
protected
function GetLength; | Gets the value for the Length property
function GetNodeValue; override; | Gets the value for the NodeValue property
procedure SetNodeValue(); override; | Sets the value for the NodeValue property
public
property Data: DOMString; [rw] | Provides access to character data in the NodeValue property
property Length: LongWord; [r] | Length of the character data in the NodeValue property
function SubstringData(); | Copies character data at the specified offset using the number of bytes requested
procedure AppendData(); | Appends the specified value to the end of the character data
procedure InsertData(); | Inserts the specified value at the given offset in the character data
procedure DeleteData(); | Deletes a given number of characters at the specified offset in the character data
procedure ReplaceData(); | Replaces the characters at the specified offset in the character data
end;

Inheritance

TDOMCharacterData | Implements the CharacterData interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMCharacterData is a TDOMNode descendant that implements the CharacterData interface from the DOM specification. TDOMCharacterData provides properties and methods used to access and manipulate character data in the DOM APIs. Please note that methods which alter character data use 0-based offsets; the offset values are converted internally to the 1-based offsets used in FPC/Lazarus.

TDOMCharacterData is the ancestor class for other DOM Node specializations like TDOMText and TDOMComment. TDOMCharacterData is not used directly. Use one of its descendent classes.

See also

TDOMNode | Implements the DOM Node interface
TDOMText | Implements the DOM Text interface from the DOM specification
TDOMComment | Implements the DOM Comment interface from the DOM specification


TDOMCharacterData
 |  | Data
 | ro | Length
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMCharacterData
pt | GetLength
pt | GetNodeValue
pt | SetNodeValue
 | SubstringData
 | AppendData
 | InsertData
 | DeleteData
 | ReplaceData
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | DeleteData (TDOMCharacterData)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
pt | GetLength (TDOMCharacterData)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeType (TDOMNode)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMCharacterData)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | InsertData (TDOMCharacterData)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceData (TDOMCharacterData)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMCharacterData)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
 | SubstringData (TDOMCharacterData)


TDOMCharacterData

TDOMNode


TDOMCharacterData.AppendData

Appends the specified value to the end of the character data

Declaration

Source position: laz2_dom.pas line 431

public procedure TDOMCharacterData.AppendData(

  const arg: DOMString

);

Arguments

arg

Value to append to the character data


TDOMCharacterData.Data

Provides access to character data in the NodeValue property

Declaration

Source position: laz2_dom.pas line 428

public property TDOMCharacterData.Data : DOMString
  read FNodeValue
  write SetNodeValue;


TDOMCharacterData.DeleteData

Deletes a given number of characters at the specified offset in the character data

Declaration

Source position: laz2_dom.pas line 433

public procedure TDOMCharacterData.DeleteData(

  offset: LongWord;

  count: LongWord

);

Arguments

offset | Offset in the character data where values are deleted
count | Number of characters to delete from the character data


TDOMCharacterData.InsertData

Inserts the specified value at the given offset in the character data

Declaration

Source position: laz2_dom.pas line 432

public procedure TDOMCharacterData.InsertData(

  offset: LongWord;

  const arg: DOMString

);

Arguments

offset | Offset in the character data where the value is inserted
arg | Value inserted into the character data


TDOMCharacterData.Length

Length of the character data in the NodeValue property

Declaration

Source position: laz2_dom.pas line 429

public property TDOMCharacterData.Length : LongWord
  read GetLength;


TDOMCharacterData.ReplaceData

Replaces the characters at the specified offset in the character data

Declaration

Source position: laz2_dom.pas line 434

public procedure TDOMCharacterData.ReplaceData(

  offset: LongWord;

  count: LongWord;

  const arg: DOMString

);

Arguments

offset | Offset where characters are replace in the character data
count | Number of characters to remove from the character data
arg | Characters to insert into the character data at the specified offset


TDOMCharacterData.SubstringData

Copies character data at the specified offset using the number of bytes requested

Declaration

Source position: laz2_dom.pas line 430

public function TDOMCharacterData.SubstringData(

  offset: LongWord;

  count: LongWord

):DOMString;

Arguments

offset | Offset to start copying character data
count | Number of bytes to copy from the character data

Function result

Byte values copied from the NodeValue


TDOMComment

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Comment interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 680

type TDOMComment = class(TDOMCharacterData)
protected
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
public
function CloneNode(); override; overload; | Makes copy of the DOM Comment node
end;

Inheritance

TDOMComment | Implements the DOM Comment interface from the DOM specification
|
TDOMCharacterData | Implements the CharacterData interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMComment is a TDOMCharacterData descendant that implements the DOM Comment interface from the DOM specification. TDOMComment provides overridden methods needed to implement the NodeType and NodeName properties as required for the DOM Node specialization.

TDOMComment represents the textual content for a comment that appears between the '<!--' and '-->' delimiters. This is the definition for a comment as defined in the XML 1.0 specification and in HTML. The NodeValue can contain any values except the start and end delimiters for a comment.

See also

TDOMCharacterData

Implements the CharacterData interface from the DOM specification


TDOMComment
TDOMCharacterData
 |  | Data
 | ro | Length
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMComment
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMCharacterData
pt | GetLength
pt | GetNodeValue
pt | SetNodeValue
 | SubstringData
 | AppendData
 | InsertData
 | DeleteData
 | ReplaceData
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMComment)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | DeleteData (TDOMCharacterData)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
pt | GetLength (TDOMCharacterData)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMComment)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMComment)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMCharacterData)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | InsertData (TDOMCharacterData)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceData (TDOMCharacterData)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMCharacterData)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
 | SubstringData (TDOMCharacterData)


TDOMComment

TDOMCharacterData

TDOMNode


TDOMComment.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 683

protected function TDOMComment.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMComment.GetNodeType

Gets the value for the NodeType property

Declaration

Source position: laz2_dom.pas line 682

protected function TDOMComment.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMDocument

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Document interface

Declaration

Source position: laz2_dom.pas line 474

type TDOMDocument = class(TDOMNode_WithChildren)
protected
FIDList: THashTable;
FRevision: Integer;
FXML11: Boolean;
FImplementation: TDOMImplementation;
FNamespaces: TNamespaces;
FNames: THashTable;
FEmptyNode: TDOMElement;
FNodeLists: THashTable;
FMaxPoolSize: Integer;
FPools: PNodePoolArray;
FDocumentURI: DOMString;
function GetDocumentElement; | Gets the value for the DocumentElement property
function GetDocType; | Gets the value for the DocType property
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
function GetTextContent; override; | Gets the value for the TextContent property
function GetOwnerDocument; override; | Gets the value for the OwnerDocument property
procedure SetTextContent(); override; | Sets the value for the TextContent property
procedure RemoveID(); | Removes a DOM element from the unique list of IDs in the document
function GetChildNodeList(); | Gets a DOM Node List with the children for the specified DOM Node
function GetElementList(); | Gets a DOM Element List with elements found in the specified DOM Node
procedure NodeListDestroyed(); | Signals that the specified list can be removed from the internal node lists
function Alloc(); | Ensures the DOM node class type is allocated using the Node pool for the document
public
function IndexOfNS(); | Gets the ordinal position for the specified Namespace URI
function InsertBefore(); override; | Inserts a DOM Node prior to the reference DOM node
function ReplaceChild(); override; | Replaces a child node with another DOM node
property DocType: TDOMDocumentType; [r] | Document Type declaration used in the document
property Impl: TDOMImplementation; [r] | Provides access to the DOM Implementation for the document
property DocumentElement: TDOMElement; [r] | Gets the root element for the document
function CreateElement(); virtual; | Creates an element in the document with the specified tag name
function CreateElementBuf(); | Creates an element in the document with the specified tag name
function CreateDocumentFragment; | Creates a new DOM Document Fragment
function CreateTextNode(); | Creates a new DOM Text node with the specified value
function CreateTextNodeBuf(); | Creates a new DOM Text node with the specified value
function CreateComment(); | Creates a new DOM Comment with the specified content
function CreateCommentBuf(); | Created a new DOM Comment using the specified content
function CreateCDATASection(); virtual; | Creates a new DOM CDATA section with the specified content
function CreateProcessingInstruction(); virtual; | Creates a new DOM Processing Instruction
function CreateAttribute(); | Creates a new DOM Attribute with the specified name
function CreateAttributeBuf(); | Creates a new DOM Attribute with the specified name
function CreateAttributeDef(); | Creates a new Attribute with a default value
function CreateEntityReference(); virtual; | Creates a new DOM Entity Reference for the specified name
function GetElementsByTagName(); | Gets a list of nodes with the specified tag name
function ImportNode(); | Imports a copy of the DOM node into the current document
function CreateElementNS(); | Creates a new DOM Element with the specified Namespace URI
function CreateAttributeNS(); | Creates a new Attribute with the specified Namespace URI and qualified name
function GetElementsByTagNameNS(); | Gets a list of nodes with the specified Namespace URI and local name
function GetElementById(); | Gets the DOM Element with the specified ID attribute value
property documentURI: DOMString; [rw] | Represents the DOM Level 3 Document URI
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function AddID(); | Adds an ID Attribute value to a hash list used in the Document
property Names: THashTable; [r] | Hash table representing qualified names used in the document
end;

Inheritance

TDOMDocument | Implements the DOM Document interface
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMDocument is a TDOMNode_WithChildren descendant that implements the DOM Document interface from the DOM specification. TDOMDocument is the container that represents the content for the entire HTML or XML document. It acts as the root of the DOM tree.

TDOMDocument provides factory methods needed to create elements, attributes, text nodes, comments, processing instructions, etc. These items cannot exist without an owner document. It also provides methods used to import nodes created in another document or document fragment.

TDOMDocument provides support for XML Namespaces introduced in DOM Level 2. The following namespace prefixes and URIs are always assigned in TDOMDocument:

Prefix | Namespace URI
xml | http://www.w3.org/XML/1998/namespace
xmlns | http://www.w3.org/2000/xmlns/

TDOMDocument includes the DocumentURI property introduced in DOM Level 3.

See also

TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
TXMLDocument | Implements an XML Document


TDOMDocument
 | ro | DocType
 | ro | Impl
 | ro | DocumentElement
 |  | documentURI
 | ro | Names
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | DocType (TDOMDocument)
ro | DocumentElement (TDOMDocument)
 | documentURI (TDOMDocument)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | Impl (TDOMDocument)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | Names (TDOMDocument)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
 | TextContent (TDOMNode)


TDOMDocument
pt | GetDocumentElement
pt | GetDocType
pt | GetNodeType
pt | GetNodeName
pt | GetTextContent
pt | GetOwnerDocument
pt | SetTextContent
pt | RemoveID
pt | GetChildNodeList
pt | GetElementList
pt | NodeListDestroyed
pt | Alloc
 | IndexOfNS
 | InsertBefore
 | ReplaceChild
 | CreateElement
 | CreateElementBuf
 | CreateDocumentFragment
 | CreateTextNode
 | CreateTextNodeBuf
 | CreateComment
 | CreateCommentBuf
 | CreateCDATASection
 | CreateProcessingInstruction
 | CreateAttribute
 | CreateAttributeBuf
 | CreateAttributeDef
 | CreateEntityReference
 | GetElementsByTagName
 | ImportNode
 | CreateElementNS
 | CreateAttributeNS
 | GetElementsByTagNameNS
 | GetElementById
 | Create
 | Destroy
 | AddID
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Alloc (TDOMDocument)
 | AppendChild (TDOMNode)
pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Create (TDOMDocument)
 | CreateAttribute (TDOMDocument)
 | CreateAttributeBuf (TDOMDocument)
 | CreateAttributeDef (TDOMDocument)
 | CreateAttributeNS (TDOMDocument)
 | CreateCDATASection (TDOMDocument)
 | CreateComment (TDOMDocument)
 | CreateCommentBuf (TDOMDocument)
 | CreateDocumentFragment (TDOMDocument)
 | CreateElement (TDOMDocument)
 | CreateElementBuf (TDOMDocument)
 | CreateElementNS (TDOMDocument)
 | CreateEntityReference (TDOMDocument)
 | CreateProcessingInstruction (TDOMDocument)
 | CreateTextNode (TDOMDocument)
 | CreateTextNodeBuf (TDOMDocument)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | Destroy (TDOMDocument)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
pt | GetChildNodeList (TDOMDocument)
 | GetChildNodes (TDOMNode)
pt | GetDocType (TDOMDocument)
pt | GetDocumentElement (TDOMDocument)
 | GetElementById (TDOMDocument)
pt | GetElementList (TDOMDocument)
 | GetElementsByTagName (TDOMDocument)
 | GetElementsByTagNameNS (TDOMDocument)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMDocument)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMDocument)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetOwnerDocument (TDOMDocument)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
pt | GetTextContent (TDOMDocument)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | ImportNode (TDOMDocument)
 | IndexOfNS (TDOMDocument)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InsertBefore (TDOMDocument)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
pt | NodeListDestroyed (TDOMDocument)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
pt | RemoveID (TDOMDocument)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
 | ReplaceChild (TDOMDocument)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)
pt | SetTextContent (TDOMDocument)


TDOMDocument

TDOMNode_WithChildren

TDOMNode


TDOMDocument.AddID

Adds an ID Attribute value to a hash list used in the Document

Declaration

Source position: laz2_dom.pas line 536

public function TDOMDocument.AddID(

  Attr: TDOMAttr

):Boolean;

Arguments

Attr

DOM Attribute node with the ID value to add to the hash list

Function result

True if the ID value was added, False if it already exists


TDOMDocument.Alloc

Ensures the DOM node class type is allocated using the Node pool for the document

Declaration

Source position: laz2_dom.pas line 498

protected function TDOMDocument.Alloc(

  AClass: TDOMNodeClass

):TDOMNode;

Arguments

AClass

DOM Node class to instantiate in the method

Function result

DOM Node created using the class reference


TDOMDocument.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 534

public constructor TDOMDocument.Create;


TDOMDocument.CreateAttribute

Creates a new DOM Attribute with the specified name

Declaration

Source position: laz2_dom.pas line 518

public function TDOMDocument.CreateAttribute(

  const name: DOMString

):TDOMAttr;

Arguments

name

Name assigned to the DOM Attribute node

Function result

DOM Attribute node created in the method


TDOMDocument.CreateAttributeBuf

Creates a new DOM Attribute with the specified name

Declaration

Source position: laz2_dom.pas line 519

public function TDOMDocument.CreateAttributeBuf(

  Buf: DOMPChar;

  Length: Integer

):TDOMAttr;

Arguments

Buf | Pointer to character data with the name for the Attribute
Length | Length of the buffer

Function result

DOM Attribute node created in the method


TDOMDocument.CreateAttributeDef

Creates a new Attribute with a default value

Declaration

Source position: laz2_dom.pas line 520

public function TDOMDocument.CreateAttributeDef(

  Buf: DOMPChar;

  Length: Integer

):TDOMAttrDef;

Arguments

Buf | Pointer to character data using as the Attribute name
Length | Length of the buffer

Function result

DOM Attribute created in the method


TDOMDocument.CreateAttributeNS

Creates a new Attribute with the specified Namespace URI and qualified name

Declaration

Source position: laz2_dom.pas line 528

public function TDOMDocument.CreateAttributeNS(

  const nsURI: DOMString;

  const QualifiedName: DOMString

):TDOMAttr;

Arguments

nsURI | Namespace URI for the qualified name
QualifiedName | Namespace Prefix and Local Name used as the name for the Attribute

Function result

DOM Attribute node created in the method


TDOMDocument.CreateCDATASection

Creates a new DOM CDATA section with the specified content

Declaration

Source position: laz2_dom.pas line 514

public function TDOMDocument.CreateCDATASection(

  const data: DOMString

):TDOMCDATASection; virtual;

Arguments

data

Values used as the content for the CDATA section

Function result

DOM CDATA Section created in the method


TDOMDocument.CreateComment

Creates a new DOM Comment with the specified content

Declaration

Source position: laz2_dom.pas line 512

public function TDOMDocument.CreateComment(

  const data: DOMString

):TDOMComment;

Arguments

data

Values used as the content of the DOM Comment

Function result

DOM Comment created in the method


TDOMDocument.CreateCommentBuf

Created a new DOM Comment using the specified content

Declaration

Source position: laz2_dom.pas line 513

public function TDOMDocument.CreateCommentBuf(

  Buf: DOMPChar;

  Length: Integer

):TDOMComment;

Arguments

Buf | Pointer to character data used as the content for the comment
Length | Length of the buffer

Function result

DOM Comment created in the method


TDOMDocument.CreateDocumentFragment

Creates a new DOM Document Fragment

Declaration

Source position: laz2_dom.pas line 509

public function TDOMDocument.CreateDocumentFragment: TDOMDocumentFragment;

Function result

DOM Document Fragment created in the method

Description

CreateDocumentFragment is a TDOMDocumentFragment function used to create an empty DOM Document Fragment. CreateDocumentFragment calls the Alloc method to enable memory management for the TDOMDocumentFragment class instance.

See also

TDOMDocumentFragment | Implements the DocumentFragment interface from the DOM specification
TDOMDocument.Alloc | Ensures the DOM node class type is allocated using the Node pool for the document


TDOMDocument.CreateElement

Creates an element in the document with the specified tag name

Declaration

Source position: laz2_dom.pas line 507

public function TDOMDocument.CreateElement(

  const tagName: DOMString

):TDOMElement; virtual;

Arguments

tagName

Tag name used in the new DOM Element

Function result

DOM Element created in the method

Description

CreateElement is a TDOMElement function used to create a new DOM Element with the tag name specified in tagName. CreateElement calls Alloc to create the DOM Element using the internal Node Pool for the document. The value in tagName is checked for a QualifedName matching a Namespace registered in the document, and added to the Namespace index if it does not already exist. CreateElement calls the AttachDefaultAttrs method in TDOMElement to add default attribute values required for the DOM Element.

Errors

Raises an EDOMError exception with the exception code INVALID_CHARACTER_ERR if tagName does not contain a valid XML name.

See also

TDOMElement

Implements the DOM Element interface from the DOM specification


TDOMDocument.CreateElementBuf

Creates an element in the document with the specified tag name

Declaration

Source position: laz2_dom.pas line 508

public function TDOMDocument.CreateElementBuf(

  Buf: DOMPChar;

  Length: Integer

):TDOMElement;

Arguments

Buf | Pointer to character data used as the tag name for the Element
Length | Length of the values in Buf

Function result

DOM Element created in the method

Description

CreateElementBuf is a TDOMElement function used to create a new DOM Element with the tag name specified in the Buf argument. Buf is a DOMPChar type that contains a pointer the character data for the tagName. CreateElementBuf calls Alloc to create the DOM Element using the internal Node Pool for the document. The value in Buf is checked for a QualifedName matching a Namespace registered in the document, and added to the Namespace index if it does not already exist.

See also

TDOMElement

Implements the DOM Element interface from the DOM specification


TDOMDocument.CreateElementNS

Creates a new DOM Element with the specified Namespace URI

Declaration

Source position: laz2_dom.pas line 527

public function TDOMDocument.CreateElementNS(

  const nsURI: DOMString;

  const QualifiedName: DOMString

):TDOMElement;

Arguments

nsURI | Namespace URI for the qualified name
QualifiedName | Namespace Prefix and Local Name used as the tag name for the Element

Function result

DOM Element created in the method


TDOMDocument.CreateEntityReference

Creates a new DOM Entity Reference for the specified name

Declaration

Source position: laz2_dom.pas line 521

public function TDOMDocument.CreateEntityReference(

  const name: DOMString

):TDOMEntityReference; virtual;

Arguments

name

Name for the DOM Entity Reference

Function result

DOM Entity Reference created in the method

Description

Remark: CreateEntityReference always raises an EDOMNotSupported exception. DOM Entity References are not supported in this DOM Implementation. Entity References in an existing document should have been converted to DOM Entities during deserialization of the document.


TDOMDocument.CreateProcessingInstruction

Creates a new DOM Processing Instruction

Declaration

Source position: laz2_dom.pas line 516

public function TDOMDocument.CreateProcessingInstruction(

  const target: DOMString;

  const data: DOMString

):TDOMProcessingInstruction; virtual;

Arguments

target | Target for the Processing Instruction
data | Content for the Processing Instruction

Function result

DOM Processing Instruction created in the method


TDOMDocument.CreateTextNode

Creates a new DOM Text node with the specified value

Declaration

Source position: laz2_dom.pas line 510

public function TDOMDocument.CreateTextNode(

  const data: DOMString

):TDOMText;

Arguments

data

Value assigned to the new DOM Text node

Function result

DOM Text node created in the method

Description

CreateTextNode is a TDOMText function used to create a DOM Text node with the specified value. Data contains the value assigned to the new DOM Text node. CreateTextNode calls the Alloc method to enable memory management for the new TDOMText class instance. The value in Data is assigned to the NodeValue property in the TDOMText class instance.

See also

TDOMText | Implements the DOM Text interface from the DOM specification
TDOMDocument.Alloc | Ensures the DOM node class type is allocated using the Node pool for the document


TDOMDocument.CreateTextNodeBuf

Creates a new DOM Text node with the specified value

Declaration

Source position: laz2_dom.pas line 511

public function TDOMDocument.CreateTextNodeBuf(

  Buf: DOMPChar;

  Length: Integer;

  IgnWS: Boolean

):TDOMText;

Arguments

Buf | Pointer to the character data assigned to the new DOM Text node
Length | Length of the buffer
IgnWS | Indicates if whitespace in the buffer is ignored

Function result

DOM Text node created in the method


TDOMDocument.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 535

public destructor TDOMDocument.Destroy; override;


TDOMDocument.DocType

Document Type declaration used in the document

Declaration

Source position: laz2_dom.pas line 503

public property TDOMDocument.DocType : TDOMDocumentType
  read GetDocType;

Description

DocType is a read-only TDOMDocumentType property that represents the Document Type declaration found in the child nodes for the document. DocType examines the top-level child nodes to find the first node with the value DOCUMENT_TYPE_NODE in its NodeType property.

See also

TDOMDocumentType | Implements the DOM DocumentType interface from the DOM specification
DOCUMENT_TYPE_NODE | Represents the DOM Node Type for document type declarations


TDOMDocument.DocumentElement

Gets the root element for the document

Declaration

Source position: laz2_dom.pas line 505

public property TDOMDocument.DocumentElement : TDOMElement
  read GetDocumentElement;

Description

DocumentElement is a read-only TDOMElement property that represents the root element for the document. DocumentElement is derived using the top-level child nodes found in the document. The return value contains the first DOM Node located that contains the value ELEMENT_NODE in its NodeType property.

See also

TDOMElement | Implements the DOM Element interface from the DOM specification
TDOMNode.NodeType | Node type for the DOM Node
ELEMENT_NODE | Represents the DOM Node Type for elements


TDOMDocument.documentURI

Represents the DOM Level 3 Document URI

Declaration

Source position: laz2_dom.pas line 532

public property TDOMDocument.documentURI : DOMString
  read FDocumentURI
  write FDocumentURI;


TDOMDocument.FDocumentURI

Declaration

Source position: laz2_dom.pas line 486

protected TDOMDocument.FDocumentURI : DOMString;


TDOMDocument.FEmptyNode

Declaration

Source position: laz2_dom.pas line 482

protected TDOMDocument.FEmptyNode : TDOMElement;


TDOMDocument.FIDList

Declaration

Source position: laz2_dom.pas line 476

protected TDOMDocument.FIDList : THashTable;


TDOMDocument.FImplementation

Declaration

Source position: laz2_dom.pas line 479

protected TDOMDocument.FImplementation : TDOMImplementation;


TDOMDocument.FMaxPoolSize

Declaration

Source position: laz2_dom.pas line 484

protected TDOMDocument.FMaxPoolSize : Integer;


TDOMDocument.FNames

Declaration

Source position: laz2_dom.pas line 481

protected TDOMDocument.FNames : THashTable;


TDOMDocument.FNamespaces

Declaration

Source position: laz2_dom.pas line 480

protected TDOMDocument.FNamespaces : TNamespaces;


TDOMDocument.FNodeLists

Declaration

Source position: laz2_dom.pas line 483

protected TDOMDocument.FNodeLists : THashTable;


TDOMDocument.FPools

Declaration

Source position: laz2_dom.pas line 485

protected TDOMDocument.FPools : PNodePoolArray;


TDOMDocument.FRevision

Declaration

Source position: laz2_dom.pas line 477

protected TDOMDocument.FRevision : Integer;


TDOMDocument.FXML11

Declaration

Source position: laz2_dom.pas line 478

protected TDOMDocument.FXML11 : Boolean;


TDOMDocument.GetChildNodeList

Gets a DOM Node List with the children for the specified DOM Node

Declaration

Source position: laz2_dom.pas line 495

protected function TDOMDocument.GetChildNodeList(

  aNode: TDOMNode

):TDOMNodeList;

Arguments

aNode

DOM Node examined in the method

Function result

Node list generated in the method


TDOMDocument.GetDocType

Gets the value for the DocType property

Declaration

Source position: laz2_dom.pas line 488

protected function TDOMDocument.GetDocType: TDOMDocumentType;

Function result

Value for the DocType property


TDOMDocument.GetDocumentElement

Gets the value for the DocumentElement property

Declaration

Source position: laz2_dom.pas line 487

protected function TDOMDocument.GetDocumentElement: TDOMElement;

Function result

Value for the DocumentElement property


TDOMDocument.GetElementById

Gets the DOM Element with the specified ID attribute value

Declaration

Source position: laz2_dom.pas line 530

public function TDOMDocument.GetElementById(

  const ElementID: DOMString

):TDOMElement;

Arguments

ElementID

ID attribute value for the Element to locate in the method

Function result

DOM Element with the specified ID value


TDOMDocument.GetElementList

Gets a DOM Element List with elements found in the specified DOM Node

Declaration

Source position: laz2_dom.pas line 496

protected function TDOMDocument.GetElementList(

  aNode: TDOMNode;

  const nsURI: DOMString;

  const aLocalName: DOMString;

  UseNS: Boolean

):TDOMNodeList;

Arguments

aNode | DOM Node examined in the method
nsURI | Namespace URI for elements included in the list
aLocalName | LocalName for elements included in the list
UseNS | Indicates if Namespaces are used when selecting elements in the list

Function result

Element list generated in the method


TDOMDocument.GetElementsByTagName

Gets a list of nodes with the specified tag name

Declaration

Source position: laz2_dom.pas line 523

public function TDOMDocument.GetElementsByTagName(

  const tagname: DOMString

):TDOMNodeList;

Arguments

tagname

Tag name to locate in the DOM nodes for the document

Function result

Node list created in the method


TDOMDocument.GetElementsByTagNameNS

Gets a list of nodes with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 529

public function TDOMDocument.GetElementsByTagNameNS(

  const nsURI: DOMString;

  const alocalName: DOMString

):TDOMNodeList;

Arguments

nsURI | Namespace URI for the specified tag name
alocalName | Local name (QualifiedName sans Prefix) for nodes included in the list

Function result

Node list created for nodes with the specified tag name


TDOMDocument.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 490

protected function TDOMDocument.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMDocument.GetNodeType

Gets the value for the NodeType property

Declaration

Source position: laz2_dom.pas line 489

protected function TDOMDocument.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMDocument.GetOwnerDocument

Gets the value for the OwnerDocument property

Declaration

Source position: laz2_dom.pas line 492

protected function TDOMDocument.GetOwnerDocument: TDOMDocument; override;

Function result

Value for the OwnerDocument property


TDOMDocument.GetTextContent

Gets the value for the TextContent property

Declaration

Source position: laz2_dom.pas line 491

protected function TDOMDocument.GetTextContent: DOMString; override;

Function result

Value for the TextContent property


TDOMDocument.Impl

Provides access to the DOM Implementation for the document

Declaration

Source position: laz2_dom.pas line 504

public property TDOMDocument.Impl : TDOMImplementation
  read FImplementation;

Description

Impl is a read-only TDOMImplementation property that provides access to the DOM Implementation for the document.

See also

TDOMImplementation

Implements the DOMImplementation interface from the DOM specification


TDOMDocument.ImportNode

Imports a copy of the DOM node into the current document

Declaration

Source position: laz2_dom.pas line 526

public function TDOMDocument.ImportNode(

  ImportedNode: TDOMNode;

  Deep: Boolean

):TDOMNode;

Arguments

ImportedNode | Node with values to import in the method
Deep | Indicates if the entire DOM sub-tree is included in the process

Function result

DOM node created in the method


TDOMDocument.IndexOfNS

Gets the ordinal position for the specified Namespace URI

Declaration

Source position: laz2_dom.pas line 500

public function TDOMDocument.IndexOfNS(

  const nsURI: DOMString;

  AddIfAbsent: Boolean = False

):Integer;

Arguments

nsURI | Namespace URI to locate in the document
AddIfAbsent | Indicates if the Namespace URI is added if it does not already exist

Function result

Ordinal position for the Namespace URI, or -1 when not found


TDOMDocument.InsertBefore

Inserts a DOM Node prior to the reference DOM node

Declaration

Source position: laz2_dom.pas line 501

public function TDOMDocument.InsertBefore(

  NewChild: TDOMNode;

  RefChild: TDOMNode

):TDOMNode; override;

Arguments

NewChild | New DOM Node to include in the document
RefChild | Reference DOM Node that determines the location for the new DOM node

Function result

DOM Node inserted in the method


TDOMDocument.Names

Hash table representing qualified names used in the document

Declaration

Source position: laz2_dom.pas line 537

public property TDOMDocument.Names : THashTable
  read FNames;

Description

Names is a read-only THashTable property used to store QualifiedName values used in the DOM Document. Names is updated when DOM Elements or Attributes with Namespace URIs and qualified names are created in the document. It is also updated (re-hashed) when the Prefix property in the DOM Element or Attribute is changed.

See also

TDOMElement | Implements the DOM Element interface from the DOM specification
TDOMAttr | Implements a DOM Node for attributes with Namspace support
TDOMNode_NS | Implements a DOM Node with Namespace support
TDOMNode.Prefix | Prefix used for the assigned NameSpace in the DOM Node
THashTable |


TDOMDocument.NodeListDestroyed

Signals that the specified list can be removed from the internal node lists

Declaration

Source position: laz2_dom.pas line 497

protected procedure TDOMDocument.NodeListDestroyed(

  aList: TDOMNodeList

);

Arguments

aList

Node list generating the notification


TDOMDocument.RemoveID

Removes a DOM element from the unique list of IDs in the document

Declaration

Source position: laz2_dom.pas line 494

protected procedure TDOMDocument.RemoveID(

  Elem: TDOMElement

);

Arguments

Elem

DOM Element to remove from the hash


TDOMDocument.ReplaceChild

Replaces a child node with another DOM node

Declaration

Source position: laz2_dom.pas line 502

public function TDOMDocument.ReplaceChild(

  NewChild: TDOMNode;

  OldChild: TDOMNode

):TDOMNode; override;

Arguments

NewChild | New DOM node to include in the document
OldChild | DOM Node replaced with the new DOM node


TDOMDocument.SetTextContent

Sets the value for the TextContent property

Declaration

Source position: laz2_dom.pas line 493

protected procedure TDOMDocument.SetTextContent(

  const value: DOMString

); override;

Arguments

value

New value for the TextContent property


TDOMDocumentFragment

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DocumentFragment interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 459

type TDOMDocumentFragment = class(TDOMNode_WithChildren)
protected
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
public
function CloneNode(); override; overload; | Creates a copy of the document fragment that is owned by the specified document
end;

Inheritance

TDOMDocumentFragment | Implements the DocumentFragment interface from the DOM specification
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMDocumentFragment is a TDOMNode_WithChildren descendant that implements the DocumentFragment interface from the DOM specification. TDOMDocumentFragment is a "lightweight" or "minimal" Document object. It is often used as a temporary work area before applying changes to a TDOMDocument instance. Its content does not have to represent a well-formed XML document, but does require its child nodes to be well-formed XML parsed entities.

See also

TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
TDOMDocument | Implements the DOM Document interface


TDOMDocumentFragment
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
 | TextContent (TDOMNode)


TDOMDocumentFragment
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMDocumentFragment)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMDocumentFragment)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMDocumentFragment)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMDocumentFragment

TDOMNode_WithChildren

TDOMNode


TDOMDocumentFragment.CloneNode

Creates a copy of the document fragment that is owned by the specified document

Declaration

Source position: laz2_dom.pas line 464

public function TDOMDocumentFragment.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; override; overload;

Arguments

deep | Indicates if child nodes are included in the cloned document fragment
ACloneOwner | Document used as the owner of the cloned document fragment

Function result

The new copy of the document fragment


TDOMDocumentType

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM DocumentType interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 706

type TDOMDocumentType = class(TDOMNode)
protected
FName: DOMString;
FPublicID: DOMString;
FSystemID: DOMString;
FInternalSubset: DOMString;
FEntities: TDOMNamedNodeMap;
FNotations: TDOMNamedNodeMap;
function GetEntities; | Gets the value for the Entities property
function GetNotations; | Gets the value for the Notations property
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
public
destructor Destroy; override; |
property Name: DOMString; [r] | Name for the Document Type declaration (used as the root element)
property Entities: TDOMNamedNodeMap; [r] | Entities declared in the Document Type declaration
property Notations: TDOMNamedNodeMap; [r] | Notations declared in the Document Type declaration
property PublicID: DOMString; [r] | Public Identifier for the Document Type declaration
property SystemID: DOMString; [r] | System Identifier for the Document Type declaration
property InternalSubset: DOMString; [r] | The internal subset for the Document Type declaration
end;

Inheritance

TDOMDocumentType | Implements the DOM DocumentType interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMDocumentType is a TDOMNode descendant that implements the DOM DOcumentType Interface from the DOM specification.


TDOMDocumentType
 | ro | Name
 | ro | Entities
 | ro | Notations
 | ro | PublicID
 | ro | SystemID
 | ro | InternalSubset
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | Entities (TDOMDocumentType)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | InternalSubset (TDOMDocumentType)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | Name (TDOMDocumentType)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | Notations (TDOMDocumentType)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | PublicID (TDOMDocumentType)
ro | SystemID (TDOMDocumentType)
 | TextContent (TDOMNode)


TDOMDocumentType
pt | GetEntities
pt | GetNotations
pt | GetNodeType
pt | GetNodeName
 | Destroy
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMDocumentType)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
pt | GetEntities (TDOMDocumentType)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMDocumentType)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMDocumentType)
pt | GetNodeValue (TDOMNode)
pt | GetNotations (TDOMDocumentType)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)


TDOMDocumentType

TDOMNode


TDOMDocumentType.Destroy

Declaration

Source position: laz2_dom.pas line 718

public destructor TDOMDocumentType.Destroy; override;


TDOMDocumentType.Entities

Entities declared in the Document Type declaration

Declaration

Source position: laz2_dom.pas line 720

public property TDOMDocumentType.Entities : TDOMNamedNodeMap
  read GetEntities;


TDOMDocumentType.FEntities

Declaration

Source position: laz2_dom.pas line 712

protected TDOMDocumentType.FEntities : TDOMNamedNodeMap;


TDOMDocumentType.FInternalSubset

Declaration

Source position: laz2_dom.pas line 711

protected TDOMDocumentType.FInternalSubset : DOMString;


TDOMDocumentType.FName

Declaration

Source position: laz2_dom.pas line 708

protected TDOMDocumentType.FName : DOMString;


TDOMDocumentType.FNotations

Declaration

Source position: laz2_dom.pas line 712

protected TDOMDocumentType.FNotations : TDOMNamedNodeMap;


TDOMDocumentType.FPublicID

Declaration

Source position: laz2_dom.pas line 709

protected TDOMDocumentType.FPublicID : DOMString;


TDOMDocumentType.FSystemID

Declaration

Source position: laz2_dom.pas line 710

protected TDOMDocumentType.FSystemID : DOMString;


TDOMDocumentType.GetEntities

Gets the value for the Entities property

Declaration

Source position: laz2_dom.pas line 713

protected function TDOMDocumentType.GetEntities: TDOMNamedNodeMap;

Function result

Value for the Entities property


TDOMDocumentType.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 716

protected function TDOMDocumentType.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMDocumentType.GetNodeType

Gets the value for the NodeType property

Declaration

Source position: laz2_dom.pas line 715

protected function TDOMDocumentType.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMDocumentType.GetNotations

Gets the value for the Notations property

Declaration

Source position: laz2_dom.pas line 714

protected function TDOMDocumentType.GetNotations: TDOMNamedNodeMap;

Function result

Value for the Notations property


TDOMDocumentType.InternalSubset

The internal subset for the Document Type declaration

Declaration

Source position: laz2_dom.pas line 725

public property TDOMDocumentType.InternalSubset : DOMString
  read FInternalSubset;


TDOMDocumentType.Name

Name for the Document Type declaration (used as the root element)

Declaration

Source position: laz2_dom.pas line 719

public property TDOMDocumentType.Name : DOMString
  read FName;


TDOMDocumentType.Notations

Notations declared in the Document Type declaration

Declaration

Source position: laz2_dom.pas line 721

public property TDOMDocumentType.Notations : TDOMNamedNodeMap
  read GetNotations;


TDOMDocumentType.PublicID

Public Identifier for the Document Type declaration

Declaration

Source position: laz2_dom.pas line 723

public property TDOMDocumentType.PublicID : DOMString
  read FPublicID;


TDOMDocumentType.SystemID

System Identifier for the Document Type declaration

Declaration

Source position: laz2_dom.pas line 724

public property TDOMDocumentType.SystemID : DOMString
  read FSystemID;


TDOMElement

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Element interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 622

type TDOMElement = class(TDOMNode_NS)
protected
FAttributes: TDOMNamedNodeMap;
function GetNodeType; override; | Gets the value for the NodeType property
function GetAttributes; override; | Gets the value for the Attributes property
procedure AttachDefaultAttrs; | Creates DOM Attributes for defaults needed in a Namespaced DOM Element
function InternalLookupPrefix(); | Gets the Namespace Prefix used for the specified Namespace URI
procedure RestoreDefaultAttr(); | Restores Namespaced Attributes to the default values for the DOM node
public
destructor Destroy; override; | Destructor for the class instance
function CloneNode(); override; overload; | Creates a DOM Node that is a copy of the DOM Element
function IsEmpty; virtual; | Indicates if the DOM Element has content
procedure Normalize; override; | Performs normalization for Text nodes and Attributes in the DOM Element
property TagName: DOMString; [r] | The qualified name used as the Tag name for the DOM Element
function GetAttribute(); | Gets the value for the AttribStrings property
procedure SetAttribute(); | Sets the value in the AttribStrings property
procedure RemoveAttribute(); | Removes the DOM Attribute with the specified name
function GetAttributeNode(); | Gets the DOM Attribute node with the specified name
function SetAttributeNode(); | Stores the new DOM Attribute node to an existing Attribute with the same name
function RemoveAttributeNode(); | Removes the specified DOM Attribute node from the Attributes for the Element
function GetElementsByTagName(); | Gets a list of DOM nodes with the specified name in the sub-tree for the Element
function GetAttributeNS(); | Gets the value for an Attribute with the specified Namespace URI and local name
procedure SetAttributeNS(); | Sets the value for the DOM Attribute with the specified Namespace URI and qualified name
procedure RemoveAttributeNS(); | Removes the DOM Attribute with the specified Namespace URI and local name
function GetAttributeNodeNS(); | Gets the DOM Attribute node with the specified Namespace URI and local name
function SetAttributeNodeNS(); | Stores the new DOM Attribute node in an existing Namespaced Attribute node
function GetElementsByTagNameNS(); | Gets a Node list with Elements having the specified Namespace URI and local name
function hasAttribute(); | Indicates if the Attributes property contains an item with the specified name
function hasAttributeNS(); | Indicates if Attributes contains an attribute with the specified Namespace URI and local name
function HasAttributes; override; | Indicates if the Attributes property contains any DOM Attribute nodes
property AttribStrings []: DOMString; default; [rw] | Provides indexed access to Attributes and their value as a String
end;

Inheritance

TDOMElement | Implements the DOM Element interface from the DOM specification
|
TDOMNode_NS | Implements a DOM Node with Namespace support
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMElement is a TDOMNode_NS descendant that implements the DOM Element interface from the DOM specification. TDOMElement represents an element in an HTML or XML document. It inherits the capabilities defined in ancestor classes, and provides additional methods and properties need for the DOM Element interface.

Methods are provided to access Attributes using the Node interface defined in TDOMNode, or as a simple string value. Namespaces are supported for both the element and its attributes. The Normalize method is overridden to include normalization for values in the Attributes property.

See also

TDOMNode_NS | Implements a DOM Node with Namespace support
TDOMNode | Implements the DOM Node interface


TDOMElement
 | ro | TagName
 |  | AttribStrings
TDOMNode_NS
 | ro | NSI
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | NSI (TDOMNode_NS)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | TagName (TDOMElement)
 | TextContent (TDOMNode)


TDOMElement
pt | GetNodeType
pt | GetAttributes
pt | AttachDefaultAttrs
pt | InternalLookupPrefix
pt | RestoreDefaultAttr
 | Destroy
 | CloneNode
 | IsEmpty
 | Normalize
 | GetAttribute
 | SetAttribute
 | RemoveAttribute
 | GetAttributeNode
 | SetAttributeNode
 | RemoveAttributeNode
 | GetElementsByTagName
 | GetAttributeNS
 | SetAttributeNS
 | RemoveAttributeNS
 | GetAttributeNodeNS
 | SetAttributeNodeNS
 | GetElementsByTagNameNS
 | hasAttribute
 | hasAttributeNS
 | HasAttributes
TDOMNode_NS
pt | GetNodeName
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
 | SetNSI
 | CompareName
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | AttachDefaultAttrs (TDOMElement)
pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMElement)
 | CompareName (TDOMNode)
 | CompareName (TDOMNode_NS)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | Destroy (TDOMElement)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
 | GetAttribute (TDOMElement)
 | GetAttributeNode (TDOMElement)
 | GetAttributeNodeNS (TDOMElement)
 | GetAttributeNS (TDOMElement)
pt | GetAttributes (TDOMNode)
pt | GetAttributes (TDOMElement)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetElementsByTagName (TDOMElement)
 | GetElementsByTagNameNS (TDOMElement)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetLocalName (TDOMNode_NS)
pt | GetNamespaceURI (TDOMNode)
pt | GetNamespaceURI (TDOMNode_NS)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMNode_NS)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMElement)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
pt | GetPrefix (TDOMNode_NS)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | hasAttribute (TDOMElement)
 | hasAttributeNS (TDOMElement)
 | HasAttributes (TDOMNode)
 | HasAttributes (TDOMElement)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
pt | InternalLookupPrefix (TDOMElement)
 | IsDefaultNamespace (TDOMNode)
 | IsEmpty (TDOMElement)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | Normalize (TDOMElement)
 | RemoveAttribute (TDOMElement)
 | RemoveAttributeNode (TDOMElement)
 | RemoveAttributeNS (TDOMElement)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | RestoreDefaultAttr (TDOMElement)
 | SetAttribute (TDOMElement)
 | SetAttributeNode (TDOMElement)
 | SetAttributeNodeNS (TDOMElement)
 | SetAttributeNS (TDOMElement)
pt | SetNodeValue (TDOMNode)
 | SetNSI (TDOMNode_NS)
pt | SetPrefix (TDOMNode)
pt | SetPrefix (TDOMNode_NS)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMElement

TDOMNode_NS

TDOMNode_WithChildren

TDOMNode


TDOMElement.AttachDefaultAttrs

Creates DOM Attributes for defaults needed in a Namespaced DOM Element

Declaration

Source position: laz2_dom.pas line 627

protected procedure TDOMElement.AttachDefaultAttrs;


TDOMElement.AttribStrings

Provides indexed access to Attributes and their value as a String

Declaration

Source position: laz2_dom.pas line 655

public property TDOMElement.AttribStrings[Name: DOMString] : DOMString
  read GetAttribute
  write SetAttribute;
  default;

Description

AttribStrings is an indexed DOMString property that provides access to the value for a DOM Attribute by its Name. AttribStrings is an extension to the DOM specification. It provides a simpler mechanism for reading and writing Attribute values than the methods provided in the DOM Node interface. It is especially useful for DOM documents where Attributes are known to contain simple DOMString data types (like HTML).

Read and write access to AttribStrings is redirected to the Attributes property. When reading a DOM Attribute, the value is an empty string ('') if the Attributes property does not contain an Attribute node with the requested Name. When writing a DOM Attribute, the Attribute node is created if it does not exist already.

AttribStrings does not take Qualified names or Namespaces into consideration when accessing values in the Attributes property. Use the GetAttributeNS, SetAttributeNS, or RemoveAttributeNS methods when Namespace support is required for DOM Attributes.

See also

TDOMNode.Attributes | Contains Attribute for the DOM Node
TDOMElement.GetAttributeNS | Gets the value for an Attribute with the specified Namespace URI and local name
TDOMElement.SetAttributeNS | Sets the value for the DOM Attribute with the specified Namespace URI and qualified name
TDOMElement.RemoveAttributeNS | Removes the DOM Attribute with the specified Namespace URI and local name


TDOMElement.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 631

public destructor TDOMElement.Destroy; override;


TDOMElement.GetAttributeNode

Gets the DOM Attribute node with the specified name

Declaration

Source position: laz2_dom.pas line 639

public function TDOMElement.GetAttributeNode(

  const name: DOMString

):TDOMAttr;

Arguments

name

Name for the DOM Attribute in the return value

Function result

DOM Attribute node with the specified name


TDOMElement.GetAttributeNodeNS

Gets the DOM Attribute node with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 648

public function TDOMElement.GetAttributeNodeNS(

  const nsURI: DOMString;

  const aLocalName: DOMString

):TDOMAttr;

Arguments

nsURI | Namespace URI for the DOM Attribute
aLocalName | Local name for the DOM Attribute

Function result

DOM Attribute node with the requested Namespace URI and local name


TDOMElement.GetAttributeNS

Gets the value for an Attribute with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 645

public function TDOMElement.GetAttributeNS(

  const nsURI: DOMString;

  const aLocalName: DOMString

):DOMString;

Arguments

nsURI | Namespace URI for the Attribute requested in the method
aLocalName | Local name for the Attribute requested in the method

Function result

Value for the DOM Attribute requested in the method


TDOMElement.GetElementsByTagName

Gets a list of DOM nodes with the specified name in the sub-tree for the Element

Declaration

Source position: laz2_dom.pas line 642

public function TDOMElement.GetElementsByTagName(

  const name: DOMString

):TDOMNodeList;

Arguments

name

Tag name to locate in the DOM sub-tree

Function result

DOM Node list with the specified tag name


TDOMElement.GetElementsByTagNameNS

Gets a Node list with Elements having the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 650

public function TDOMElement.GetElementsByTagNameNS(

  const nsURI: DOMString;

  const aLocalName: DOMString

):TDOMNodeList;

Arguments

nsURI | Namespace URI for the requested nodes
aLocalName | Local name for the requested nodes

Function result

DOM Node list created in the method


TDOMElement.hasAttribute

Indicates if the Attributes property contains an item with the specified name

Declaration

Source position: laz2_dom.pas line 651

public function TDOMElement.hasAttribute(

  const name: DOMString

):Boolean;

Arguments

name

Name of the Attribute to locate in the method

Function result

True when an Attribute with the specified name exists in the Attributes property


TDOMElement.hasAttributeNS

Indicates if Attributes contains an attribute with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 652

public function TDOMElement.hasAttributeNS(

  const nsURI: DOMString;

  const aLocalName: DOMString

):Boolean;

Arguments

nsURI | Namespace URI for the DOM Attribute
aLocalName | Local name for the DOM Attribute

Function result

True Attributes contains an entry with the specified Namespace URI and local name


TDOMElement.HasAttributes

Indicates if the Attributes property contains any DOM Attribute nodes

Declaration

Source position: laz2_dom.pas line 653

public function TDOMElement.HasAttributes: Boolean; override;

Function result

False when Attributes has not been assigned, or has a Length of 0 (zero)


TDOMElement.InternalLookupPrefix

Gets the Namespace Prefix used for the specified Namespace URI

Declaration

Source position: laz2_dom.pas line 628

protected function TDOMElement.InternalLookupPrefix(

  const nsURI: DOMString;

  Original: TDOMElement

):DOMString;

Arguments

nsURI | Namespace URI to locate in the method
Original | Original DOM Element to use for the Lookup

Function result

Prefix used for the Namespace in the current or ancestor DOM Element


TDOMElement.IsEmpty

Indicates if the DOM Element has content

Declaration

Source position: laz2_dom.pas line 633

public function TDOMElement.IsEmpty: Boolean; virtual;

Function result

True when the DOM Element does not have any child nodes


TDOMElement.RemoveAttribute

Removes the DOM Attribute with the specified name

Declaration

Source position: laz2_dom.pas line 638

public procedure TDOMElement.RemoveAttribute(

  const name: DOMString

);

Arguments

name

Name of the DOM Attribute removed in the method


TDOMElement.RemoveAttributeNode

Removes the specified DOM Attribute node from the Attributes for the Element

Declaration

Source position: laz2_dom.pas line 641

public function TDOMElement.RemoveAttributeNode(

  OldAttr: TDOMAttr

):TDOMAttr;

Arguments

OldAttr

DOM Attribute node to remove from the Attributes for the Element

Function result

DOM Attribute node removed in the method


TDOMElement.RemoveAttributeNS

Removes the DOM Attribute with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 647

public procedure TDOMElement.RemoveAttributeNS(

  const nsURI: DOMString;

  const aLocalName: DOMString

);

Arguments

nsURI | Namespace URI for the DOM Attribute
aLocalName | Local name for the DOM Attribute


TDOMElement.RestoreDefaultAttr

Restores Namespaced Attributes to the default values for the DOM node

Declaration

Source position: laz2_dom.pas line 629

protected procedure TDOMElement.RestoreDefaultAttr(

  AttrDef: TDOMAttr

);

Arguments

AttrDef

DOM Attribute used as the baseline


TDOMElement.SetAttributeNode

Stores the new DOM Attribute node to an existing Attribute with the same name

Declaration

Source position: laz2_dom.pas line 640

public function TDOMElement.SetAttributeNode(

  NewAttr: TDOMAttr

):TDOMAttr;

Arguments

NewAttr

DOM Attribute node with the new value stored in Attributes

Function result

DOM Attribute node updated in the method


TDOMElement.SetAttributeNodeNS

Stores the new DOM Attribute node in an existing Namespaced Attribute node

Declaration

Source position: laz2_dom.pas line 649

public function TDOMElement.SetAttributeNodeNS(

  newAttr: TDOMAttr

):TDOMAttr;

Arguments

newAttr

DOM Attribute node with the Namespace URI, Local name, and value stored in the method

Function result

Existing DOM Attribute node updated in the method


TDOMElement.SetAttributeNS

Sets the value for the DOM Attribute with the specified Namespace URI and qualified name

Declaration

Source position: laz2_dom.pas line 646

public procedure TDOMElement.SetAttributeNS(

  const nsURI: DOMString;

  const qualifiedName: DOMString;

  const value: DOMString

);

Arguments

nsURI | Namespace URI for the DOM Attribute updated in the method
qualifiedName | QualifiedName for the DOM Attribute updated in the method
value | New value for the DOM Attribute with the specified Namespace URI and Qualified Name


TDOMElement.TagName

The qualified name used as the Tag name for the DOM Element

Declaration

Source position: laz2_dom.pas line 635

public property TDOMElement.TagName : DOMString
  read GetNodeName;


TDOMElementList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Provides a recursive list of DOM Elements

Declaration

Source position: laz2_dom.pas line 363

type TDOMElementList = class(TDOMNodeList)
protected
filter: DOMString; | Value for the filter applied to the list
FNSIndexFilter: Integer; | Index of the NameSpace for the filter
localNameFilter: DOMString; | Local name used in the filter
FMatchNS: Boolean;
FMatchAnyNS: Boolean;
UseFilter: Boolean; | Indicates if filtering is used when selecting DOM Elements in the list
function NodeFilter(); override; | Performs actions needed to determine if a DOM node matches the Filter for the list
public
constructor Create(); | Constructor for the class instance
end;

Inheritance

TDOMElementList | Provides a recursive list of DOM Elements
|
TDOMNodeList | Implements an ordered list of DOM Nodes
|
TObject

Description

TDOMElementList is a TDOMNodeList descendant that provides an extension to the DOM interface used to build recursive lists of elements. TDOMElementList provides optional filtering used to select the DOM Elements that appear in the list.


TDOMElementList
TDOMNodeList
 | ro | Item
 | ro | Count
 | ro | Length


ro | Count (TDOMNodeList)
ro | Item (TDOMNodeList)
ro | Length (TDOMNodeList)


TDOMElementList
pt | NodeFilter
 | Create
TDOMNodeList
pt | GetCount
pt | GetItem
pt | NodeFilter
pt | BuildList
 | Create
 | Destroy


pt | BuildList (TDOMNodeList)
 | Create (TDOMNodeList)
 | Create (TDOMElementList)
 | Destroy (TDOMNodeList)
pt | GetCount (TDOMNodeList)
pt | GetItem (TDOMNodeList)
pt | NodeFilter (TDOMNodeList)
pt | NodeFilter (TDOMElementList)


TDOMElementList

TDOMNodeList


TDOMElementList.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 373

public constructor TDOMElementList.Create(

  ANode: TDOMNode;

  const AFilter: DOMString

); overload;

constructor TDOMElementList.Create(

  ANode: TDOMNode;

  const nsURI: DOMString;

  const localName: DOMString

); overload;

Arguments

ANode | DOM Node with children for the list
AFilter | Filter to apply to values in the list

Arguments

ANode | DOM Node with children for the list
nsURI | NamedSpace URI for values in the list
localName | LocalName for values in the list


TDOMElementList.filter

Value for the filter applied to the list

Declaration

Source position: laz2_dom.pas line 365

protected TDOMElementList.filter : DOMString;


TDOMElementList.FMatchAnyNS

Declaration

Source position: laz2_dom.pas line 369

protected TDOMElementList.FMatchAnyNS : Boolean;


TDOMElementList.FMatchNS

Declaration

Source position: laz2_dom.pas line 368

protected TDOMElementList.FMatchNS : Boolean;


TDOMElementList.FNSIndexFilter

Index of the NameSpace for the filter

Declaration

Source position: laz2_dom.pas line 366

protected TDOMElementList.FNSIndexFilter : Integer;


TDOMElementList.localNameFilter

Local name used in the filter

Declaration

Source position: laz2_dom.pas line 367

protected TDOMElementList.localNameFilter : DOMString;


TDOMElementList.NodeFilter

Performs actions needed to determine if a DOM node matches the Filter for the list

Declaration

Source position: laz2_dom.pas line 371

protected function TDOMElementList.NodeFilter(

  aNode: TDOMNode

):TFilterResult; override;

Arguments

aNode

DOM Node to include or exclude using the Filter value


TDOMElementList.UseFilter

Indicates if filtering is used when selecting DOM Elements in the list

Declaration

Source position: laz2_dom.pas line 370

protected TDOMElementList.UseFilter : Boolean;


TDOMEntity

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Entity interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 750

type TDOMEntity = class(TDOMNode_WithChildren)
protected
FName: DOMString;
FPublicID: DOMString;
FSystemID: DOMString;
FNotationName: DOMString;
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
public
function CloneNode(); override; | Makes a copy of the DOM node
property PublicID: DOMString; [r] | Public Identifier for the Entity
property SystemID: DOMString; [r] | System Identifier for the Entity
property NotationName: DOMString; [r] | Notation name for the Entity
end;

Inheritance

TDOMEntity | Implements the DOM Entity interface from the DOM specification
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject


TDOMEntity
 | ro | PublicID
 | ro | SystemID
 | ro | NotationName
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | NotationName (TDOMEntity)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | PublicID (TDOMEntity)
ro | SystemID (TDOMEntity)
 | TextContent (TDOMNode)


TDOMEntity
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMEntity)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMEntity)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMEntity)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMEntity

TDOMNode_WithChildren

TDOMNode


TDOMEntity.CloneNode

Makes a copy of the DOM node

Declaration

Source position: laz2_dom.pas line 757

public function TDOMEntity.CloneNode(

  deep: Boolean;

  aCloneOwner: TDOMDocument

):TDOMNode; override;

Function result

DOM node created in the method


TDOMEntity.FName

Declaration

Source position: laz2_dom.pas line 752

protected TDOMEntity.FName : DOMString;


TDOMEntity.FNotationName

Declaration

Source position: laz2_dom.pas line 753

protected TDOMEntity.FNotationName : DOMString;


TDOMEntity.FPublicID

Declaration

Source position: laz2_dom.pas line 753

protected TDOMEntity.FPublicID : DOMString;


TDOMEntity.FSystemID

Declaration

Source position: laz2_dom.pas line 753

protected TDOMEntity.FSystemID : DOMString;


TDOMEntity.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 755

protected function TDOMEntity.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMEntity.GetNodeType

Gets the value for the NodeType property

Declaration

Source position: laz2_dom.pas line 754

protected function TDOMEntity.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMEntity.NotationName

Notation name for the Entity

Declaration

Source position: laz2_dom.pas line 760

public property TDOMEntity.NotationName : DOMString
  read FNotationName;


TDOMEntity.PublicID

Public Identifier for the Entity

Declaration

Source position: laz2_dom.pas line 758

public property TDOMEntity.PublicID : DOMString
  read FPublicID;


TDOMEntity.SystemID

System Identifier for the Entity

Declaration

Source position: laz2_dom.pas line 759

public property TDOMEntity.SystemID : DOMString
  read FSystemID;


TDOMEntityReference

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM EntityReference interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 768

type TDOMEntityReference = class(TDOMNode_WithChildren)

protected

  FName: DOMString;

  function GetNodeType; override;

  function GetNodeName; override;

public

  function CloneNode(); override; overload;

end;

Inheritance

TDOMEntityReference | Implements the DOM EntityReference interface from the DOM specification
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject


TDOMEntityReference
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMEntityReference
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMEntityReference)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMEntityReference)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMEntityReference)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMEntityReference

TDOMNode_WithChildren

TDOMNode


TDOMEntityReference.CloneNode

Declaration

Source position: laz2_dom.pas line 774

public function TDOMEntityReference.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; override; overload;


TDOMEntityReference.FName

Declaration

Source position: laz2_dom.pas line 770

protected TDOMEntityReference.FName : DOMString;


TDOMEntityReference.GetNodeName

Declaration

Source position: laz2_dom.pas line 772

protected function TDOMEntityReference.GetNodeName: DOMString; override;


TDOMEntityReference.GetNodeType

Declaration

Source position: laz2_dom.pas line 771

protected function TDOMEntityReference.GetNodeType: Integer; override;


TDOMImplementation

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOMImplementation interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 442

type TDOMImplementation = class
public
function HasFeature(); | Indicates if a feature with is supported in the DOM implementation
function CreateDocumentType(); | Creates a DOM Document Type using the specified arguments
function CreateDocument(); | Creates a new DOM Document instance
end;

Inheritance

TDOMImplementation

Implements the DOMImplementation interface from the DOM specification
|

TObject

Description

TDOMImplementation is a class which implements the DOMImplementation interface from the DOM specification. TDOMImplementation provides methods which perform operations that do not require an existing TDOMDocument class instance, such as creating new TDOMDocumentType or TDOMDocument instances. TDOMImplementation also implements the HasFeature method which determines if the DOM implementation supports specific features required to conform to a specific DOM level.

See also

TDOMImplementation.HasFeature

Indicates if a feature with is supported in the DOM implementation


TDOMImplementation


TDOMImplementation
 | HasFeature
 | CreateDocumentType
 | CreateDocument


TDOMImplementation.CreateDocument

Creates a new DOM Document instance

Declaration

Source position: laz2_dom.pas line 450

public function TDOMImplementation.CreateDocument(

  const NamespaceURI: DOMString;

  const QualifiedName: DOMString;

  doctype: TDOMDocumentType

):TDOMDocument;

Arguments

NamespaceURI | NameSpace URI for the root element in the XML document
QualifiedName | QualifiedName for the root element in the XML document
doctype | Document type appended to the XML document when assigned

Function result

XML document created in the method


TDOMImplementation.CreateDocumentType

Creates a DOM Document Type using the specified arguments

Declaration

Source position: laz2_dom.pas line 448

public function TDOMImplementation.CreateDocumentType(

  const QualifiedName: DOMString;

  const PublicID: DOMString;

  const SystemID: DOMString

):TDOMDocumentType;

Arguments

QualifiedName | Qualified name used in the DOM Document type
PublicID | Public ID for the DOM Document type
SystemID | System ID for the DOM Document type

Function result

TDOMDocumentType created in the method


TDOMImplementation.HasFeature

Indicates if a feature with is supported in the DOM implementation

Declaration

Source position: laz2_dom.pas line 444

public function TDOMImplementation.HasFeature(

  const feature: DOMString;

  const version: DOMString

):Boolean;

Arguments

feature | Feature name to examine in the method
version | Version number or support level required for the feature

Function result

True when the requested feature is supported at the required version


TDOMNamedNodeMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the NamedNodeMap interface in the DOM specification

Declaration

Source position: laz2_dom.pas line 384

type TDOMNamedNodeMap = class(TObject)
protected
FOwner: TDOMNode;
FNodeType: Integer;
FSortedList: TFPList;
FPosList: TFPList;
function GetPosItem(); | Gets the value for the Item property
function GetSortedItem(); | Gets the value for the SortedItem property
function GetLength; | Gets the value for the Length property
function FindSorted(); | Finds a DOM Node with the specified name in the sorted collection
function DeleteSorted(); | Deletes the DOM Node at the specified position in the sorted collection
procedure RestoreDefault(); | Restores the default value for the node with the specified name
function InternalRemove(); | Performs actions need to remove a node from the container with the specified name
function ValidateInsert(); | Performs actions to determine if an inserted node is valid for its context
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function GetNamedItem(); | Gets the item with the specified name
function SetNamedItem(); | Sets the value of a named item to the specified argument
function RemoveNamedItem(); | Removes an item with the specified name
function getNamedItemNS(); virtual; | Gets the Item with the specified Namespace URI and local name
function setNamedItemNS(); virtual; | Sets the value for the item using the specified argument
function removeNamedItemNS(); virtual; | Remove a DOM Node with the specified Namespace URI and local name
property Item []: TDOMNode; default; [r] | Provides indexed access to the unsorted DOM Nodes in the container
property SortedItem []: TDOMNode; [r] | Provides indexed access to the sorted DOM Nodes in the container
property Length: LongWord; [r] | Indicates the Length of the container
end;

Inheritance

TDOMNamedNodeMap

Implements the NamedNodeMap interface in the DOM specification
|

TObject

Description

TDOMNamedNodeMap is a class used to implement the NamedNodeMap interface in the DOM specification.TDOMNamedNodeMap is used for a collection of DOM Nodes that are accessed by their name or their ordinal position. TDOMNamedNodeMap provides support for the Namespace URIs and QualifiedNames in the collection, as required for DOM Level 2 conformance.

Nota Bene: The DOM specification mandates unordered access to nodes in the collection. The sorting options available in TDOMNamedNodeMap are an extension to the DOM specification. To achieve this, the class uses two separate internal lists to represent the nodes in their sorted and unsorted orders. This most certainly requires additional memory and processing, but the overhead is minimal in comparison to the derived benefit.

TDOMNamedNodeMap is the type used to represent Attributes, Entities, and Notations in the DOM API.

See also

TDOMNode.Attributes | Contains Attribute for the DOM Node
TDOMDocumentType.Entities | Entities declared in the Document Type declaration
TDOMDocumentType.Notations | Notations declared in the Document Type declaration


TDOMNamedNodeMap
 | ro | Item
 | ro | SortedItem
 | ro | Length


ro | Item (TDOMNamedNodeMap)
ro | Length (TDOMNamedNodeMap)
ro | SortedItem (TDOMNamedNodeMap)


TDOMNamedNodeMap
pt | GetPosItem
pt | GetSortedItem
pt | GetLength
pt | FindSorted
pt | DeleteSorted
pt | RestoreDefault
pt | InternalRemove
pt | ValidateInsert
 | Create
 | Destroy
 | GetNamedItem
 | SetNamedItem
 | RemoveNamedItem
 | getNamedItemNS
 | setNamedItemNS
 | removeNamedItemNS


pt | DeleteSorted (TDOMNamedNodeMap)
 | Destroy (TDOMNamedNodeMap)
pt | FindSorted (TDOMNamedNodeMap)
pt | GetLength (TDOMNamedNodeMap)
 | GetNamedItem (TDOMNamedNodeMap)
 | getNamedItemNS (TDOMNamedNodeMap)
pt | GetPosItem (TDOMNamedNodeMap)
pt | GetSortedItem (TDOMNamedNodeMap)
pt | InternalRemove (TDOMNamedNodeMap)
 | RemoveNamedItem (TDOMNamedNodeMap)
 | removeNamedItemNS (TDOMNamedNodeMap)
pt | RestoreDefault (TDOMNamedNodeMap)
 | SetNamedItem (TDOMNamedNodeMap)
 | setNamedItemNS (TDOMNamedNodeMap)
pt | ValidateInsert (TDOMNamedNodeMap)


TDOMNamedNodeMap


TDOMNamedNodeMap.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 399

public constructor TDOMNamedNodeMap.Create(

  AOwner: TDOMNode;

  ANodeType: Integer

);

Arguments

AOwner | Owner of the class instance
ANodeType | DOM Node type used in the container


TDOMNamedNodeMap.DeleteSorted

Deletes the DOM Node at the specified position in the sorted collection

Declaration

Source position: laz2_dom.pas line 394

protected function TDOMNamedNodeMap.DeleteSorted(

  index: LongWord

):TDOMNode;


TDOMNamedNodeMap.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 400

public destructor TDOMNamedNodeMap.Destroy; override;


TDOMNamedNodeMap.FindSorted

Finds a DOM Node with the specified name in the sorted collection

Declaration

Source position: laz2_dom.pas line 393

protected function TDOMNamedNodeMap.FindSorted(

  const name: DOMString;

  out Index: LongWord

):Boolean;

Arguments

name

Name to locate in the sorted collection


TDOMNamedNodeMap.FNodeType

Declaration

Source position: laz2_dom.pas line 387

protected TDOMNamedNodeMap.FNodeType : Integer;


TDOMNamedNodeMap.FOwner

Declaration

Source position: laz2_dom.pas line 386

protected TDOMNamedNodeMap.FOwner : TDOMNode;


TDOMNamedNodeMap.FPosList

Declaration

Source position: laz2_dom.pas line 389

protected TDOMNamedNodeMap.FPosList : TFPList;


TDOMNamedNodeMap.FSortedList

Declaration

Source position: laz2_dom.pas line 388

protected TDOMNamedNodeMap.FSortedList : TFPList;


TDOMNamedNodeMap.GetNamedItem

Gets the item with the specified name

Declaration

Source position: laz2_dom.pas line 402

public function TDOMNamedNodeMap.GetNamedItem(

  const name: DOMString

):TDOMNode;

Arguments

name

Name to locate in the Items for the container

Function result

Item with the specified name


TDOMNamedNodeMap.getNamedItemNS

Gets the Item with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 406

public function TDOMNamedNodeMap.getNamedItemNS(

  const namespaceURI: DOMString;

  const localName: DOMString

):TDOMNode; virtual;

Arguments

namespaceURI | Namespace URI for the namespaced item
localName | Local name for the namespaced item


TDOMNamedNodeMap.InternalRemove

Performs actions need to remove a node from the container with the specified name

Declaration

Source position: laz2_dom.pas line 396

protected function TDOMNamedNodeMap.InternalRemove(

  const name: DOMString

):TDOMNode;

Arguments

name

Name of the DOM Node affected in the method


TDOMNamedNodeMap.Item

Provides indexed access to the unsorted DOM Nodes in the container

Declaration

Source position: laz2_dom.pas line 410

public property TDOMNamedNodeMap.Item[index: LongWord] : TDOMNode
  read GetPosItem;
  default;


TDOMNamedNodeMap.Length

Indicates the Length of the container

Declaration

Source position: laz2_dom.pas line 412

public property TDOMNamedNodeMap.Length : LongWord
  read GetLength;


TDOMNamedNodeMap.RemoveNamedItem

Removes an item with the specified name

Declaration

Source position: laz2_dom.pas line 404

public function TDOMNamedNodeMap.RemoveNamedItem(

  const name: DOMString

):TDOMNode;

Arguments

name

Name of the DOM Node removed in the method


TDOMNamedNodeMap.removeNamedItemNS

Remove a DOM Node with the specified Namespace URI and local name

Declaration

Source position: laz2_dom.pas line 408

public function TDOMNamedNodeMap.removeNamedItemNS(

  const namespaceURI: DOMString;

  const localName: DOMString

):TDOMNode; virtual;

Arguments

namespaceURI | Namespace URI for the item removed in the method
localName | Local name for the item removed in the method


TDOMNamedNodeMap.RestoreDefault

Restores the default value for the node with the specified name

Declaration

Source position: laz2_dom.pas line 395

protected procedure TDOMNamedNodeMap.RestoreDefault(

  const name: DOMString

);

Arguments

name

Name of the item updated in the method


TDOMNamedNodeMap.SetNamedItem

Sets the value of a named item to the specified argument

Declaration

Source position: laz2_dom.pas line 403

public function TDOMNamedNodeMap.SetNamedItem(

  arg: TDOMNode

):TDOMNode;


TDOMNamedNodeMap.setNamedItemNS

Sets the value for the item using the specified argument

Declaration

Source position: laz2_dom.pas line 407

public function TDOMNamedNodeMap.setNamedItemNS(

  arg: TDOMNode

):TDOMNode; virtual;


TDOMNamedNodeMap.SortedItem

Provides indexed access to the sorted DOM Nodes in the container

Declaration

Source position: laz2_dom.pas line 411

public property TDOMNamedNodeMap.SortedItem[index: LongWord] : TDOMNode
  read GetSortedItem;


TDOMNamedNodeMap.ValidateInsert

Performs actions to determine if an inserted node is valid for its context

Declaration

Source position: laz2_dom.pas line 397

protected function TDOMNamedNodeMap.ValidateInsert(

  arg: TDOMNode

):Integer;


TDOMNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Node interface

Declaration

Source position: laz2_dom.pas line 226

type TDOMNode = class
protected
FPool: TObject;
FFlags: TNodeFlags;
FParentNode: TDOMNode;
FPreviousSibling: TDOMNode;
FNextSibling: TDOMNode;
FOwnerDocument: TDOMDocument;
function GetNodeName; virtual; abstract; | Gets the value for the NodeName property
function GetNodeValue; virtual; | Gets the value for the NodeValue property
procedure SetNodeValue(); virtual; | Sets the value for the NodeValue property
function GetFirstChild; virtual; | Gets the value for the FirstChild property
function GetLastChild; virtual; | Gets the value for the LastChild property
function GetAttributes; virtual; | Gets the value for the Attributes property
function GetRevision; | Gets the revision number for the node
function GetNodeType; virtual; abstract; | Gets the value for the NodeType property
function GetTextContent; virtual; | Gets the value for the TextContent property
procedure SetTextContent(); virtual; | Sets the value in the TextContent property
function GetLocalName; virtual; | Gets the value for the LocalName property
function GetNamespaceURI; virtual; | Gets the value for the NamespaceURI property
function GetPrefix; virtual; | Gets the value for the Prefix property
procedure SetPrefix(); virtual; | Sets the value for the Prefix property
function GetOwnerDocument; virtual; | Gets the value for the OwnerDocument property
function GetBaseURI; | Gets the value for the BaseURI property
procedure SetReadOnly(); | Updates the read-only Node flag for the DOM Node and it children
procedure Changing; | Determines if the Node and its owner document can be modified
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure FreeInstance; override; | Performs actions needed to free the class instance
function GetChildNodes; | Gets the value for the ChildNodes property
function GetChildCount; virtual; | Gets the number of Child nodes for the DOM node
property NodeName: DOMString; [r] | Name for the DOM node
property NodeValue: DOMString; [rw] | Value for the DOM node
property NodeType: Integer; [r] | Node type for the DOM Node
property ParentNode: TDOMNode; [r] | DOM node that is the immediate ancestor of this node
property FirstChild: TDOMNode; [r] | Gets the first child node for the current node
property LastChild: TDOMNode; [r] | Gets the last child node for the current node
property ChildNodes: TDOMNodeList; [r] | Provides access to the list of Child nodes for the current node
property PreviousSibling: TDOMNode; [r] | Previous DOM Node at the same level in the DOM tree
property NextSibling: TDOMNode; [r] | Next DOM Node at the same level in the DOM tree
property Attributes: TDOMNamedNodeMap; [r] | Contains Attribute for the DOM Node
property OwnerDocument: TDOMDocument; [r] | DOM Document that created the DOM node
function GetEnumerator; | Gets an enumerator for DOM Nodes that are top-level children of the node
function GetEnumeratorAllChildren; | Gets an enumerator for DOM Nodes that are children or grand children of the node
function GetNextNode; | Gets the next Child or Sibling node for the DOM node
function GetNextNodeSkipChildren; | Gets the next sibling for the DOM node
function GetPreviousNode; | Gets the previous DOM Node in the DOM tree
function GetLastLeaf; | Gets the last Node in the DOM sub-tree for the current DOM node
function GetLevel; | Gets the level in the DOM tree for the DOM node
function InsertBefore(); virtual; | Inserts a new child node immediately before the reference child node
function ReplaceChild(); virtual; | Replaces a child node with the specified DOM node
function DetachChild(); virtual; | Detaches the specified child node from the DOM sub-tree for the node
function RemoveChild(); | Removes the specified child from the DOM sub-tree for this node
function AppendChild(); | Appends the specified node as a child node
function HasChildNodes; virtual; | Indicates if the DOM Node has child nodes
function CloneNode(); | Makes a copy of the DOM node
function IsSupported(); | Indicates if a feature supports a specific version or conformance level
function HasAttributes; virtual; | Indicates if the DOM Node has attribute names and values
procedure Normalize; virtual; | Normalizes text nodes and attributes in the Node sub-tree
property NamespaceURI: DOMString; [r] | URI for the NameSpace assigned to the DOM Node
property LocalName: DOMString; [r] | Name without the NameSpace prefix assigned to the DOM Node
property Prefix: DOMString; [rw] | Prefix used for the assigned NameSpace in the DOM Node
property TextContent: DOMString; [rw] | Textual representation for the DOM Node
function LookupPrefix(); | Locates the Prefix for the specified NameSpace URI
function LookupNamespaceURI(); | Locates the NameSpace URI for the specified Prefix
function IsDefaultNamespace(); | Indicates if the specified NameSpace URI is the default namespace for the DOM node
property baseURI: DOMString; [r] | Not defined in the DOM Level 2 APIs
function FindNode(); virtual; | Finds the Child Node with the specified name
function CompareName(); virtual; | Compares the NodeName in the DOM Node to the specified value
property Flags: TNodeFlags; [r] | Provides access to the Node Flags for the DOM Node
end;

Inheritance

TDOMNode

Implements the DOM Node interface
|

TObject

Description

TDOMNode is a class which implements the Node interface in the Document Object Model (DOM).

TDOMNode represents a single node in a DOM document. It includes NodeName, NodeValue, NodeType, and Attributes properties with information common to all nodes in a document tree. The ParentNode, ChildNodes, and OwnerDocument properties provide access to the tree structure for a DOM document.

TDOMNode implements the full DOM Level 2 specification, and provides partial support for the DOM Level 3 specification. It also provides extensions to the DOM Node interface that allow locating or cloning a node, perform name comparisons, or access its node flags.

TDOMNode is used as the ancestor for other specialized Node types, as specified in the DOM specification. These descendent classes may alter the base value and/or behavior as required for the specialized node type.


TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeType (TDOMNode)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)


TDOMNode


TDOMNode.AppendChild

Appends the specified node as a child node

Declaration

Source position: laz2_dom.pas line 283

public function TDOMNode.AppendChild(

  NewChild: TDOMNode

):TDOMNode;

Arguments

NewChild

DOM Node to append in the method

Function result

New DOM Node appended as a child node


TDOMNode.Attributes

Contains Attribute for the DOM Node

Declaration

Source position: laz2_dom.pas line 269

public property TDOMNode.Attributes : TDOMNamedNodeMap
  read GetAttributes;

Description

Attributes is a read-only TDOMNamedNodeMap property that contains attributes for the DOM node. Use the properties and methods in Attributes to access the DOM nodes by their name or ordinal position. Attributes also includes properties and methods that provide support for Namespace URIs and QualifiedNames as defined in the DOM specification.

While specified in TDOMNode, Attributes are valid only in the TDOMElement node type. For all other DOM node types the Attributes property is unassigned (contains Nil).

See also

TDOMNamedNodeMap | Implements the NamedNodeMap interface in the DOM specification
TDOMElement | Implements the DOM Element interface from the DOM specification


TDOMNode.baseURI

Not defined in the DOM Level 2 APIs

Declaration

Source position: laz2_dom.pas line 300

public property TDOMNode.baseURI : DOMString
  read GetBaseURI;


TDOMNode.Changing

Determines if the Node and its owner document can be modified

Declaration

Source position: laz2_dom.pas line 251

protected procedure TDOMNode.Changing;

Description

Changing is a procedure used to determine if the DOM node and its Owner document can be modified. Changing uses the Node Flags in the DOM node and its OwnerDocument to determine if the Node is marked as read-only and the document is not being freed.

Errors

Raises an EDOMError with the DOM exception code NO_MODIFICATION_ALLOWED_ERR when the Node is marked as read-only.

See also

TDOMNode.OwnerDocument | DOM Document that created the DOM node
TDOMNode.Flags | Provides access to the Node Flags for the DOM Node
TNodeFlags | Set used to store TNodeFlagEnum values


TDOMNode.ChildNodes

Provides access to the list of Child nodes for the current node

Declaration

Source position: laz2_dom.pas line 266

public property TDOMNode.ChildNodes : TDOMNodeList
  read GetChildNodes;

Description

ChildNodes is a read-only TDOMNodeList property used to provide access to the child nodes for the current DOM node. Reading the value in ChildNodes causes a TDOMNodeList to be created using the DOM tree in OwnerDocument. The list contains any DOM nodes found in OwnerDocument immediately below the current DOM node. If there are no child nodes for the current node, the list has a Length (or Count - they contain the same data) of 0 (zero). Use HasChildNodes to determine if the ChildNodes property contains any DOM nodes.

Remark: Please note: While ChildNodes is specified in TDOMNode, actually support for the list of child node is implemented in the TDOMNode_WithChildren descendant.

See also

TDOMNode.OwnerDocument | DOM Document that created the DOM node
TDOMNode.HasChildNodes | Indicates if the DOM Node has child nodes
TDOMNodeList | Implements an ordered list of DOM Nodes
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes


TDOMNode.CloneNode

Makes a copy of the DOM node

Declaration

Source position: laz2_dom.pas line 285

public function TDOMNode.CloneNode(

  deep: Boolean

):TDOMNode; overload;

function TDOMNode.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; virtual; overload;

Arguments

deep

Indicates if child nodes are included in the cloned node

Function result

DOM Node created in the method

Arguments

deep | Indicates if child nodes are included in the cloned node
ACloneOwner | DOM Document used to created the new DOM Node


TDOMNode.CompareName

Compares the NodeName in the DOM Node to the specified value

Declaration

Source position: laz2_dom.pas line 304

public function TDOMNode.CompareName(

  const name: DOMString

):Integer; virtual;

Arguments

name

Value compared to the NodeName for the DOM node

Function result

Difference between the ordinal character values for the first non-matching character in the compared names.


TDOMNode.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 253

public constructor TDOMNode.Create(

  AOwner: TDOMDocument

);

Arguments

AOwner

Document that is the Owner of the class instance

Description

Create is the constructor for the class instance. Creates stores the TDOMDocument in AOwner as the OwnerDocument for the DOM node. Create calls the inherited constructor.


TDOMNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 254

public destructor TDOMNode.Destroy; override;

Description

Destroy is the destructor for the class instance. Destroy ensures that the ParentNode is notified that the Node will be removed from the tree structure. When ParentNode is assigned, its DetachChild method is called to remove the class instance from the ChildNodes hierarchy.

Destroy calls the inherited destructor prior to exiting from the method.

See also

TDOMNode.ParentNode | DOM node that is the immediate ancestor of this node
TDOMNode.DetachChild | Detaches the specified child node from the DOM sub-tree for the node
TDOMNode.ChildNodes | Provides access to the list of Child nodes for the current node


TDOMNode.DetachChild

Detaches the specified child node from the DOM sub-tree for the node

Declaration

Source position: laz2_dom.pas line 281

public function TDOMNode.DetachChild(

  OldChild: TDOMNode

):TDOMNode; virtual;

Arguments

OldChild

DOM Node to locate in the DOM sub-tree

Function result

The DOM Node detached in the method

Description

DetachChild is a TDOMNode function used to detach a specified child node from the DOM sub-tree for the current node. OldChild is the DOM node to remove from the DOM sub-tree. The return value contains the detached DOM node.

TDOMNode specifies the DetachChild method, but does not provide physical storage for child nodes. As a result, it always raises an EDOMNotFound exception in the method. DetachChild must be re-implemented in a descendent class as required for other DOM Node specializations.

See also

TDOMNode_WithChildren.DetachChild | Detached the specified DOM node from the sub-tree
TDOMNode.NodeType | Node type for the DOM Node


TDOMNode.FFlags

Declaration

Source position: laz2_dom.pas line 229

protected TDOMNode.FFlags : TNodeFlags;


TDOMNode.FindNode

Finds the Child Node with the specified name

Declaration

Source position: laz2_dom.pas line 303

public function TDOMNode.FindNode(

  const ANodeName: DOMString

):TDOMNode; virtual;

Arguments

ANodeName

Node Name to locate in the Child Nodes for the DOM Node

Function result

DOM Node located with the specified name


TDOMNode.FirstChild

Gets the first child node for the current node

Declaration

Source position: laz2_dom.pas line 264

public property TDOMNode.FirstChild : TDOMNode
  read GetFirstChild;

Description

FirstChild is a read-only TDOMNode property that represents the first child node for this DOM node. In TDOMNode, the value for the property is always Nil (not assigned). The read access specifier is re-implemented in a descendent class (TDOMNode_WithChildren) to provide direct support for child node access.

See also

TDOMNode_WithChildren

Extends TDOMNode to allocate storage for child nodes


TDOMNode.Flags

Provides access to the Node Flags for the DOM Node

Declaration

Source position: laz2_dom.pas line 305

public property TDOMNode.Flags : TNodeFlags
  read FFlags;


TDOMNode.FNextSibling

Declaration

Source position: laz2_dom.pas line 231

protected TDOMNode.FNextSibling : TDOMNode;


TDOMNode.FOwnerDocument

Declaration

Source position: laz2_dom.pas line 232

protected TDOMNode.FOwnerDocument : TDOMDocument;


TDOMNode.FParentNode

Declaration

Source position: laz2_dom.pas line 230

protected TDOMNode.FParentNode : TDOMNode;


TDOMNode.FPool

Declaration

Source position: laz2_dom.pas line 228

protected TDOMNode.FPool : TObject;


TDOMNode.FPreviousSibling

Declaration

Source position: laz2_dom.pas line 231

protected TDOMNode.FPreviousSibling : TDOMNode;


TDOMNode.GetChildCount

Gets the number of Child nodes for the DOM node

Declaration

Source position: laz2_dom.pas line 258

public function TDOMNode.GetChildCount: SizeInt; virtual;

Function result

Number of Child nodes for the DOM node


TDOMNode.GetEnumerator

Gets an enumerator for DOM Nodes that are top-level children of the node

Declaration

Source position: laz2_dom.pas line 271

public function TDOMNode.GetEnumerator: TDOMNodeEnumerator;

Function result

Enumerator for immediate child nodes in the DOM node


TDOMNode.GetEnumeratorAllChildren

Gets an enumerator for DOM Nodes that are children or grand children of the node

Declaration

Source position: laz2_dom.pas line 272

public function TDOMNode.GetEnumeratorAllChildren: TDOMNodeAllChildEnumerator;

Function result

Enumerator for all child nodes in the sub-tree for the DOM node


TDOMNode.GetLastLeaf

Gets the last Node in the DOM sub-tree for the current DOM node

Declaration

Source position: laz2_dom.pas line 276

public function TDOMNode.GetLastLeaf: TDOMNode;

Function result

Last node in the DOM sub-tree for the current node.


TDOMNode.GetLevel

Gets the level in the DOM tree for the DOM node

Declaration

Source position: laz2_dom.pas line 277

public function TDOMNode.GetLevel: SizeInt;

Function result

Root node is 0


TDOMNode.GetNextNode

Gets the next Child or Sibling node for the DOM node

Declaration

Source position: laz2_dom.pas line 273

public function TDOMNode.GetNextNode: TDOMNode;

Function result

first child, then next sibling, then next sibling, ...


TDOMNode.GetNextNodeSkipChildren

Gets the next sibling for the DOM node

Declaration

Source position: laz2_dom.pas line 274

public function TDOMNode.GetNextNodeSkipChildren: TDOMNode;

Function result

first next sibling, then next sibling of parent, ...


TDOMNode.GetPreviousNode

Gets the previous DOM Node in the DOM tree

Declaration

Source position: laz2_dom.pas line 275

public function TDOMNode.GetPreviousNode: TDOMNode;

Function result

The reverse of GetNextNode


TDOMNode.GetRevision

Gets the revision number for the node

Declaration

Source position: laz2_dom.pas line 240

protected function TDOMNode.GetRevision: Integer;

Function result

Revision number for the node


TDOMNode.HasAttributes

Indicates if the DOM Node has attribute names and values

Declaration

Source position: laz2_dom.pas line 289

public function TDOMNode.HasAttributes: Boolean; virtual;

Function result

True when the Attribute list is not empty


TDOMNode.HasChildNodes

Indicates if the DOM Node has child nodes

Declaration

Source position: laz2_dom.pas line 284

public function TDOMNode.HasChildNodes: Boolean; virtual;

Function result

True when the size of the ChildNodes list is not zero


TDOMNode.InsertBefore

Inserts a new child node immediately before the reference child node

Declaration

Source position: laz2_dom.pas line 279

public function TDOMNode.InsertBefore(

  NewChild: TDOMNode;

  RefChild: TDOMNode

):TDOMNode; virtual;

Arguments

NewChild | New DOM node to insert into the child nodes
RefChild | Reference node where the new node is inserted

Function result

DOM node inserted in the method

Description

InsertBefore is a TDOMNode function used to insert a new child node immediately before the reference child node. In TDOMNode, InsertBefore always raises an EDOMHierarchyRequest exception. The method must be re-implemented in descendent classes which support child nodes in the DOM Node specialization.

Errors

Raises an EDOMHierarchyRequest exception; must be re-implemented in descendent classes.


TDOMNode.IsDefaultNamespace

Indicates if the specified NameSpace URI is the default namespace for the DOM node

Declaration

Source position: laz2_dom.pas line 299

public function TDOMNode.IsDefaultNamespace(

  const nsURI: DOMString

):Boolean;

Arguments

nsURI

Namespace URI to examine in the Namespace Information for the DOM Node

Function result

True when the default Namespace is the specified Namespace URI


TDOMNode.IsSupported

Indicates if a feature supports a specific version or conformance level

Declaration

Source position: laz2_dom.pas line 288

public function TDOMNode.IsSupported(

  const Feature: DOMString;

  const Version: DOMString

):Boolean;

Arguments

Feature | Feature or module name to examine in the method
Version | Version number or conformance level required for the feature

Function result

True when the feature and version number are supported in the DOM implementation


TDOMNode.LastChild

Gets the last child node for the current node

Declaration

Source position: laz2_dom.pas line 265

public property TDOMNode.LastChild : TDOMNode
  read GetLastChild;

Description

LastChild is a read-only TDOMNode property that represents the last child node for this DOM node. In TDOMNode, the value for the property is Elway Nil (not assigned). The read access specifier is re-implemented in a descendent class (TDOMNode_WithChildren) to provide direct support for child node access.

See also

TDOMNode_WithChildren

Extends TDOMNode to allocate storage for child nodes


TDOMNode.LocalName

Name without the NameSpace prefix assigned to the DOM Node

Declaration

Source position: laz2_dom.pas line 293

public property TDOMNode.LocalName : DOMString
  read GetLocalName;


TDOMNode.LookupNamespaceURI

Locates the NameSpace URI for the specified Prefix

Declaration

Source position: laz2_dom.pas line 298

public function TDOMNode.LookupNamespaceURI(

  const APrefix: DOMString

):DOMString;

Arguments

APrefix

Prefix to locate in the Namespace Information for the DOM Node

Function result

The Namespace URI for the specified Prefix, or an empty string


TDOMNode.LookupPrefix

Locates the Prefix for the specified NameSpace URI

Declaration

Source position: laz2_dom.pas line 297

public function TDOMNode.LookupPrefix(

  const nsURI: DOMString

):DOMString;

Arguments

nsURI

Namespace URI to locate in the Namespace information

Function result

Prefix for the Namespace URI, or an empty string


TDOMNode.NamespaceURI

URI for the NameSpace assigned to the DOM Node

Declaration

Source position: laz2_dom.pas line 292

public property TDOMNode.NamespaceURI : DOMString
  read GetNamespaceURI;


TDOMNode.NextSibling

Next DOM Node at the same level in the DOM tree

Declaration

Source position: laz2_dom.pas line 268

public property TDOMNode.NextSibling : TDOMNode
  read FNextSibling;

Description

NextSibling is a read-only TDOMNode property that represents the next DOM node at the same level in the DOM tree. If no successor node was found at the same level, the property is unassigned (contains Nil).

Use PreviousSibling to access the previous node at the same level in the DOM tree.

See also

TDOMNode.PreviousSibling

Previous DOM Node at the same level in the DOM tree


TDOMNode.NodeName

Name for the DOM node

Declaration

Source position: laz2_dom.pas line 260

public property TDOMNode.NodeName : DOMString
  read GetNodeName;

Description

NodeName is a read-only DOMString property that contains the name for the DOM node. The read access specifier for the property is an abstract method in TDOMNode, and must be implemented in descendent classes to return the correct value for the DOM node specializations.

The values for NodeName, NodeValue, and Attributes vary according to the node type as follows:

DOM Interface | NodeName | NodeValue | Attributes
TDOMAttr | Name of the attribute | Value of the attribute | N/A
TDOMCDATASection | #cdata-section | Content of the CDATA Section | N/A
TDOMComment | #comment | Content of the comment | N/A
TDOMDocument | #document | None | N/A
TDOMDocumentFragment | #document-fragment | None | N/A
TDOMDocumentType | Document type name | None | N/A
TDOMElement | Tag name | None | TDOMNamedNodeMap
TDOMEntity | Entity name | None | N/A
TDOMEntityReference | Name of the entity referenced | None | N/A
TDOMNotation | Notation name | None | N/A
TDOMProcessingInstruction | Target | Entire content excluding the target | N/A
TDOMText | #text | Content of the text node | N/A

See also

TDOMNode.NodeValue | Value for the DOM node
TDOMNode.NodeType | Node type for the DOM Node


TDOMNode.NodeType

Node type for the DOM Node

Declaration

Source position: laz2_dom.pas line 262

public property TDOMNode.NodeType : Integer
  read GetNodeType;

Description

NodeType is a read-only Integer property that represents the DOM node type as defined in the DOM specification. The read access specifier in TDOMNode is an abstract method, and must be implemented in a descendent class to return the correct value for the DOM node specializations.

DOM node specializations use the following values in the NodeType property:

DOM Interface | NodeType Constant | NodeType Value
TDOMElement | ELEMENT_NODE | 1
TDOMAttr | ATTRIBUTE_NODE | 2
TDOMText | TEXT_NODE | 3
TDOMCDATASection | CDATA_SECTION_NODE | 4
TDOMEntityReference | ENTITY_REFERENCE_NODE | 5
TDOMEntity | ENTITY_NODE | 6
TDOMProcessingInstruction | PROCESSING_INSTRUCTION_NODE | 7
TDOMComment | COMMENT_NODE name | 8
TDOMDocument | DOCUMENT_NODE | 9
TDOMDocumentType | DOCUMENT_TYPE_NODE | 10
TDOMDocumentFragment | DOCUMENT_FRAGMENT_NODE | 11
TDOMNotation | NOTATION_NODE | 12


TDOMNode.NodeValue

Value for the DOM node

Declaration

Source position: laz2_dom.pas line 261

public property TDOMNode.NodeValue : DOMString
  read GetNodeValue
  write SetNodeValue;

Description

NodeValue is a DOMString property that contains the value for the DOM node. Reading the value in NodeValue always results in an empty string ('') in TDOMNode, and writing the value for the property is not implemented. The access specifiers must be re-implemented in descendent classes to perform the actions required for the DOM node specializations.

The values for NodeName, NodeValue, and Attributes vary according to the node type as follows:

DOM Interface | NodeName | NodeValue | Attributes
TDOMAttr | Name of the attribute | Value of the attribute | N/A
TDOMCDATASection | #cdata-section | Content of the CDATA Section | N/A
TDOMComment | #comment | Content of the comment | N/A
TDOMDocument | #document | None | N/A
TDOMDocumentFragment | #document-fragment | None | N/A
TDOMDocumentType | Document type name | None | N/A
TDOMElement | Tag name | None | TDOMNamedNodeMap
TDOMEntity | Entity name | None | N/A
TDOMEntityReference | Name of the entity referenced | None | N/A
TDOMNotation | Notation name | None | N/A
TDOMProcessingInstruction | Target | Entire content excluding the target | N/A
TDOMText | #text | Content of the text node | N/A

See also

TDOMNode.NodeName | Name for the DOM node
TDOMNode.NodeType | Node type for the DOM Node


TDOMNode.Normalize

Normalizes text nodes and attributes in the Node sub-tree

Declaration

Source position: laz2_dom.pas line 290

public procedure TDOMNode.Normalize; virtual;


TDOMNode.OwnerDocument

DOM Document that created the DOM node

Declaration

Source position: laz2_dom.pas line 270

public property TDOMNode.OwnerDocument : TDOMDocument
  read GetOwnerDocument;

Description

OwnerDocument is a read-only TDOMDocument property that represents the DOM document that created the node. OwnerDocument can be used to get access to the complete DOM tree for a document, or to access child nodes for any DOM node owned by the OwnerDocument.

In the TDOMDocument node specialization, the value in OwnerDocument is always unassigned (contains Nil).

See also

TDOMDocument

Implements the DOM Document interface


TDOMNode.ParentNode

DOM node that is the immediate ancestor of this node

Declaration

Source position: laz2_dom.pas line 263

public property TDOMNode.ParentNode : TDOMNode
  read FParentNode;

Description

ParentNode is a read-only TDOMNode property that represents the DOM node that is the immediate ancestor of this node. All nodes, except TDOMAttr, TDOMDocument, TDOMDocumentFragment, TDOMEntity, and TDOMNotation may have a parent.

The value in ParentNode is assigned when TDOMNode methods like InsertBefore, InternalAppend, and AppendChild are called. The value in ParentNode is cleared when the DetachChild method is called, or when ChildNodes are freed.

Use ChildNodes to access the DOM nodes that are the immediate descendants of this node. Use PreviousSibling and NextSibling to access the respective DOM nodes that exist at the same Level in the DOM tree.

See also

TDOMNode.InsertBefore | Inserts a new child node immediately before the reference child node
TDOMNode.AppendChild | Appends the specified node as a child node
TDOMNode.DetachChild | Detaches the specified child node from the DOM sub-tree for the node
TDOMNode.ChildNodes | Provides access to the list of Child nodes for the current node
TDOMNode.PreviousSibling | Previous DOM Node at the same level in the DOM tree
TDOMNode.NextSibling | Next DOM Node at the same level in the DOM tree
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes


TDOMNode.Prefix

Prefix used for the assigned NameSpace in the DOM Node

Declaration

Source position: laz2_dom.pas line 294

public property TDOMNode.Prefix : DOMString
  read GetPrefix
  write SetPrefix;


TDOMNode.PreviousSibling

Previous DOM Node at the same level in the DOM tree

Declaration

Source position: laz2_dom.pas line 267

public property TDOMNode.PreviousSibling : TDOMNode
  read FPreviousSibling;

Description

PreviousSibling is a read-only TDOMNode property that represents the previous DOM node at the same level in the DOM tree. If no previous node was found at the same level, the property is unassigned (contains Nil).

Use NextSibling to access the next node at the same level in the DOM tree.

See also

TDOMNode.NextSibling

Next DOM Node at the same level in the DOM tree


TDOMNode.RemoveChild

Removes the specified child from the DOM sub-tree for this node

Declaration

Source position: laz2_dom.pas line 282

public function TDOMNode.RemoveChild(

  OldChild: TDOMNode

):TDOMNode;

Arguments

OldChild

DOM Node to locate in the DOM sub-tree

Function result

Child Node removed in the method


TDOMNode.ReplaceChild

Replaces a child node with the specified DOM node

Declaration

Source position: laz2_dom.pas line 280

public function TDOMNode.ReplaceChild(

  NewChild: TDOMNode;

  OldChild: TDOMNode

):TDOMNode; virtual;

Arguments

NewChild | New node to store in child nodes
OldChild | Old node to remove from the child nodes

Function result

Old child node replaced in the method

Description

ReplaceChild is a TDOMNode function which specifies the method used to replace a child node in the DOM sub-tree with the specified DOM node. NewChild is the DOM node to store in the DOM sub-tree. OldChild is the existing DOM node replaced with the new node value.

While TDOMNode specifies the method, it does not provide physical storage for child nodes. As a result, ReplaceChild always raises an EDOMHierarchyRequest exception and the return value is always Nil. ReplaceChild must be re-implemented in a descendent class to provide the functionality required for other DOM Node specializations.

See also

TDOMNode | Implements the DOM Node interface
TDOMNode_WithChildren | Implements the DOM Node interface
TDOMDocument | Implements the DOM Node interface
EDOMHierarchyRequest | Exception raised when a node is inserted somewhere it doesn't belong


TDOMNode.SetReadOnly

Updates the read-only Node flag for the DOM Node and it children

Declaration

Source position: laz2_dom.pas line 250

protected procedure TDOMNode.SetReadOnly(

  Value: Boolean

);

Arguments

Value

New value for the node flag


TDOMNode.TextContent

Textual representation for the DOM Node

Declaration

Source position: laz2_dom.pas line 296

public property TDOMNode.TextContent : DOMString
  read GetTextContent
  write SetTextContent;


TDOMNodeAllChildEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an enumerator that visits all Children in the sub-tree for a DOM node

Declaration

Source position: laz2_dom.pas line 212

type TDOMNodeAllChildEnumerator = class
public
constructor Create(); | Constructor for the class instance
function MoveNext; | Gets the next DOM node for the enumerator
property Current: TDOMNode; [r] | Current DOM node selected in the enumerator
function GetEnumerator; | Gets the enumerator class instance
end;

Inheritance

TDOMNodeAllChildEnumerator

Implements an enumerator that visits all Children in the sub-tree for a DOM node

|

TObject

Description

TDOMNodeAllChildEnumerator is a class used to implement an enumerator for a specified DOM node that visits all Child nodes in its sub-tree. The enumerator uses the GetNextNode method in TDOMNode to get the value in the Current property. This means it will recursively descend into ChildNodes, and is halted when the next Sibling for the specified DOM node is reached.

Use the MoveNext method to get the next DOM node for the enumerator. Use the Current property to access the currently selected DOM node.

See also

TDOMNode.GetNextNode

Gets the next Child or Sibling node for the DOM node


TDOMNodeAllChildEnumerator

ro

Current


ro

Current (TDOMNodeAllChildEnumerator)


TDOMNodeAllChildEnumerator
 | Create
 | MoveNext
 | GetEnumerator


TDOMNodeAllChildEnumerator


TDOMNodeAllChildEnumerator.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 218

public constructor TDOMNodeAllChildEnumerator.Create(

  Node: TDOMNode

);

Arguments

Node

DOM node examined in the enumerator


TDOMNodeAllChildEnumerator.Current

Current DOM node selected in the enumerator

Declaration

Source position: laz2_dom.pas line 220

public property TDOMNodeAllChildEnumerator.Current : TDOMNode
  read FCurrent;


TDOMNodeAllChildEnumerator.GetEnumerator

Gets the enumerator class instance

Declaration

Source position: laz2_dom.pas line 221

public function TDOMNodeAllChildEnumerator.GetEnumerator: TDOMNodeAllChildEnumerator;

Function result

Enumerator class instance


TDOMNodeAllChildEnumerator.MoveNext

Gets the next DOM node for the enumerator

Declaration

Source position: laz2_dom.pas line 219

public function TDOMNodeAllChildEnumerator.MoveNext: Boolean;

Function result

DOM node used as the Current value for the enumerator


TDOMNodeEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an enumerator for DOM Nodes

Declaration

Source position: laz2_dom.pas line 200

type TDOMNodeEnumerator = class
public
constructor Create(); | Constructor for the class instance
function MoveNext; | Gets the First child or the next Sibling as the Current value for the enumerator
property Current: TDOMNode; [r] | Current DOM node for the enumerator
end;

Inheritance

TDOMNodeEnumerator

Implements an enumerator for DOM Nodes
|

TObject

Description

TDOMNodeEnumerator is a class used to implement an enumerator for DOM Nodes. The enumerator is created for a specified DOM node, and provides access to the top-level children for the DOM node. It does not descend any lower than the first Child node and its Sibling nodes in the DOM sub-tree.

Use the MoveNext method to select the Child nodes in the enumerator. Use the Current property to access the current DOM node for the enumerator.

See also

TDOMNode.FirstChild | Gets the first child node for the current node
TDOMNode.NextSibling | Next DOM Node at the same level in the DOM tree


TDOMNodeEnumerator

ro

Current


ro

Current (TDOMNodeEnumerator)


TDOMNodeEnumerator
 | Create
 | MoveNext


TDOMNodeEnumerator


TDOMNodeEnumerator.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 205

public constructor TDOMNodeEnumerator.Create(

  Node: TDOMNode

);

Arguments

Node

DOM node examined in the enumerator


TDOMNodeEnumerator.Current

Current DOM node for the enumerator

Declaration

Source position: laz2_dom.pas line 207

public property TDOMNodeEnumerator.Current : TDOMNode
  read FCurrent;

See also

TDOMNode

Implements the DOM Node interface


TDOMNodeEnumerator.MoveNext

Gets the First child or the next Sibling as the Current value for the enumerator

Declaration

Source position: laz2_dom.pas line 206

public function TDOMNodeEnumerator.MoveNext: Boolean;

Function result

DOM node to use as the Current value for the enumerator

See also

TDOMNode.FirstChild | Gets the first child node for the current node
TDOMNode.NextSibling | Next DOM Node at the same level in the DOM tree


TDOMNodeList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an ordered list of DOM Nodes

Declaration

Source position: laz2_dom.pas line 344

type TDOMNodeList = class(TObject)
protected
FNode: TDOMNode;
FRevision: Integer;
FList: TFPList;
function GetCount; | Gets the value for the Length property
function GetItem(); | Gets the value for the Item property
function NodeFilter(); virtual; | Determine nodes that appear in the DOM Node list
procedure BuildList; virtual; deprecated ; | Deprecated; use NodeFilter instead
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
property Item []: TDOMNode; default; [r] | Provides indexed access to DOM Nodes in the list
property Count: LongWord; [r] | Number of DOM Nodes stored in the list
property Length: LongWord; [r] | Number of DOM Nodes stored in the list
end;

Inheritance

TDOMNodeList

Implements an ordered list of DOM Nodes
|

TObject

Description

TDOMNodeList is a class used to Implement an ordered list of DOM Nodes, as required in the DOM specification. TDOMNodeList provides internal storage for TDOMNode instances that are children of a specified DOM Node. DOM Nodes stored in TDOMNodeList are "live"; changes made to a DOM node in the list are automatically propagated to the DOM Document tree.


TDOMNodeList
 | ro | Item
 | ro | Count
 | ro | Length


TDOMNodeList
pt | GetCount
pt | GetItem
pt | NodeFilter
pt | BuildList
 | Create
 | Destroy


pt | BuildList (TDOMNodeList)
 | Create (TDOMNodeList)
 | Destroy (TDOMNodeList)
pt | GetCount (TDOMNodeList)
pt | GetItem (TDOMNodeList)
pt | NodeFilter (TDOMNodeList)


TDOMNodeList


TDOMNodeList.BuildList

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

TDOMNodeList.BuildList (deprecated)

Deprecated; use NodeFilter instead

Declaration

Source position: laz2_dom.pas line 352

protected procedure TDOMNodeList.BuildList; virtual;

Description

Deprecated; use NodeFilter instead.


TDOMNodeList.Count

Number of DOM Nodes stored in the list

Declaration

Source position: laz2_dom.pas line 357

public property TDOMNodeList.Count : LongWord
  read GetCount;

Description

Contains the same value as the Length property.


TDOMNodeList.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 354

public constructor TDOMNodeList.Create(

  ANode: TDOMNode

);

Arguments

ANode

DOM Node with the children used in the list


TDOMNodeList.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 355

public destructor TDOMNodeList.Destroy; override;


TDOMNodeList.FList

Declaration

Source position: laz2_dom.pas line 348

protected TDOMNodeList.FList : TFPList;


TDOMNodeList.FNode

Declaration

Source position: laz2_dom.pas line 346

protected TDOMNodeList.FNode : TDOMNode;


TDOMNodeList.FRevision

Declaration

Source position: laz2_dom.pas line 347

protected TDOMNodeList.FRevision : Integer;


TDOMNodeList.Item

Provides indexed access to DOM Nodes in the list

Declaration

Source position: laz2_dom.pas line 356

public property TDOMNodeList.Item[index: LongWord] : TDOMNode
  read GetItem;
  default;


TDOMNodeList.Length

Number of DOM Nodes stored in the list

Declaration

Source position: laz2_dom.pas line 358

public property TDOMNodeList.Length : LongWord
  read GetCount;

Description

Contains the same value as the Count property.


TDOMNodeList.NodeFilter

Determine nodes that appear in the DOM Node list

Declaration

Source position: laz2_dom.pas line 351

protected function TDOMNodeList.NodeFilter(

  aNode: TDOMNode

):TFilterResult; virtual;

Arguments

aNode

DOM Node to examine in the method

Function result

Filter used to select nodes in the list


TDOMNode_NS

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a DOM Node with Namespace support

Declaration

Source position: laz2_dom.pas line 580

type TDOMNode_NS = class(TDOMNode_WithChildren)
protected
FNSI: TNamespaceInfo;
function GetNodeName; override; | Gets the value for the NodeName property
function GetLocalName; override; | Gets the value for the LocalName property
function GetNamespaceURI; override; | Gets the value for the NamespaceURI property
function GetPrefix; override; | Gets the value for the Prefix property
procedure SetPrefix(); override; | Sets the value for the Prefix property
public
procedure SetNSI(); | Stores the specified Namespace URI and Prefix length in the Namespace Information for the DOM Document
function CompareName(); override; | Compares the specified value to the NodeName for the DOM node
property NSI: TNamespaceInfo; [r] | Provides access to Namespace information for the DOM node
end;

Inheritance

TDOMNode_NS | Implements a DOM Node with Namespace support
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMNode_NS is a TDOMNode_WithChildren descendant which provides support for Namespaces in DOM Nodes.

TDOMNode_NS extends the ancestor class to implement the use of XML Namespace as required in DOM Level 2. Overridden methods are provided for read and write accessors in the class which access the NodeName, LocalName, NamespaceURI and Prefix properties. It also implements the NSI property which is used to provide information about the Namespaces used in DOM Node specializations.

TDOMNode_NS is the ancestor class for the TDOM Attr and TDOMElement Node types.

See also

TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
TDOMElement | Implements the DOM Element interface from the DOM specification
TDOMAttr | Implements a DOM Node for attributes with Namspace support


TDOMNode_NS
 | ro | NSI
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | NSI (TDOMNode_NS)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
 | TextContent (TDOMNode)


TDOMNode_NS
pt | GetNodeName
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
 | SetNSI
 | CompareName
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | CompareName (TDOMNode_NS)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetLocalName (TDOMNode_NS)
pt | GetNamespaceURI (TDOMNode)
pt | GetNamespaceURI (TDOMNode_NS)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMNode_NS)
pt | GetNodeType (TDOMNode)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
pt | GetPrefix (TDOMNode_NS)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
 | SetNSI (TDOMNode_NS)
pt | SetPrefix (TDOMNode)
pt | SetPrefix (TDOMNode_NS)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMNode_NS

TDOMNode_WithChildren

TDOMNode


TDOMNode_NS.CompareName

Compares the specified value to the NodeName for the DOM node

Declaration

Source position: laz2_dom.pas line 591

public function TDOMNode_NS.CompareName(

  const AName: DOMString

):Integer; override;

Arguments

AName

Value compared to the NodeName for the DOM node

Function result

Difference between the ordinal character values for the first non-matching character in the compared names.


TDOMNode_NS.NSI

Provides access to Namespace information for the DOM node

Declaration

Source position: laz2_dom.pas line 592

public property TDOMNode_NS.NSI : TNamespaceInfo
  read FNSI;


TDOMNode_WithChildren

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Extends TDOMNode to allocate storage for child nodes

Declaration

Source position: laz2_dom.pas line 316

type TDOMNode_WithChildren = class(TDOMNode)
protected
FFirstChild: TDOMNode;
FLastChild: TDOMNode;
FChildNodes: TDOMNodeList;
function GetFirstChild; override; | Gets the first Child for the DOM node
function GetLastChild; override; | Gets the last Child for the DOM node
procedure CloneChildren(); | Makes a copy of all Child nodes in the DOM node
procedure FreeChildren; | Frees all Child nodes in the DOM node
function GetTextContent; override; | Gets the value for the TextContent property
procedure SetTextContent(); override; | Sets the value for the TextContent property
public
destructor Destroy; override; | Destructor for the class instance
function InsertBefore(); override; | Inserts a new child node immediately before the reference child node
function ReplaceChild(); override; | Replace a DOM node with another DOM node
function DetachChild(); override; | Detached the specified DOM node from the sub-tree
function HasChildNodes; override; | Indicates if the current DOM node has child nodes
function GetChildCount; override;
function FindNode(); override; | Finds a DOM node with the specified value in its NodeName property
procedure InternalAppend(); | Performs actions needed to append the specified node to the DOM sub-tree
end;

Inheritance

TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMNode_WithChildren is a TDOMNode descendant which allocates storage for child nodes in the class instance. TDOMNode_WithChildren is an extension to the Node interface in the DOM specification, and is designed to save memory in a large DOM tree.


TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeType (TDOMNode)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)


TDOMNode_WithChildren

TDOMNode


TDOMNode_WithChildren.CloneChildren

Makes a copy of all Child nodes in the DOM node

Declaration

Source position: laz2_dom.pas line 322

protected procedure TDOMNode_WithChildren.CloneChildren(

  ACopy: TDOMNode;

  ACloneOwner: TDOMDocument

);

Arguments

ACopy | DOM Node which receives the cloned child nodes
ACloneOwner | DOM Document used to create the cloned DOM nodes


TDOMNode_WithChildren.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 327

public destructor TDOMNode_WithChildren.Destroy; override;


TDOMNode_WithChildren.FChildNodes

Declaration

Source position: laz2_dom.pas line 319

protected TDOMNode_WithChildren.FChildNodes : TDOMNodeList;


TDOMNode_WithChildren.FFirstChild

Declaration

Source position: laz2_dom.pas line 318

protected TDOMNode_WithChildren.FFirstChild : TDOMNode;


TDOMNode_WithChildren.FLastChild

Declaration

Source position: laz2_dom.pas line 318

protected TDOMNode_WithChildren.FLastChild : TDOMNode;


TDOMNode_WithChildren.FreeChildren

Frees all Child nodes in the DOM node

Declaration

Source position: laz2_dom.pas line 323

protected procedure TDOMNode_WithChildren.FreeChildren;


TDOMNode_WithChildren.GetFirstChild

Gets the first Child for the DOM node

Declaration

Source position: laz2_dom.pas line 320

protected function TDOMNode_WithChildren.GetFirstChild: TDOMNode; override;

Function result

DOM Node that is the first child node in the DOM sub-tree


TDOMNode_WithChildren.GetLastChild

Gets the last Child for the DOM node

Declaration

Source position: laz2_dom.pas line 321

protected function TDOMNode_WithChildren.GetLastChild: TDOMNode; override;

Function result

DOM Node that is the last child node in the DOM sub-tree


TDOMNode_WithChildren.InternalAppend

Performs actions needed to append the specified node to the DOM sub-tree

Declaration

Source position: laz2_dom.pas line 334

public procedure TDOMNode_WithChildren.InternalAppend(

  NewChild: TDOMNode

);

Arguments

NewChild

New DOM Node appended to the DOM sub-tree


TDOMNode_WithChildren.SetTextContent

Sets the value for the TextContent property

Declaration

Source position: laz2_dom.pas line 325

protected procedure TDOMNode_WithChildren.SetTextContent(

  const AValue: DOMString

); override;

Arguments

AValue

New value for the TextContent property


TDOMNotation

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Notation interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 733

type TDOMNotation = class(TDOMNode)
protected
FName: DOMString;
FPublicID: DOMString;
FSystemID: DOMString;
function GetNodeType; override; |
function GetNodeName; override; | Gets the value for the NodeName property
public
function CloneNode(); override; overload; | Makes a copy of the DOM Node
property PublicID: DOMString; [r] | Public Identifier for the Document Type declaration
property SystemID: DOMString; [r] | System Identifier for the Document Type declaration
end;

Inheritance

TDOMNotation | Implements the DOM Notation interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject


TDOMNotation
 | ro | PublicID
 | ro | SystemID
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | PublicID (TDOMNotation)
ro | SystemID (TDOMNotation)
 | TextContent (TDOMNode)


TDOMNotation
pt | GetNodeType
pt | GetNodeName
 | CloneNode
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMNotation)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMNotation)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMNotation)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)


TDOMNotation

TDOMNode


TDOMNotation.CloneNode

Makes a copy of the DOM Node

Declaration

Source position: laz2_dom.pas line 740

public function TDOMNotation.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; override; overload;

Function result

DOM Node created in the method


TDOMNotation.FName

Declaration

Source position: laz2_dom.pas line 735

protected TDOMNotation.FName : DOMString;


TDOMNotation.FPublicID

Declaration

Source position: laz2_dom.pas line 736

protected TDOMNotation.FPublicID : DOMString;


TDOMNotation.FSystemID

Declaration

Source position: laz2_dom.pas line 736

protected TDOMNotation.FSystemID : DOMString;


TDOMNotation.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 738

protected function TDOMNotation.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMNotation.GetNodeType

Declaration

Source position: laz2_dom.pas line 737

protected function TDOMNotation.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMNotation.PublicID

Public Identifier for the Document Type declaration

Declaration

Source position: laz2_dom.pas line 741

public property TDOMNotation.PublicID : DOMString
  read FPublicID;


TDOMNotation.SystemID

System Identifier for the Document Type declaration

Declaration

Source position: laz2_dom.pas line 742

public property TDOMNotation.SystemID : DOMString
  read FSystemID;


TDOMProcessingInstruction

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM ProcessingInstruction interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 782

type TDOMProcessingInstruction = class(TDOMNode)
protected
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
function GetNodeValue; override; | Gets the value for the NodeValue property
procedure SetNodeValue(); override; | Sets the value for the NodeValue property
public
function CloneNode(); override; overload; | Makes a copy of the DOM Node
property Target: DOMString; [r] | Represent the Target for the DOM ProcessingInstruction node
property Data: DOMString; [rw] | Represents the Data for the DOM ProcessingInstruction node
end;

Inheritance

TDOMProcessingInstruction | Implements the DOM ProcessingInstruction interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMProcessingInstruction is a TDOMNode descendant that implements the DOM ProcessingInstruction Interface from the DOM specification. TDOMProcessingInstruction provides access to an XML Processor-specific instruction that occurs in a DOM Document.

TDOMProcessingInstruction provides overridden methods used as the read and write access specifiers for the DOM Node specialization. It also contains properties needed to represent the Target and Data for the DOM ProcessingInstruction.

See also

TDOMNode | Implements the DOM Node interface
TDOMProcessingInstruction.Target | Represent the Target for the DOM ProcessingInstruction node
TDOMProcessingInstruction.Data | Represents the Data for the DOM ProcessingInstruction node


TDOMProcessingInstruction
 | ro | Target
 |  | Data
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
 | Data (TDOMProcessingInstruction)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
ro | Target (TDOMProcessingInstruction)
 | TextContent (TDOMNode)


TDOMProcessingInstruction
pt | GetNodeType
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
 | CloneNode
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMProcessingInstruction)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMProcessingInstruction)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMProcessingInstruction)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMProcessingInstruction)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMProcessingInstruction)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)


TDOMProcessingInstruction

TDOMNode


TDOMProcessingInstruction.Data

Represents the Data for the DOM ProcessingInstruction node

Declaration

Source position: laz2_dom.pas line 794

public property TDOMProcessingInstruction.Data : DOMString
  read FNodeValue
  write SetNodeValue;


TDOMProcessingInstruction.Target

Represent the Target for the DOM ProcessingInstruction node

Declaration

Source position: laz2_dom.pas line 793

public property TDOMProcessingInstruction.Target : DOMString
  read FTarget;


TDOMText

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the DOM Text interface from the DOM specification

Declaration

Source position: laz2_dom.pas line 664

type TDOMText = class(TDOMCharacterData)
protected
function GetNodeType; override; | Gets the value for the NodeType property
function GetNodeName; override; | Gets the value for the NodeName property
procedure SetNodeValue(); override; | Sets the value for the NodeValue property
public
function CloneNode(); override; overload; | Makes a copy of the DOM Node
function SplitText(); | Splits the textual content at the specified offset and creates a new DOM Text node
function IsElementContentWhitespace; | Indicates if the textual content for the node is whitespace characters
end;

Inheritance

TDOMText | Implements the DOM Text interface from the DOM specification
|
TDOMCharacterData | Implements the CharacterData interface from the DOM specification
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TDOMText is a TDOMCharacterData descendant that implements the DOM Text interface from the DOM specification. TDOMText represents the textual content (called character data in XML) for a DOM Element or Attribute. It provides overridden methods which implement the NodeName and NodeValue properties as required for the DOM Node specialization.

Adjacent TDOMText nodes may be combined when the Normalize method is called for the ParentNode, and Text nodes with only whitespace in their content may be removed. This is the case when the DOM node has the value nfIgnorableWS in its Flags property.

See also

TDOMCharacterData | Implements the CharacterData interface from the DOM specification
TDOMNode.Normalize | Normalizes text nodes and attributes in the Node sub-tree
TDOMNode.Flags | Provides access to the Node Flags for the DOM Node
TNodeFlags | Set used to store TNodeFlagEnum values
TNodeFlagEnum | Enumeration with flag values for DOM Nodes


TDOMText
TDOMCharacterData
 |  | Data
 | ro | Length
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


TDOMText
pt | GetNodeType
pt | GetNodeName
pt | SetNodeValue
 | CloneNode
 | SplitText
 | IsElementContentWhitespace
TDOMCharacterData
pt | GetLength
pt | GetNodeValue
pt | SetNodeValue
 | SubstringData
 | AppendData
 | InsertData
 | DeleteData
 | ReplaceData
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Changing (TDOMNode)
 | CloneNode (TDOMNode)
 | CloneNode (TDOMText)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | DeleteData (TDOMCharacterData)
 | Destroy (TDOMNode)
 | DetachChild (TDOMNode)
 | FindNode (TDOMNode)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildNodes (TDOMNode)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetLastChild (TDOMNode)
 | GetLastLeaf (TDOMNode)
pt | GetLength (TDOMCharacterData)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMText)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMText)
pt | GetNodeValue (TDOMNode)
pt | GetNodeValue (TDOMCharacterData)
pt | GetOwnerDocument (TDOMNode)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | InsertBefore (TDOMNode)
 | InsertData (TDOMCharacterData)
 | IsDefaultNamespace (TDOMNode)
 | IsElementContentWhitespace (TDOMText)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
 | ReplaceChild (TDOMNode)
 | ReplaceData (TDOMCharacterData)
pt | SetNodeValue (TDOMNode)
pt | SetNodeValue (TDOMCharacterData)
pt | SetNodeValue (TDOMText)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
 | SplitText (TDOMText)
 | SubstringData (TDOMCharacterData)


TDOMText

TDOMCharacterData

TDOMNode


TDOMText.CloneNode

Makes a copy of the DOM Node

Declaration

Source position: laz2_dom.pas line 670

public function TDOMText.CloneNode(

  deep: Boolean;

  ACloneOwner: TDOMDocument

):TDOMNode; override; overload;

Arguments

deep | Indicates if child nodes in the sub-tree are included in the cloned DOM node
ACloneOwner | DOM Document used to create the cloned DOM node

Function result

New DOM Node created in the method


TDOMText.GetNodeName

Gets the value for the NodeName property

Declaration

Source position: laz2_dom.pas line 667

protected function TDOMText.GetNodeName: DOMString; override;

Function result

Value for the NodeName property


TDOMText.GetNodeType

Gets the value for the NodeType property

Declaration

Source position: laz2_dom.pas line 666

protected function TDOMText.GetNodeType: Integer; override;

Function result

Value for the NodeType property


TDOMText.IsElementContentWhitespace

Indicates if the textual content for the node is whitespace characters

Declaration

Source position: laz2_dom.pas line 672

public function TDOMText.IsElementContentWhitespace: Boolean;

Function result

True when nfIgnorableWS is included in the Flags for the DOM node


TDOMText.SetNodeValue

Sets the value for the NodeValue property

Declaration

Source position: laz2_dom.pas line 668

protected procedure TDOMText.SetNodeValue(

  const aValue: DOMString

); override;

Arguments

aValue

New value for the NodeValue property


TDOMText.SplitText

Splits the textual content at the specified offset and creates a new DOM Text node

Declaration

Source position: laz2_dom.pas line 671

public function TDOMText.SplitText(

  offset: LongWord

):TDOMText;

Arguments

offset

Offset in the textual content where the Text node is split

Function result

New DOM node created in the method


TNodePool

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Provides custom memory management when DOM Nodes are created

Declaration

Source position: laz2_dom.pas line 831

type TNodePool = class(TObject)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function AllocNode(); |
procedure FreeNode(); |
end;

Inheritance

TNodePool

Provides custom memory management when DOM Nodes are created
|

TObject

Description

TNodePool is a class used to provide custom memory management when DOM Nodes are created in a DOM Document. Each TNodePool instance manages objects with the same instance size (and may be different classes). TDOMDocument provides an internal array of TNodePool instances that are maintained when DOM Nodes are created in its Alloc method.

See also

TNodePoolArray | Implements an array of TNodePool instances
TDOMNode | Implements the DOM Node interface
TDOMDocument.Alloc | Ensures the DOM node class type is allocated using the Node pool for the document


TNodePool


TNodePool
 | Create
 | Destroy
 | AllocNode
 | FreeNode


AllocNode (TNodePool)

Create (TNodePool)

Destroy (TNodePool)

FreeNode (TNodePool)


TNodePool.AllocNode

Declaration

Source position: laz2_dom.pas line 842

public function TNodePool.AllocNode(

  AClass: TDOMNodeClass

):TDOMNode;


TNodePool.Create

Constructor for the class instance

Declaration

Source position: laz2_dom.pas line 840

public constructor TNodePool.Create(

  AElementSize: Integer;

  AElementCount: Integer = 32

);


TNodePool.Destroy

Destructor for the class instance

Declaration

Source position: laz2_dom.pas line 841

public destructor TNodePool.Destroy; override;


TNodePool.FreeNode

Declaration

Source position: laz2_dom.pas line 843

public procedure TNodePool.FreeNode(

  ANode: TDOMNode

);


TNodePoolArray

Implements an array of TNodePool instances

Declaration

Source position: laz2_dom.pas line 105

type TNodePoolArray = array [0..MaxIntdivsizeof(Pointer)-1] of TNodePool;


TXMLDocument

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an XML Document

Declaration

Source position: laz2_dom.pas line 540

type TXMLDocument = class(TDOMDocument)
public
Encoding: DOMString; | Encoding used for the XML Document
StylesheetType: DOMString; | Type of Stylesheet represented by the StylesheetHRef property
StylesheetHRef: DOMString; | URL for the Stylesheet to use for the Document
function CreateCDATASection(); override; | Creates a new CDATA section in the document
function CreateProcessingInstruction(); override; | Creates a new Processing Instruction in the document
function CreateEntityReference(); override; | Creates a new Entity Reference in the document
property XMLVersion: DOMString; [rw] | XML Version number supported in the document
end;

Inheritance

TXMLDocument | Implements an XML Document
|
TDOMDocument | Implements the DOM Document interface
|
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
|
TDOMNode | Implements the DOM Node interface
|
TObject

Description

TXMLDocument is a TDOMDocument descendant that implements an XML Document. TXMLDocument provides extensions to the DOM Document interface needed when working with an XML Document. This includes the XMLVersion, Encoding, StylesheetType, and StylesheetHRef properties. Overridden methods are also provided to handle creation of CDATA sections and Processing Instructions using valid XML names for the XMLVersion used in the document.

See also

TDOMDocument

Implements the DOM Document interface


TXMLDocument
 |  | XMLVersion
TDOMDocument
 | ro | DocType
 | ro | Impl
 | ro | DocumentElement
 |  | documentURI
 | ro | Names
TDOMNode_WithChildren
TDOMNode
 | ro | NodeName
 |  | NodeValue
 | ro | NodeType
 | ro | ParentNode
 | ro | FirstChild
 | ro | LastChild
 | ro | ChildNodes
 | ro | PreviousSibling
 | ro | NextSibling
 | ro | Attributes
 | ro | OwnerDocument
 | ro | NamespaceURI
 | ro | LocalName
 |  | Prefix
 |  | TextContent
 | ro | baseURI
 | ro | Flags


ro | Attributes (TDOMNode)
ro | baseURI (TDOMNode)
ro | ChildNodes (TDOMNode)
ro | DocType (TDOMDocument)
ro | DocumentElement (TDOMDocument)
 | documentURI (TDOMDocument)
ro | FirstChild (TDOMNode)
ro | Flags (TDOMNode)
ro | Impl (TDOMDocument)
ro | LastChild (TDOMNode)
ro | LocalName (TDOMNode)
ro | Names (TDOMDocument)
ro | NamespaceURI (TDOMNode)
ro | NextSibling (TDOMNode)
ro | NodeName (TDOMNode)
ro | NodeType (TDOMNode)
 | NodeValue (TDOMNode)
ro | OwnerDocument (TDOMNode)
ro | ParentNode (TDOMNode)
 | Prefix (TDOMNode)
ro | PreviousSibling (TDOMNode)
 | TextContent (TDOMNode)
 | XMLVersion (TXMLDocument)


TXMLDocument
 | CreateCDATASection
 | CreateProcessingInstruction
 | CreateEntityReference
TDOMDocument
pt | GetDocumentElement
pt | GetDocType
pt | GetNodeType
pt | GetNodeName
pt | GetTextContent
pt | GetOwnerDocument
pt | SetTextContent
pt | RemoveID
pt | GetChildNodeList
pt | GetElementList
pt | NodeListDestroyed
pt | Alloc
 | IndexOfNS
 | InsertBefore
 | ReplaceChild
 | CreateElement
 | CreateElementBuf
 | CreateDocumentFragment
 | CreateTextNode
 | CreateTextNodeBuf
 | CreateComment
 | CreateCommentBuf
 | CreateCDATASection
 | CreateProcessingInstruction
 | CreateAttribute
 | CreateAttributeBuf
 | CreateAttributeDef
 | CreateEntityReference
 | GetElementsByTagName
 | ImportNode
 | CreateElementNS
 | CreateAttributeNS
 | GetElementsByTagNameNS
 | GetElementById
 | Create
 | Destroy
 | AddID
TDOMNode_WithChildren
pt | GetFirstChild
pt | GetLastChild
pt | CloneChildren
pt | FreeChildren
pt | GetTextContent
pt | SetTextContent
 | Destroy
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | HasChildNodes
 | GetChildCount
 | FindNode
 | InternalAppend
TDOMNode
pt | GetNodeName
pt | GetNodeValue
pt | SetNodeValue
pt | GetFirstChild
pt | GetLastChild
pt | GetAttributes
pt | GetRevision
pt | GetNodeType
pt | GetTextContent
pt | SetTextContent
pt | GetLocalName
pt | GetNamespaceURI
pt | GetPrefix
pt | SetPrefix
pt | GetOwnerDocument
pt | GetBaseURI
pt | SetReadOnly
pt | Changing
 | Create
 | Destroy
 | FreeInstance
 | GetChildNodes
 | GetChildCount
 | GetEnumerator
 | GetEnumeratorAllChildren
 | GetNextNode
 | GetNextNodeSkipChildren
 | GetPreviousNode
 | GetLastLeaf
 | GetLevel
 | InsertBefore
 | ReplaceChild
 | DetachChild
 | RemoveChild
 | AppendChild
 | HasChildNodes
 | CloneNode
 | IsSupported
 | HasAttributes
 | Normalize
 | LookupPrefix
 | LookupNamespaceURI
 | IsDefaultNamespace
 | FindNode
 | CompareName


pt | Alloc (TDOMDocument)
 | AppendChild (TDOMNode)
pt | Changing (TDOMNode)
pt | CloneChildren (TDOMNode_WithChildren)
 | CloneNode (TDOMNode)
 | CompareName (TDOMNode)
 | Create (TDOMNode)
 | Create (TDOMDocument)
 | CreateAttribute (TDOMDocument)
 | CreateAttributeBuf (TDOMDocument)
 | CreateAttributeDef (TDOMDocument)
 | CreateAttributeNS (TDOMDocument)
 | CreateCDATASection (TDOMDocument)
 | CreateCDATASection (TXMLDocument)
 | CreateComment (TDOMDocument)
 | CreateCommentBuf (TDOMDocument)
 | CreateDocumentFragment (TDOMDocument)
 | CreateElement (TDOMDocument)
 | CreateElementBuf (TDOMDocument)
 | CreateElementNS (TDOMDocument)
 | CreateEntityReference (TDOMDocument)
 | CreateEntityReference (TXMLDocument)
 | CreateProcessingInstruction (TDOMDocument)
 | CreateProcessingInstruction (TXMLDocument)
 | CreateTextNode (TDOMDocument)
 | CreateTextNodeBuf (TDOMDocument)
 | Destroy (TDOMNode)
 | Destroy (TDOMNode_WithChildren)
 | Destroy (TDOMDocument)
 | DetachChild (TDOMNode)
 | DetachChild (TDOMNode_WithChildren)
 | FindNode (TDOMNode)
 | FindNode (TDOMNode_WithChildren)
pt | FreeChildren (TDOMNode_WithChildren)
 | FreeInstance (TDOMNode)
pt | GetAttributes (TDOMNode)
pt | GetBaseURI (TDOMNode)
 | GetChildCount (TDOMNode)
 | GetChildCount (TDOMNode_WithChildren)
pt | GetChildNodeList (TDOMDocument)
 | GetChildNodes (TDOMNode)
pt | GetDocType (TDOMDocument)
pt | GetDocumentElement (TDOMDocument)
 | GetElementById (TDOMDocument)
pt | GetElementList (TDOMDocument)
 | GetElementsByTagName (TDOMDocument)
 | GetElementsByTagNameNS (TDOMDocument)
 | GetEnumerator (TDOMNode)
 | GetEnumeratorAllChildren (TDOMNode)
pt | GetFirstChild (TDOMNode)
pt | GetFirstChild (TDOMNode_WithChildren)
pt | GetLastChild (TDOMNode)
pt | GetLastChild (TDOMNode_WithChildren)
 | GetLastLeaf (TDOMNode)
 | GetLevel (TDOMNode)
pt | GetLocalName (TDOMNode)
pt | GetNamespaceURI (TDOMNode)
 | GetNextNode (TDOMNode)
 | GetNextNodeSkipChildren (TDOMNode)
pt | GetNodeName (TDOMNode)
pt | GetNodeName (TDOMDocument)
pt | GetNodeType (TDOMNode)
pt | GetNodeType (TDOMDocument)
pt | GetNodeValue (TDOMNode)
pt | GetOwnerDocument (TDOMNode)
pt | GetOwnerDocument (TDOMDocument)
pt | GetPrefix (TDOMNode)
 | GetPreviousNode (TDOMNode)
pt | GetRevision (TDOMNode)
pt | GetTextContent (TDOMNode)
pt | GetTextContent (TDOMNode_WithChildren)
pt | GetTextContent (TDOMDocument)
 | HasAttributes (TDOMNode)
 | HasChildNodes (TDOMNode)
 | HasChildNodes (TDOMNode_WithChildren)
 | ImportNode (TDOMDocument)
 | IndexOfNS (TDOMDocument)
 | InsertBefore (TDOMNode)
 | InsertBefore (TDOMNode_WithChildren)
 | InsertBefore (TDOMDocument)
 | InternalAppend (TDOMNode_WithChildren)
 | IsDefaultNamespace (TDOMNode)
 | IsSupported (TDOMNode)
 | LookupNamespaceURI (TDOMNode)
 | LookupPrefix (TDOMNode)
pt | NodeListDestroyed (TDOMDocument)
 | Normalize (TDOMNode)
 | RemoveChild (TDOMNode)
pt | RemoveID (TDOMDocument)
 | ReplaceChild (TDOMNode)
 | ReplaceChild (TDOMNode_WithChildren)
 | ReplaceChild (TDOMDocument)
pt | SetNodeValue (TDOMNode)
pt | SetPrefix (TDOMNode)
pt | SetReadOnly (TDOMNode)
pt | SetTextContent (TDOMNode)
pt | SetTextContent (TDOMNode_WithChildren)
pt | SetTextContent (TDOMDocument)


TXMLDocument

TDOMDocument

TDOMNode_WithChildren

TDOMNode


TXMLDocument.CreateCDATASection

Creates a new CDATA section in the document

Declaration

Source position: laz2_dom.pas line 548

public function TXMLDocument.CreateCDATASection(

  const data: DOMString

):TDOMCDATASection; override;

Arguments

data

Character data to include in the CDATA section

Function result

DOM CDATA section created in the method


TXMLDocument.CreateEntityReference

Creates a new Entity Reference in the document

Declaration

Source position: laz2_dom.pas line 551

public function TXMLDocument.CreateEntityReference(

  const name: DOMString

):TDOMEntityReference; override;

Arguments

name

Name for the Entity Reference

Function result

DOM Entity Reference created in the method


TXMLDocument.CreateProcessingInstruction

Creates a new Processing Instruction in the document

Declaration

Source position: laz2_dom.pas line 549

public function TXMLDocument.CreateProcessingInstruction(

  const target: DOMString;

  const data: DOMString

):TDOMProcessingInstruction; override;

Arguments

target | Target for the Processing Instruction
data | Data for the Processing Instruction

Function result

DOM Processing Instruction created in the method


TXMLDocument.Encoding

Encoding used for the XML Document

Declaration

Source position: laz2_dom.pas line 546

public TXMLDocument.Encoding : DOMString;


TXMLDocument.StylesheetHRef

URL for the Stylesheet to use for the Document

Declaration

Source position: laz2_dom.pas line 546

public TXMLDocument.StylesheetHRef : DOMString;


TXMLDocument.StylesheetType

Type of Stylesheet represented by the StylesheetHRef property

Declaration

Source position: laz2_dom.pas line 546

public TXMLDocument.StylesheetType : DOMString;


TXMLDocument.XMLVersion

XML Version number supported in the document

Declaration

Source position: laz2_dom.pas line 552

public property TXMLDocument.XMLVersion : DOMString
  read FXMLVersion
  write SetXMLVersion;


TRttiXMLConfig

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an XML configuration file with RTTI support

Declaration

Source position: laz2_xmlcfg.pas line 146

type TRttiXMLConfig = class(TXMLConfig)
protected
procedure WriteProperty(); | Writes a property value from an object to the specified path in the XML Document
procedure ReadProperty(); | Stores the value for the specified path to a property in an object instance.
public
procedure WriteObject(); | Stores property values from an object to the specified path in the document
procedure ReadObject(); | Stores property values from the specified path to an object instance
end;

Inheritance

TRttiXMLConfig | Implements an XML configuration file with RTTI support
|
TXMLConfig | Implements a class used to access and maintain an XML configuration data file
|
TComponent,IUnknown,IInterfaceComponentReference
|
TPersistent,IFPObserved
|
TObject

Description

TRttiXMLConfig is a TXMLConfig descendant which implements support for reading and writing objects and their property values using RTTI (Run-Time Type Information). TRttiXMLConfig extends the ancestor class to include methods used to read and write objects, or just specific properties, using path specifiers supported in the class. See the TXMLConfig Path Syntax topic for more information about path specifiers in TXMLConfig.

Type information provided by RTTI (Run-Time Type Information) is used to determine the value and formatting used for supported data types. Supported RTTI type kinds include:

  • tkChar
  • tkWChar
  • tkSString
  • tkLString
  • tkAString
  • tkInteger
  • tkFloat
  • tkEnumeration
  • tkSet
  • tkBool
  • tkClass
Remark: Please note: Properties must be implemented with both getter and setter procedures to be available for use in TRttiXMLConfig. Properties which do not use both types of procedure are ignored.

See also

TXMLConfig | Implements a class used to access and maintain an XML configuration data file
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TRttiXMLConfig
TXMLConfig
 |  | Modified
pl |  | Filename
pl | ro | Document
pl |  | ReadFlags
pl |  | WriteFlags
TComponent
 | ro | ComObject
 | ro | Components
 | ro | ComponentCount
 |  | ComponentIndex
 | ro | ComponentState
 | ro | ComponentStyle
 |  | DesignInfo
 | ro | Owner
 |  | VCLComObject
 |  | Name
 |  | Tag
TPersistent
TObject


 | ro | ComObject (TComponent)
 | ro | ComponentCount (TComponent)
 |  | ComponentIndex (TComponent)
 | ro | Components (TComponent)
 | ro | ComponentState (TComponent)
 | ro | ComponentStyle (TComponent)
 |  | DesignInfo (TComponent)
pl | ro | Document (TXMLConfig)
pl |  | Filename (TXMLConfig)
 |  | Modified (TXMLConfig)
 |  | Name (TComponent)
 | ro | Owner (TComponent)
pl |  | ReadFlags (TXMLConfig)
 |  | Tag (TComponent)
 |  | VCLComObject (TComponent)
pl |  | WriteFlags (TXMLConfig)


TRttiXMLConfig
pt | WriteProperty
pt | ReadProperty
 | WriteObject
 | ReadObject
TXMLConfig
pt | Loaded
pt | ExtendedToStr
pt | StrToExtended
pt | ReadXMLFile
pt | WriteXMLFile
pt | FreeDoc
pt | SetPathNodeCache
pt | GetCachedPathNode
pt | InvalidateCacheTilEnd
pt | InternalFindNode
pt | InternalCleanNode
pt | FindChildNode
 | Create
 | CreateClean
 | CreateWithSource
 | Destroy
 | Clear
 | Flush
 | ReadFromStream
 | WriteToStream
 | GetValue
 | GetExtendedValue
 | SetValue
 | SetDeleteValue
 | SetExtendedValue
 | SetDeleteExtendedValue
 | DeletePath
 | DeleteValue
 | FindNode
 | HasPath
 | HasChildPaths
 | GetChildCount
 | IsLegacyList
 | GetListItemCount
 | GetListItemXPath
 | SetListItemCount
 | InvalidatePathCache
TComponent
 | GetComObject
 | GetComponent
 | GetComponentCount
 | GetComponentIndex
 | Insert
 | ReadLeft
 | ReadTop
 | Remove
 | RemoveNotification
 | SetComponentIndex
 | SetReference
 | WriteLeft
 | WriteTop
 | ChangeName
 | DefineProperties
 | GetChildren
 | GetChildOwner
 | GetChildParent
 | GetOwner
 | Loaded
 | Loading
 | Notification
 | PaletteCreated
 | ReadState
 | SetAncestor
 | SetDesigning
 | SetDesignInstance
 | SetInline
 | SetName
 | SetChildOrder
 | SetParentComponent
 | Updating
 | Updated
 | UpdateRegistry
 | ValidateRename
 | ValidateContainer
 | ValidateInsert
 | QueryInterface
 | _AddRef
 | _Release
 | iicrGetComponent
 | GetTypeInfoCount
 | GetTypeInfo
 | GetIDsOfNames
 | Invoke
 | WriteState
 | Create
 | Destroy
 | BeforeDestruction
 | DestroyComponents
 | Destroying
 | ExecuteAction
 | FindComponent
 | FreeNotification
 | RemoveFreeNotification
 | FreeOnRelease
 | GetEnumerator
 | GetNamePath
 | GetParentComponent
 | HasParent
 | InsertComponent
 | RemoveComponent
 | SafeCallException
 | SetSubComponent
 | UpdateAction
 | IsImplementorOf
 | ReferenceInterface
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeforeDestruction (TComponent)
 | ChangeName (TComponent)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TXMLConfig)
 | Create (TObject)
 | Create (TComponent)
 | Create (TXMLConfig)
 | CreateClean (TXMLConfig)
 | CreateWithSource (TXMLConfig)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TComponent)
 | DeletePath (TXMLConfig)
 | DeleteValue (TXMLConfig)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TComponent)
 | Destroy (TXMLConfig)
 | DestroyComponents (TComponent)
 | Destroying (TComponent)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | ExecuteAction (TComponent)
pt | ExtendedToStr (TXMLConfig)
 | FieldAddress (TObject)
pt | FindChildNode (TXMLConfig)
 | FindComponent (TComponent)
 | FindNode (TXMLConfig)
 | Flush (TXMLConfig)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
pt | FreeDoc (TXMLConfig)
 | FreeInstance (TObject)
 | FreeNotification (TComponent)
 | FreeOnRelease (TComponent)
pt | GetCachedPathNode (TXMLConfig)
 | GetChildCount (TXMLConfig)
 | GetChildOwner (TComponent)
 | GetChildParent (TComponent)
 | GetChildren (TComponent)
 | GetComObject (TComponent)
 | GetComponent (TComponent)
 | GetComponentCount (TComponent)
 | GetComponentIndex (TComponent)
 | GetEnumerator (TComponent)
 | GetExtendedValue (TXMLConfig)
 | GetHashCode (TObject)
 | GetIDsOfNames (TComponent)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetListItemCount (TXMLConfig)
 | GetListItemXPath (TXMLConfig)
 | GetNamePath (TPersistent)
 | GetNamePath (TComponent)
 | GetOwner (TPersistent)
 | GetOwner (TComponent)
 | GetParentComponent (TComponent)
 | GetTypeInfo (TComponent)
 | GetTypeInfoCount (TComponent)
 | GetValue (TXMLConfig)
 | HasChildPaths (TXMLConfig)
 | HasParent (TComponent)
 | HasPath (TXMLConfig)
 | iicrGetComponent (TComponent)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TComponent)
 | InsertComponent (TComponent)
 | InstanceSize (TObject)
pt | InternalCleanNode (TXMLConfig)
pt | InternalFindNode (TXMLConfig)
pt | InvalidateCacheTilEnd (TXMLConfig)
 | InvalidatePathCache (TXMLConfig)
 | Invoke (TComponent)
 | IsImplementorOf (TComponent)
 | IsLegacyList (TXMLConfig)
 | Loaded (TComponent)
pt | Loaded (TXMLConfig)
 | Loading (TComponent)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
 | Notification (TComponent)
 | PaletteCreated (TComponent)
 | QueryInterface (TComponent)
 | ReadFromStream (TXMLConfig)
 | ReadLeft (TComponent)
 | ReadObject (TRttiXMLConfig)
pt | ReadProperty (TRttiXMLConfig)
 | ReadState (TComponent)
 | ReadTop (TComponent)
pt | ReadXMLFile (TXMLConfig)
 | ReferenceInterface (TComponent)
 | Remove (TComponent)
 | RemoveComponent (TComponent)
 | RemoveFreeNotification (TComponent)
 | RemoveNotification (TComponent)
 | SafeCallException (TObject)
 | SafeCallException (TComponent)
 | SetAncestor (TComponent)
 | SetChildOrder (TComponent)
 | SetComponentIndex (TComponent)
 | SetDeleteExtendedValue (TXMLConfig)
 | SetDeleteValue (TXMLConfig)
 | SetDesigning (TComponent)
 | SetDesignInstance (TComponent)
 | SetExtendedValue (TXMLConfig)
 | SetInline (TComponent)
 | SetListItemCount (TXMLConfig)
 | SetName (TComponent)
 | SetParentComponent (TComponent)
pt | SetPathNodeCache (TXMLConfig)
 | SetReference (TComponent)
 | SetSubComponent (TComponent)
 | SetValue (TXMLConfig)
 | StringMessageTable (TObject)
pt | StrToExtended (TXMLConfig)
 | ToString (TObject)
 | UnitName (TObject)
 | UpdateAction (TComponent)
 | Updated (TComponent)
 | UpdateRegistry (TComponent)
 | Updating (TComponent)
 | ValidateContainer (TComponent)
 | ValidateInsert (TComponent)
 | ValidateRename (TComponent)
 | WriteLeft (TComponent)
 | WriteObject (TRttiXMLConfig)
pt | WriteProperty (TRttiXMLConfig)
 | WriteState (TComponent)
 | WriteTop (TComponent)
 | WriteToStream (TXMLConfig)
pt | WriteXMLFile (TXMLConfig)
 | _AddRef (TComponent)
 | _Release (TComponent)


TRttiXMLConfig

TXMLConfig

TComponent

TPersistent

TObject


TRttiXMLConfig.ReadObject

Stores property values from the specified path to an object instance

Declaration

Source position: laz2_xmlcfg.pas line 157

public procedure TRttiXMLConfig.ReadObject(

  Path: string;

  Obj: TPersistent;

  DefObject: TPersistent = Nil;

  OnlyProperty: string = ''

);

Arguments

Path | Path with the property values loaded into the object in the method
Obj | Object instance where property values are stored
DefObject | Object instance with default values used for properties in the method
OnlyProperty | List of property names included in the process, or all properties when omitted

See also

TRttiXMLConfig.ReadProperty | Stores the value for the specified path to a property in an object instance.
TRttiXMLConfig.WriteObject | Stores property values from an object to the specified path in the document


TRttiXMLConfig.ReadProperty

Stores the value for the specified path to a property in an object instance.

Declaration

Source position: laz2_xmlcfg.pas line 151

protected procedure TRttiXMLConfig.ReadProperty(

  Path: string;

  Instance: TPersistent;

  PropInfo: Pointer;

  DefInstance: TPersistent = Nil;

  OnlyProperty: string = ''

);

Arguments

Path | Path where the value is stored in the Document
Instance | Object instance where the value is stored
PropInfo | RTTI property information for the update property
DefInstance | Object instance with the default value for the property
OnlyProperty | List of property names included in the process; all properties are included when omitted


TRttiXMLConfig.WriteObject

Stores property values from an object to the specified path in the document

Declaration

Source position: laz2_xmlcfg.pas line 155

public procedure TRttiXMLConfig.WriteObject(

  Path: string;

  Obj: TPersistent;

  DefObject: TPersistent = Nil;

  OnlyProperty: string = ''

);

Arguments

Path | Path used as a container for property values from the object
Obj | Object instance with property values written in the method
DefObject | Object instance with the default values for the properties
OnlyProperty | List of property names included in the process, or all properties when omitted

See also

TRttiXMLConfig.WriteProperty | Writes a property value from an object to the specified path in the XML Document
TRttiXMLConfig.ReadObject | Stores property values from the specified path to an object instance


TRttiXMLConfig.WriteProperty

Writes a property value from an object to the specified path in the XML Document

Declaration

Source position: laz2_xmlcfg.pas line 148

protected procedure TRttiXMLConfig.WriteProperty(

  Path: string;

  Instance: TPersistent;

  PropInfo: Pointer;

  DefInstance: TPersistent = Nil;

  OnlyProperty: string = ''

);

Arguments

Path | Path to the DOM node where property values are stored
Instance | Object instance with property value examined in the method
PropInfo | RTTI property information used to get the value written in the method
DefInstance | Object instance used to provide a default value for the property
OnlyProperty | List of property names included in the process; all properties are included when omitted


TXMLConfig

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a class used to access and maintain an XML configuration data file

Declaration

Source position: laz2_xmlcfg.pas line 43

type TXMLConfig = class(TComponent)
protected
Type
TDomNodeArray = array of TDOMNode;
TNodeCache = record
public
Node: TDOMNode;
NodeSearchName: string;
ChildrenValid: Boolean;
Children: TDomNodeArray;
NodeListName: string;
NodeList: TDomNodeArray;
class procedure GrowArray();
procedure RefreshChildren;
procedure RefreshChildrenIfNeeded;
procedure RefreshNodeList();
procedure RefreshNodeListIfNeeded();
function AddNodeToList;
end;
doc: TXMLDocument; | Internal member with the TXMLDocument for the class instance
FModified: Boolean; | Member used to indicate the configuration file has been modified
fDoNotLoadFromFile: Boolean; | Member used to indicate that the data was created manually, and not loaded from a file or stream
fAutoLoadFromSource: string; | Member used to store String content loaded into the configuration file
fPathCache: string; |
fPathNodeCache: ; | Member used to cache DOM nodes accessed using paths in the class instance
procedure Loaded; override; | Signals that LCL component streaming has been completed
function ExtendedToStr(); | Converts an extended value to its representation as a String
function StrToExtended(); | Converts the specified String value to an Extended data type
procedure ReadXMLFile(); virtual; | Reads the XML content from the specified file into a TXMLDocument instance
procedure WriteXMLFile(); virtual; | Writes XML configuration data in Document to the specified file name
procedure FreeDoc; virtual; | Frees the TXMLDocument instance for the XML configuration file
procedure SetPathNodeCache(); | Ensures a DOM node is present in the internal cache for the class instance
function GetCachedPathNode(); | Gets a cached DOM node starting at the specified position in the cache
procedure InvalidateCacheTilEnd(); | Removes DOM nodes from the internal cache starting at the specified ordinal position
function InternalFindNode(); | Searches for the DOM node with the specified path, and updates the node cache
procedure InternalCleanNode(); | Removes the specified node and all of its children from the Document
function FindChildNode();
public
constructor Create(); | Constructor for the class instance
constructor CreateClean(); | Alternate constructor used to create the class without reading existing XML content in the specified file
constructor CreateWithSource(); | Alternate constructor used to create the class using the XML content specified in Source
destructor Destroy; override; | Destructor for the class instance
procedure Clear; | Removes existing XML content in the Document property
procedure Flush; | Forces the XML content for the configuration file to be written to Filename
procedure ReadFromStream(); | Reads the XML content in Document from the specified stream instance
procedure WriteToStream(); | Writes the XML content for the configuration file to the specified stream instance
function GetValue(); | Gets the value from the DOM node at the specified path in the XML configuration file
function GetExtendedValue(); | Gets the value for a DOM node at the specified path as an extended data type
procedure SetValue(); | Sets the value in a DOM node at the specified path
procedure SetDeleteValue(); | Updates or removes the value at the specified path
procedure SetExtendedValue(); | Sets the value in the DOM node at the specified path using an extended data type
procedure SetDeleteExtendedValue(); | Updates or removes the Extended value at the specified path
procedure DeletePath(); | Deletes the DOM node at the specified path in the Document
procedure DeleteValue(); | Deletes the value stored in the DOM node at the specified path
function FindNode(); | Retrieves the DOM node with the specified path
function HasPath(); | Indicates if a DOM node exists for the specified path
function HasChildPaths(); | Indicates if the DOM node at the specified path has child nodes
function GetChildCount(); | Gets the number of child nodes used in the DOM node at the specified path
function IsLegacyList(); |
function GetListItemCount(); |
class function GetListItemXPath(); | Gets the path specifier used to access a list item at the specified position
procedure SetListItemCount(); |
property Modified: Boolean; [rw] | Indicates if the XML content in the class has been modified
procedure InvalidatePathCache; | Removes cached DOM nodes for paths in the XML configuration file
published
property Filename: string; [rw] | File name used to read or write the XML content in the class instance
property Document: TXMLDocument; [r] | XML document used for the class instance
property ReadFlags: TXMLReaderFlags; [rw] | TXMLReaderFlags for the XML configuration file
property WriteFlags: TXMLWriterFlags; [rw] | TXMLWriteFlags for the XML configuration file
end;

Inheritance

TXMLConfig

Implements a class used to access and maintain an XML configuration data file

|

TComponent,IUnknown,IInterfaceComponentReference
|

TPersistent,IFPObserved
|

TObject

Description

TXMLConfig is a TComponent descendant used to store configuration data using XML format. TXMLConfig is a simpler mechanism for accessing the content in an XML document. It uses path specifiers to describe the hierarchy of elements and attribute values, instead of focusing on DOM nodes. See the TXMLConfig Path Syntax topic for more information about path specifiers in TXMLConfig.

TXMLConfig provides method used to get or set the value for a path specifier in the XML document. Overloaded methods are includes to handle values using String, Integer, Extended, TRect, or Boolean data types. See the Using TXMLConfig topic for more information about using TXMLConfig.

See also

TXMLConfig-Using | Using TXMLConfig
TXMLConfig-PathSyntax | TXMLConfig Path Syntax
TRttiXMLConfig | Implements an XML configuration file with RTTI support


TXMLConfig
 |  | Modified
pl |  | Filename
pl | ro | Document
pl |  | ReadFlags
pl |  | WriteFlags
TComponent
 | ro | ComObject
 | ro | Components
 | ro | ComponentCount
 |  | ComponentIndex
 | ro | ComponentState
 | ro | ComponentStyle
 |  | DesignInfo
 | ro | Owner
 |  | VCLComObject
 |  | Name
 |  | Tag
TPersistent
TObject


TXMLConfig
pt | Loaded
pt | ExtendedToStr
pt | StrToExtended
pt | ReadXMLFile
pt | WriteXMLFile
pt | FreeDoc
pt | SetPathNodeCache
pt | GetCachedPathNode
pt | InvalidateCacheTilEnd
pt | InternalFindNode
pt | InternalCleanNode
pt | FindChildNode
 | Create
 | CreateClean
 | CreateWithSource
 | Destroy
 | Clear
 | Flush
 | ReadFromStream
 | WriteToStream
 | GetValue
 | GetExtendedValue
 | SetValue
 | SetDeleteValue
 | SetExtendedValue
 | SetDeleteExtendedValue
 | DeletePath
 | DeleteValue
 | FindNode
 | HasPath
 | HasChildPaths
 | GetChildCount
 | IsLegacyList
 | GetListItemCount
 | GetListItemXPath
 | SetListItemCount
 | InvalidatePathCache
TComponent
 | GetComObject
 | GetComponent
 | GetComponentCount
 | GetComponentIndex
 | Insert
 | ReadLeft
 | ReadTop
 | Remove
 | RemoveNotification
 | SetComponentIndex
 | SetReference
 | WriteLeft
 | WriteTop
 | ChangeName
 | DefineProperties
 | GetChildren
 | GetChildOwner
 | GetChildParent
 | GetOwner
 | Loaded
 | Loading
 | Notification
 | PaletteCreated
 | ReadState
 | SetAncestor
 | SetDesigning
 | SetDesignInstance
 | SetInline
 | SetName
 | SetChildOrder
 | SetParentComponent
 | Updating
 | Updated
 | UpdateRegistry
 | ValidateRename
 | ValidateContainer
 | ValidateInsert
 | QueryInterface
 | _AddRef
 | _Release
 | iicrGetComponent
 | GetTypeInfoCount
 | GetTypeInfo
 | GetIDsOfNames
 | Invoke
 | WriteState
 | Create
 | Destroy
 | BeforeDestruction
 | DestroyComponents
 | Destroying
 | ExecuteAction
 | FindComponent
 | FreeNotification
 | RemoveFreeNotification
 | FreeOnRelease
 | GetEnumerator
 | GetNamePath
 | GetParentComponent
 | HasParent
 | InsertComponent
 | RemoveComponent
 | SafeCallException
 | SetSubComponent
 | UpdateAction
 | IsImplementorOf
 | ReferenceInterface
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeforeDestruction (TComponent)
 | ChangeName (TComponent)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TXMLConfig)
 | Create (TObject)
 | Create (TComponent)
 | Create (TXMLConfig)
 | CreateClean (TXMLConfig)
 | CreateWithSource (TXMLConfig)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TComponent)
 | DeletePath (TXMLConfig)
 | DeleteValue (TXMLConfig)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TComponent)
 | Destroy (TXMLConfig)
 | DestroyComponents (TComponent)
 | Destroying (TComponent)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | ExecuteAction (TComponent)
pt | ExtendedToStr (TXMLConfig)
 | FieldAddress (TObject)
pt | FindChildNode (TXMLConfig)
 | FindComponent (TComponent)
 | FindNode (TXMLConfig)
 | Flush (TXMLConfig)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
pt | FreeDoc (TXMLConfig)
 | FreeInstance (TObject)
 | FreeNotification (TComponent)
 | FreeOnRelease (TComponent)
pt | GetCachedPathNode (TXMLConfig)
 | GetChildCount (TXMLConfig)
 | GetChildOwner (TComponent)
 | GetChildParent (TComponent)
 | GetChildren (TComponent)
 | GetComObject (TComponent)
 | GetComponent (TComponent)
 | GetComponentCount (TComponent)
 | GetComponentIndex (TComponent)
 | GetEnumerator (TComponent)
 | GetExtendedValue (TXMLConfig)
 | GetHashCode (TObject)
 | GetIDsOfNames (TComponent)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetListItemCount (TXMLConfig)
 | GetListItemXPath (TXMLConfig)
 | GetNamePath (TPersistent)
 | GetNamePath (TComponent)
 | GetOwner (TPersistent)
 | GetOwner (TComponent)
 | GetParentComponent (TComponent)
 | GetTypeInfo (TComponent)
 | GetTypeInfoCount (TComponent)
 | GetValue (TXMLConfig)
 | HasChildPaths (TXMLConfig)
 | HasParent (TComponent)
 | HasPath (TXMLConfig)
 | iicrGetComponent (TComponent)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TComponent)
 | InsertComponent (TComponent)
 | InstanceSize (TObject)
pt | InternalCleanNode (TXMLConfig)
pt | InternalFindNode (TXMLConfig)
pt | InvalidateCacheTilEnd (TXMLConfig)
 | InvalidatePathCache (TXMLConfig)
 | Invoke (TComponent)
 | IsImplementorOf (TComponent)
 | IsLegacyList (TXMLConfig)
 | Loaded (TComponent)
pt | Loaded (TXMLConfig)
 | Loading (TComponent)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
 | Notification (TComponent)
 | PaletteCreated (TComponent)
 | QueryInterface (TComponent)
 | ReadFromStream (TXMLConfig)
 | ReadLeft (TComponent)
 | ReadState (TComponent)
 | ReadTop (TComponent)
pt | ReadXMLFile (TXMLConfig)
 | ReferenceInterface (TComponent)
 | Remove (TComponent)
 | RemoveComponent (TComponent)
 | RemoveFreeNotification (TComponent)
 | RemoveNotification (TComponent)
 | SafeCallException (TObject)
 | SafeCallException (TComponent)
 | SetAncestor (TComponent)
 | SetChildOrder (TComponent)
 | SetComponentIndex (TComponent)
 | SetDeleteExtendedValue (TXMLConfig)
 | SetDeleteValue (TXMLConfig)
 | SetDesigning (TComponent)
 | SetDesignInstance (TComponent)
 | SetExtendedValue (TXMLConfig)
 | SetInline (TComponent)
 | SetListItemCount (TXMLConfig)
 | SetName (TComponent)
 | SetParentComponent (TComponent)
pt | SetPathNodeCache (TXMLConfig)
 | SetReference (TComponent)
 | SetSubComponent (TComponent)
 | SetValue (TXMLConfig)
 | StringMessageTable (TObject)
pt | StrToExtended (TXMLConfig)
 | ToString (TObject)
 | UnitName (TObject)
 | UpdateAction (TComponent)
 | Updated (TComponent)
 | UpdateRegistry (TComponent)
 | Updating (TComponent)
 | ValidateContainer (TComponent)
 | ValidateInsert (TComponent)
 | ValidateRename (TComponent)
 | WriteLeft (TComponent)
 | WriteState (TComponent)
 | WriteTop (TComponent)
 | WriteToStream (TXMLConfig)
pt | WriteXMLFile (TXMLConfig)
 | _AddRef (TComponent)
 | _Release (TComponent)


TXMLConfig

TComponent

TPersistent

TObject


TXMLConfig Path Syntax

Path specifiers in TXMLConfig are used to get or set a value in the XML configuration file. Its syntax describes the hierarchy of elements and attributes needed to access a value in the XML document. It consists of a relative path to a DOM node and an attribute name where the value is stored.

The path specifier should NOT include a root node (or document element name); that is assumed to be a DOM node with the name "CONFIG". Use of the root node in the specifier is invalid in TXMLConfig.

Element and attributes names in the hierarchy are separated by the '/' (Forward Slash) character. The final identifier in the path specifier is the attribute name where a value is stored in the XML document.

Lists or arrays of elements can be read /written using a path specifier that includes notation which indicates the ordinal position of the element. For example:

ACfg.SetValue('list/items/item[0]/name', 'itemA');
ACfg.SetValue('list/items/item[0]/value', 'valueA');
ACfg.SetValue('list/items/item[1]/name', 'itemB');
ACfg.SetValue('list/items/item[1]/value', 'ValueB');
ACfg.SetValue('list/items/item[2]/name', 'itemC');
ACfg.SetValue('list/items/item[2]/value', 'valueC');

Results in the following XML content:

<list>
  <items>
    <item name="itemA" value="valueA"/>
    <item name="itemB" value="valueB"/>
    <item name="itemC" value="valueC"/>
  </items>
</list>
Remark: There is no overloaded variant of the SetValue method which handles writing a TRect data type in the current implementation. You must write the Top, Left, Right, and Bottom coordinates as separate calls to SetValue using the desired path.
Remark: Please note: Contrary to suggestions in source code comments, the syntax used for path specifiers in TXMLConfig is not XPath-compatible.

See also

TXMLConfig | Implements a class used to access and maintain an XML configuration data file
TXMLConfig-Using | Using TXMLConfig


Using TXMLConfig

What is TXMLConfig

TXMLConfig provides a simple mechanism for storing and retrieving values in an XML file. It is intended for use with configuration setting and option values. It is also used as the ancestor for an RTTI-enabled version which store values for object properties using the facilities provided by Run-Time Type Information (RTTI).

Using TXMLConfig is easier than building DOM nodes, child nodes, and attribute values in a TXMLDocument instance. This ease of use is made possible by its use of path specifiers to describe the hierarchy of elements and attributes in the XML document. See TXMLConfig Path Syntax for a description of the path specifier syntax.

Path specifiers are passed as arguments to the GetValue and SetValue methods which read and write values in the XML document. The methods are overloaded to support the use of String, Integer, Boolean, and TRect data types in the value.

Creating Instances of TXMLConfig

Various constructors are available in the class to create TXMLConfig instances. Specifically, they are the Create, CreateClean, and CreateWithSource methods. CreateClean allows an empty XML document to be created that is ultimately stored in the specified file name. CreateWithSource creates an XML document with content specified in a String argument passed to the constructor.

Use the Filename property to change the file name on the local file system where the XML document is stored. Use the Modified property to determine if the XML content in the document has been altered since it was created or loaded.

Loading and Saving XML Content

If the XML document was created was a destination file name, it can be written to disk using the Flush method. TXMLConfig includes other methods that can be used to read or write the XML content in the document to/from a specific file name, or to a TStream instance. Used the ReadXMLFile and WriteXMLFile methods to read and write XML content to a file. Use ReadFromStream and WriteToSteam to read and write XML content using a TStream instance.

// load the content in an existing configuration file
ACfg := TXMLConfig.Create('/path/to/file.xml');

//create an empty XML configuration file
ACfg := TXMLConfig.CreateClean('/path/to/file.xml');

//create an XML configuration file with the specified content, same as CreateClean
ACfg := TXMLConfig.CreateWithSource('/path/to/file.xml', '<CONFIG></CONFIG>');

// stores changes to disk
ACfg.Flush;

// write XML content to a different file
ACfg.WriteXMLFile('/another/path/to/file.xml');

// write XML content to a stream
AStream := TStream.Create;
ACfg.WriteToSteam(ASteam);

ACfg := TXMLConfig.CreateClean('myappconfig.xml');
ACfg.SetValue('settings/backup/path', './backup');
ACfg.SetValue('settings/backup/enabled', True);
ACfg.SetValue('settings/spellcheck/enabled', False);

if ACfg.Modified then ACfg.Flush;
ACfg.Free;

The myappconfig.xml file contains the following:

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
  <settings>
    <backup path="./backup" enabled="True"/>
    <spellcheck enabled="False"/>
  </settings>
</CONFIG>

See also

TXMLConfig | Implements a class used to access and maintain an XML configuration data file
TRttiXMLConfig | Implements an XML configuration file with RTTI support
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TXMLConfig.Clear

Removes existing XML content in the Document property

Declaration

Source position: laz2_xmlcfg.pas line 100

public procedure TXMLConfig.Clear;

Description

Clear is a procedure used to remove existing XML content in the Document property. Clear calls FreeDoc to free the Document instance, and re-creates the member along with its CONFIG document element.

Clear is used in the implementation of the ReadFromStream method.

See also

TXMLConfig.Document | XML document used for the class instance
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance


TXMLConfig.Create

Constructor for the class instance

Declaration

Source position: laz2_xmlcfg.pas line 95

public constructor TXMLConfig.Create(

  AOwner: TComponent

); override; overload;

constructor TXMLConfig.Create(

  const AFilename: string

); overload;

Arguments

AOwner

Owner of the class instance

Arguments

AFilename

File with the XML content loaded in the class instance

Description

Create is the overloaded, overridden constructor for the class instance.

Calling Create with the AFilename argument causes the XML content in the specified Filename to be loaded into the class instance. The variant that specifies an owner simply sets the default values in ReadFlags, WriteFlags, and its internal format settings.

Alternate constructors, like CreateClean and CreateWithSource, are provided to create an empty XML configuration file or to load its content from a String variable.

See also

TXMLConfig.CreateClean | Alternate constructor used to create the class without reading existing XML content in the specified file
TXMLConfig.CreateWithSource | Alternate constructor used to create the class using the XML content specified in Source
TXMLConfig.Destroy | Destructor for the class instance
TXMLConfig.ReadFlags | TXMLReaderFlags for the XML configuration file
TXMLConfig.WriteFlags | TXMLWriteFlags for the XML configuration file


TXMLConfig.CreateClean

Alternate constructor used to create the class without reading existing XML content in the specified file

Declaration

Source position: laz2_xmlcfg.pas line 97

public constructor TXMLConfig.CreateClean(

  const AFilename: string

);

Arguments

AFilename

File name where XML content will be stored

Description

CreateClean is an alternate constructor for the class instance. CreateClean sets an internal flag to indicate that the XML content in AFilename is not automatically loaded when the value in the Filename property is assigned. This ensures that the class instance is "clean" (has no XML content).

CreateClean calls an overloaded variant of Create using AFilename as an argument. The value in Modified is set to True if the specified file exists in the cache for the local file system.

See also

TXMLConfig.Create | Constructor for the class instance
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLConfig.Modified | Indicates if the XML content in the class has been modified


TXMLConfig.CreateWithSource

Alternate constructor used to create the class using the XML content specified in Source

Declaration

Source position: laz2_xmlcfg.pas line 98

public constructor TXMLConfig.CreateWithSource(

  const AFilename: string;

  const Source: string

);

Arguments

AFilename | File name where XML configuration data will be stored
Source | String with the XML content loaded in the class instance

Description

CreateWithSource is an alternate constructor used to create the class instance and load the XML content specified in the Source argument. CreateWithSource sets an internal member used for the XML content in Source. CreateWithSource calls the CreateClean method to initialize the class instance.

See also

TXMLConfig.CreateClean

Alternate constructor used to create the class without reading existing XML content in the specified file


TXMLConfig.DeletePath

Deletes the DOM node at the specified path in the Document

Declaration

Source position: laz2_xmlcfg.pas line 123

public procedure TXMLConfig.DeletePath(

  const APath: string

);

Arguments

APath

Path specifier for the DOM node to locate in the Document

Description

DeletePath is a procedure used to delete the DOM node at the specified path in the Document. APath contains the path specifier that describes the hierarchy of elements and attributes needed to access the DOM node. See TXMLConfig Path Syntax for details about path specifiers.

DeletePath calls InternalFindNode to get the node removed in the method. The node is removed from its parent DOM node, and the value in Modified is set to True. The InvalidatePathCache method is called to reflect the change in the Document. InternalCleanNode is called to ensure that the node is removed from the parent DOM node in Document.

Remark: Please note: No actions are performed in the method when a node for the specified path cannot be located, or the node does not have a parent node (it is the root node in the Document).

See also

TXMLConfig.Document | XML document used for the class instance
TXMLConfig.InternalFindNode | Searches for the DOM node with the specified path, and updates the node cache
TXMLConfig.InternalCleanNode | Removes the specified node and all of its children from the Document
TXMLConfig.InvalidatePathCache | Removes cached DOM nodes for paths in the XML configuration file
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TXMLConfig.DeleteValue

Deletes the value stored in the DOM node at the specified path

Declaration

Source position: laz2_xmlcfg.pas line 124

public procedure TXMLConfig.DeleteValue(

  const APath: string

);

Arguments

APath

Path to the DOM node affected in the method

Description

DeleteValue is a procedure used to remove the value for a DOM node stored at the path specified in APath. APath contains the path specifier which describes the hierarchy of elements and attributes needed to access the DOM node. See TXMLConfig Path Syntax for details about path specifiers.

DeleteValue calls the FindNode method to get the DOM node updated in the method.

Remark: Please note: No actions are performed in the method when a node cannot be found with the specified path.

See also

TXMLConfig-PathSyntax | TXMLConfig Path Syntax
TXMLConfig.FindNode | Retrieves the DOM node with the specified path


TXMLConfig.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xmlcfg.pas line 99

public destructor TXMLConfig.Destroy; override;

Description

Destroy is the overridden destructor for the class instance. Destroy ensures that a TXMLDocument instance in the Document property is written to disk and freed before the object instance is destroyed. Destroy calls the inherited destructor.

See also

TXMLConfig.Document | XML document used for the class instance
TXMLConfig.Flush | Forces the XML content for the configuration file to be written to Filename
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file


TXMLConfig.doc

Internal member with the TXMLDocument for the class instance

Declaration

Source position: laz2_xmlcfg.pas line 73

protected TXMLConfig.doc : TXMLDocument;

Description

Doc is a TXMLDocument member with the document instance used to store the XML content for the configuration file. The value in Doc is assigned in the Clear, SetFilename, or CreateConfigNode methods. It is checked in other methods to ensure that a valid XML document exists prior to performing Input/Output operations.

Use the FreeDoc method to free the XML document for the class instance.

Remark: The visibility for the Doc member is protected.

See also

TXMLConfig.Clear | Removes existing XML content in the Document property
TXMLConfig.Destroy | Destructor for the class instance
TXMLConfig.InternalFindNode | Searches for the DOM node with the specified path, and updates the node cache
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLConfig.SetValue | Sets the value in a DOM node at the specified path


TXMLConfig.Document

XML document used for the class instance

Declaration

Source position: laz2_xmlcfg.pas line 139

published property TXMLConfig.Document : TXMLDocument
  read doc;

Description

Document is a read-only TXMLDocument property which contains the XML content in the configuration file. Document is a hierarchical sequence of DOM nodes which represent the paths and values for configuration data. DOM nodes are added and deleted in Document using a path specifier which represents the hierarchical structure for the XML content. See the TXMLConfig Path Syntax topic for more information about path specifiers in TXMLConfig.

The TXMLDocument instance in Document is created and freed in methods like Clear, FreeDoc, CreateConfigNode, and SetFilename.

See also

TXMLConfig.Clear | Removes existing XML content in the Document property
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLDocument


TXMLConfig.ExtendedToStr

Converts an extended value to its representation as a String

Declaration

Source position: laz2_xmlcfg.pas line 80

protected function TXMLConfig.ExtendedToStr(

  const e: extended

):string;

Arguments

e

Extended value converted in the method

Function result

String representation for the Extended value


TXMLConfig.fAutoLoadFromSource

Member used to store String content loaded into the configuration file

Declaration

Source position: laz2_xmlcfg.pas line 76

protected TXMLConfig.fAutoLoadFromSource : string;


TXMLConfig.fDoNotLoadFromFile

Member used to indicate that the data was created manually, and not loaded from a file or stream

Declaration

Source position: laz2_xmlcfg.pas line 75

protected TXMLConfig.fDoNotLoadFromFile : Boolean;


TXMLConfig.Filename

File name used to read or write the XML content in the class instance

Declaration

Source position: laz2_xmlcfg.pas line 138

published property TXMLConfig.Filename : string
  read FFilename
  write SetFilename;

Description

Filename is a String property which specifies the file name on the local file system where the content for the XML configuration file is stored. Changing the value in Filename causes the DOM node cache to be cleared by calling the InvalidatePathCache method.

If Document contains a valid TXMLDocument instance, the Flush method is called to write any pending changes to disk. The FreeDoc method is called to re-initialize the Document instance. The XML content in Document is then reloaded using the file or string content as required.

Remark: Please note: No actions are performed in the method when the value in Filename is assigned as the component is loaded using the LCL streaming mechanism.

See also

TXMLConfig.InvalidatePathCache | Removes cached DOM nodes for paths in the XML configuration file
TXMLConfig.Flush | Forces the XML content for the configuration file to be written to Filename
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TXMLConfig.FindChildNode

Declaration

Source position: laz2_xmlcfg.pas line 92

protected function TXMLConfig.FindChildNode(

  PathIndex: Integer;

  const aName: string;

  CreateNodes: Boolean = False

):TDOMNode;


TXMLConfig.FindNode

Retrieves the DOM node with the specified path

Declaration

Source position: laz2_xmlcfg.pas line 125

public function TXMLConfig.FindNode(

  const APath: string;

  PathHasValue: Boolean

):TDOMNode;

Arguments

APath | Path to the DOM node retrieve in the method
PathHasValue | Indicates if the path is checked for a value

Function result

DOM node stored at the specified path

Description

FindNode is a TDOMNode function used to retrieve the DOM node stored at the path specified in APath in the Document instance. FindNode calls InternalFindNode to locate the DOM node used as the return value for the method.

APath contains the path specifier used to locate the DOM node. It contains the hierarchy of elements and attributes needed to access the DOM node, as described in TXMLConfig Path Syntax.

PathHasValue indicates if APath includes a specifier for the attribute where the value is stored. When PathHasValue is True, the trailing path identifier (for the attribute name) is removed from APath. Otherwise, the value in APath is used in its unmodified state.

FindNode is used in the implementation of the DeleteValue, GetChildCount, HasPath, and HasChildPaths methods.

See also

TXMLConfig.DeleteValue | Deletes the value stored in the DOM node at the specified path
TXMLConfig.GetChildCount | Gets the number of child nodes used in the DOM node at the specified path
TXMLConfig.HasPath | Indicates if a DOM node exists for the specified path
TXMLConfig.HasChildPaths | Indicates if the DOM node at the specified path has child nodes


TXMLConfig.Flush

Forces the XML content for the configuration file to be written to Filename

Declaration

Source position: laz2_xmlcfg.pas line 101

public procedure TXMLConfig.Flush;

Description

Flush is a procedure which forces the XML content in Document to be written to the file specified in Filename. Flush uses the value in the Modified property to determine if the content in Document has been altered.

Flush calls the WriteXMLFile method to store Document to the required Filename. The value in Modified is set to False when the Document has been written to the local file system.

Remark: No actions are performed in the method when Modified is False, or when Filename contains an empty string ('').

Flush is used in the implementation of methods like Destroy and SetFilename.

See also

TXMLConfig.Destroy | Destructor for the class instance
TXMLConfig.Document | XML document used for the class instance
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLConfig.Modified | Indicates if the XML content in the class has been modified
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLConfig.WriteXMLFile | Writes XML configuration data in Document to the specified file name


TXMLConfig.FModified

Member used to indicate the configuration file has been modified

Declaration

Source position: laz2_xmlcfg.pas line 74

protected TXMLConfig.FModified : Boolean;


TXMLConfig.fPathCache

Declaration

Source position: laz2_xmlcfg.pas line 77

protected TXMLConfig.fPathCache : string;

Description

Not used/updated in the current implementation.


TXMLConfig.fPathNodeCache

Member used to cache DOM nodes accessed using paths in the class instance

Declaration

Source position: laz2_xmlcfg.pas line 78

protected TXMLConfig.fPathNodeCache : array of TNodeCache;


TXMLConfig.FreeDoc

Frees the TXMLDocument instance for the XML configuration file

Declaration

Source position: laz2_xmlcfg.pas line 84

protected procedure TXMLConfig.FreeDoc; virtual;

Description

FreeDoc is a procedure used to free the TXMLDocument instance used in the Document property. FreeDoc calls InvalidatePathCache to remove all cached DOM nodes from the Document. FreeAndNil is used to free the object instance and to set the value for the member to Nil.

FreeDoc is used in the implementation of various methods like Destroy, Clear, ReadFromStream, and SetFilename.

See also

TXMLConfig.Document | XML document used for the class instance
TXMLConfig.Destroy | Destructor for the class instance
TXMLConfig.Clear | Removes existing XML content in the Document property
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance
TXMLConfig.Filename | File name used to read or write the XML content in the class instance
TXMLConfig.InvalidatePathCache | Removes cached DOM nodes for paths in the XML configuration file


TXMLConfig.GetCachedPathNode

Gets a cached DOM node starting at the specified position in the cache

Declaration

Source position: laz2_xmlcfg.pas line 86

protected function TXMLConfig.GetCachedPathNode(

  Index: Integer

):TDOMNode;

function TXMLConfig.GetCachedPathNode(

  Index: Integer;

  out aNodeSearchName: string

):TDOMNode;

Arguments

Index

Position in the cache for the initial DOM node in the search

Function result

DOM node with the specified name, or Nil when the cache is invalid

Arguments

Index | Position in the cache for the initial DOM node in the search
aNodeSearchName | Node name located in the cache

Description

GetCachedPathNode is an overloaded TDomNode function used to get the document element at the specified position in the cached DOM nodes for the Document. GetCachedPathNode is used in the implementation of the InternalFindNode method.

See also

TXMLConfig.InternalFindNode

Searches for the DOM node with the specified path, and updates the node cache


TXMLConfig.GetChildCount

Gets the number of child nodes used in the DOM node at the specified path

Declaration

Source position: laz2_xmlcfg.pas line 129

public function TXMLConfig.GetChildCount(

  const APath: string

):Integer;

Arguments

APath

Path to the DOM node examined in the method

Function result

Number of child nodes in the specified DOM node

See also

TXMLConfig.FindNode | Retrieves the DOM node with the specified path
#LazUtils.Laz2_Dom.TDOMNode.GetChildCount | Gets the number of Child nodes for the DOM node


TXMLConfig.GetExtendedValue

Gets the value for a DOM node at the specified path as an extended data type

Declaration

Source position: laz2_xmlcfg.pas line 109

public function TXMLConfig.GetExtendedValue(

  const APath: string;

  const ADefault: extended

):extended;

Arguments

APath | Path to the DOM node examined in the method
ADefault | Default value used when the DOM node has no content

Function result

Extended value for the specified DOM node

Description

GetExtendedValue is an Extended function used to get the value for a DOM node at the specified path as an Extended data type. GetExtendedValue is similar to the TXMLConfig.GetValue method; in fact it calls GetValue to retrieve the value for the DOM node in APath. It calls StrToExtended to convert the node value to the Extended data type used as the return value.

Use ADefault to specify the default value used in the method when the DOM node does not contain any content (or value).

See also

TXMLConfig.GetValue

Gets the value from the DOM node at the specified path in the XML configuration file


TXMLConfig.GetListItemCount

Declaration

Source position: laz2_xmlcfg.pas line 131

public function TXMLConfig.GetListItemCount(

  const APath: string;

  const AItemName: string;

  const aLegacyList: Boolean

):Integer;

Description

Not used in the current implementation.


TXMLConfig.GetListItemXPath

Gets the path specifier used to access a list item at the specified position

Declaration

Source position: laz2_xmlcfg.pas line 132

public class function TXMLConfig.GetListItemXPath(

  const AName: string;

  const AIndex: Integer;

  const aLegacyList: Boolean;

  const aLegacyList1Based: Boolean = False

):string;

Arguments

AName | Name for the list item
AIndex | Position for the list item
aLegacyList | Indicates that array-style notation (with square brackets) is not used when True
aLegacyList1Based | Indicates if positions in the list start at 1 instead of 0

Function result

Path specifier for the list item at the specified position

Description

GetListItemXPath is a String class function used to get the path specifier used to access a list item at the specified position in the Document. The return value contains the path specifier constructed for the list item. For example:

'item0'
'item1'
'item[0]'


TXMLConfig.GetValue

Gets the value from the DOM node at the specified path in the XML configuration file

Declaration

Source position: laz2_xmlcfg.pas line 105

public function TXMLConfig.GetValue(

  const APath: string;

  const ADefault: string

):string;

function TXMLConfig.GetValue(

  const APath: string;

  ADefault: Integer

):Integer;

function TXMLConfig.GetValue(

  const APath: string;

  ADefault: Int64

):Int64;

function TXMLConfig.GetValue(

  const APath: string;

  ADefault: Boolean

):Boolean;

procedure TXMLConfig.GetValue(

  const APath: string;

  out ARect: TRect;

  const ADefault: TRect

);

Arguments

APath | Path to locate in the Document
ADefault | Default value used when the DOM node has no content

Function result

Value for the Node at the specified path

Arguments

APath | Path to locate in the Document
ADefault | Default value used when the DOM node has no content

Arguments

APath | Path to locate in the Document
ADefault | Default value used when the DOM node has no content

Arguments

APath | Path to locate in the Document
ADefault | Default value used when the DOM node has no content

Arguments

APath | Path to locate in the Document
ARect | TRect with the value for the DOM node
ADefault | Default value used when the DOM node has no content

Description

GetValue is an overloaded function used to get the value stored in a DOM node at the path specified in APath. Overloaded variants are provided to return String, Integer, Boolean, and TRect data types.

APath contain the path specifier that represents the hierarchy of elements and attributes in Document where the value is stored. See TXMLConfig Path Syntax for details about path specifiers.

ADefault contains the default value returned when the DOM node does not have any content representing a value.

ARect is the TRect output parameter used to return the value in the overloaded method.

Use GetExtendedValue to get the value for a DOM node as an Extended (or Float) data type.

See also

TXMLConfig.GetExtendedValue | Gets the value for a DOM node at the specified path as an extended data type
TXMLConfig.Document | XML document used for the class instance
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TXMLConfig.HasChildPaths

Indicates if the DOM node at the specified path has child nodes

Declaration

Source position: laz2_xmlcfg.pas line 128

public function TXMLConfig.HasChildPaths(

  const APath: string

):Boolean;

Arguments

APath

Path to the DOM node examined in the method

Function result

True when the specified path has child nodes in the Document

See also

TXMLConfig.FindNode | Retrieves the DOM node with the specified path
#LazUtils.Laz2_Dom.TDOMNode.HasChildNodes | Indicates if the DOM Node has child nodes


TXMLConfig.HasPath

Indicates if a DOM node exists for the specified path

Declaration

Source position: laz2_xmlcfg.pas line 127

public function TXMLConfig.HasPath(

  const APath: string;

  PathHasValue: Boolean

):Boolean;

Arguments

APath | Path examined in the method
PathHasValue | Indicates if the DOM node has content representing the value

Function result

True when a DOM node exists with the specified path

See also

TXMLConfig.FindNode

Retrieves the DOM node with the specified path


TXMLConfig.InternalCleanNode

Removes the specified node and all of its children from the Document

Declaration

Source position: laz2_xmlcfg.pas line 91

protected procedure TXMLConfig.InternalCleanNode(

  Node: TDOMNode

);

Arguments

Node

DOM Node to remove from the Document

Description

InternalCleanNode ensures that the specified DOM node is removed from the Document, both as a parent or child node in the element tree. InternalCleanNode calls InvalidatePathCache to reflect the change in the Document, and sets the value in Modified to True.

Remark: Please note: No actions are performed in the method when Node is unassigned (contains Nil).

InternalCleanNode is used in the implementation of the DeletePath and DeleteValue methods.

See also

TXMLConfig.DeletePath | Deletes the DOM node at the specified path in the Document
TXMLConfig.DeleteValue | Deletes the value stored in the DOM node at the specified path
TXMLConfig.Document | XML document used for the class instance
TXMLConfig.Modified | Indicates if the XML content in the class has been modified


TXMLConfig.InternalFindNode

Searches for the DOM node with the specified path, and updates the node cache

Declaration

Source position: laz2_xmlcfg.pas line 89

protected function TXMLConfig.InternalFindNode(

  const APath: string;

  PathLen: Integer;

  CreateNodes: Boolean = False

):TDOMNode;

Arguments

APath | Path specifier for the DOM node
PathLen | Length of the path specifier
CreateNodes | Indicates if missing DOM nodes in Document are created

Function result

DOM node located for the specified path

Description

InternalFindNode is a TDOMNode function used to locate the node stored at the path specified in Document. InternalFindNode ensures that the node cache for the class is updated to include the TDOMNode at APath when it is accessed in the method. It also ensures that all element nodes for the specifier in APath are included in the cache as well. The FindChildNode method is used to locate TDOMNodes in the hierarchy. When CreateNodes is True, any missing DOM nodes in the hierarchy are created.

InternalFindNode is used in the implementation of the GetValue, SetValue, GetListItemCount, DeletePath, and FindNode methods.

See also

TXMLConfig.SetPathNodeCache | Ensures a DOM node is present in the internal cache for the class instance
TXMLConfig.GetCachedPathNode | Gets a cached DOM node starting at the specified position in the cache
TXMLConfig.FindChildNode


TXMLConfig.InvalidateCacheTilEnd

Removes DOM nodes from the internal cache starting at the specified ordinal position

Declaration

Source position: laz2_xmlcfg.pas line 88

protected procedure TXMLConfig.InvalidateCacheTilEnd(

  StartIndex: Integer

);

Arguments

StartIndex

Initial position in the cache affected in the method

Description

InvalidateCacheTilEnd iterates over the TNodeCache items in PathNodeCache stating at the position in StartIndex, and sets the node references to Nil to invalidate the DOM node in the cache.

InvalidateCacheTilEnd is used in the implementation of the InvalidatePathCache, SetPathNodeCache, and FindChildNode methods.

See also

TXMLConfig.SetPathNodeCache | Ensures a DOM node is present in the internal cache for the class instance
TXMLConfig.InvalidatePathCache | Removes cached DOM nodes for paths in the XML configuration file
TXMLConfig.FindChildNode
TXmlConfig.TNodeCache


TXMLConfig.InvalidatePathCache

Removes cached DOM nodes for paths in the XML configuration file

Declaration

Source position: laz2_xmlcfg.pas line 136

public procedure TXMLConfig.InvalidatePathCache;

Description

InvalidatePathCache is a procedure used to invalidate all of the cached references to DOM nodes used in the class instance. InvalidatePathCache calls the InvalidateCacheTilEnd method starting at position 0 in the internal array of DOM nodes used for the cache.

InvalidatePathCache is used in the implementation of methods like: DeletePath, ReadXMLFile, FreeDoc, InternalCleanNode, and SetFilename.

See also

TXMLConfig.InvalidateCacheTilEnd | Removes DOM nodes from the internal cache starting at the specified ordinal position
TXMLConfig.DeletePath | Deletes the DOM node at the specified path in the Document
TXMLConfig.ReadXMLFile | Reads the XML content from the specified file into a TXMLDocument instance
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file
TXMLConfig.InternalCleanNode | Removes the specified node and all of its children from the Document
TXMLConfig.Filename | File name used to read or write the XML content in the class instance


TXMLConfig.IsLegacyList

Declaration

Source position: laz2_xmlcfg.pas line 130

public function TXMLConfig.IsLegacyList(

  const APath: string

):Boolean;

Description

Not used in the current implementation.


TXMLConfig.Loaded

Signals that LCL component streaming has been completed

Declaration

Source position: laz2_xmlcfg.pas line 79

protected procedure TXMLConfig.Loaded; override;

Description

Loaded is an overridden method in TXMLConfig used to perform actions needed when the component has finished loading during LCL component streaming. Loaded calls the inherited method. It calls SetFilename to load the XML configuration file data when the Filename property is assigned in the component.

See also

TXMLConfig.Filename

File name used to read or write the XML content in the class instance


TXMLConfig.Modified

Indicates if the XML content in the class has been modified

Declaration

Source position: laz2_xmlcfg.pas line 135

public property TXMLConfig.Modified : Boolean
  read FModified
  write FModified;

Description

Modified is a Boolean property used to indicate if the XML content in Document has been altered since it was loaded or created. The value in Modified is updated in methods like CreateClean, Flush, SetValue, DeletePath, DeleteValue, and InternalCleanNode.

See also

TXMLConfig.CreateClean | Alternate constructor used to create the class without reading existing XML content in the specified file
TXMLConfig.Flush | Forces the XML content for the configuration file to be written to Filename
TXMLConfig.SetValue | Sets the value in a DOM node at the specified path
TXMLConfig.DeletePath | Deletes the DOM node at the specified path in the Document
TXMLConfig.DeleteValue | Deletes the value stored in the DOM node at the specified path
TXMLConfig.InternalCleanNode | Removes the specified node and all of its children from the Document


TXMLConfig.ReadFlags

TXMLReaderFlags for the XML configuration file

Declaration

Source position: laz2_xmlcfg.pas line 140

published property TXMLConfig.ReadFlags : TXMLReaderFlags
  read FReadFlags
  write FReadFlags;

Description

ReadFlags is a TXMLReaderFlags property which represents the options enabled when reading the XML content for the configuration file. Values in ReadFlags are passed as an argument in ReadFromStream and ReadXMLFile to routines used to read the XML content.

The set in ReadFlags is initialized in the Create constructor to the following enumeration values:

  • xrfAllowLowerThanInAttributeValue
  • xrfAllowSpecialCharsInAttributeValue

See TXMLReaderFlags for a description of enumeration values and their meanings.

See also

TXMLReaderFlags
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance
TXMLConfig.ReadXMLFile | Reads the XML content from the specified file into a TXMLDocument instance
TXMLConfig.Create | Constructor for the class instance


TXMLConfig.ReadFromStream

Reads the XML content in Document from the specified stream instance

Declaration

Source position: laz2_xmlcfg.pas line 102

public procedure TXMLConfig.ReadFromStream(

  s: TStream

);

Arguments

s

TStream instance with the XML content read in the method

Description

ReadFromStream is a procedure used to read the XML content for the Document from the TStream instance in S. ReadFromStream calls FreeDoc to ensure that any existing XML content in the configuration file is discarded prior to loading values from the stream.

ReadFromStream calls the ReadXMLFile routine in the Laz2_XMLRead unit to load the XML content. If Document was not assigned in ReadXMLFile, the Clear method is called to create a Document with the correct default values.

Use ReadXMLFile to read XML content from a file on the local file system.

Use WriteToStream or WriteXMLFile to store XML content in the Document property to a stream or file.

See also

TXMLConfig.Clear | Removes existing XML content in the Document property
TXMLConfig.Document | XML document used for the class instance
TXMLConfig.FreeDoc | Frees the TXMLDocument instance for the XML configuration file
TXMLConfig.ReadXMLFile | Reads the XML content from the specified file into a TXMLDocument instance
TXMLConfig.WriteToStream | Writes the XML content for the configuration file to the specified stream instance
TXMLConfig.WriteXMLFile | Writes XML configuration data in Document to the specified file name
#LazUtils.Laz2_XMLRead.ReadXMLFile | Reads the content of an XML file into the specified XML document


TXMLConfig.ReadXMLFile

Reads the XML content from the specified file into a TXMLDocument instance

Declaration

Source position: laz2_xmlcfg.pas line 82

protected procedure TXMLConfig.ReadXMLFile(

  out ADoc: TXMLDocument;

  const AFilename: string

); virtual;

Arguments

ADoc | XML document with the content loaded in the method
AFilename | File name containing the XML content for the configuration file

Description

ReadXMLFile is a procedure used to read the XML content in AFilename into the TXMLDocument instance returned in ADoc. ReadXMLFile calls InvalidatePathCache to remove cached DOM nodes in the class instance. ReadXMLFile calls the ReadXMLFile method in the Laz2_XMLRead unit to load the file content into the XML document instance.

Use ReadFromStream to load the XML content in the class from a TStream instance.

Use WriteXMLFile or WriteToStream to store the XML content for the class instance.

See also

TXMLConfig.InvalidatePathCache | Removes cached DOM nodes for paths in the XML configuration file
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance
TXMLConfig.WriteToStream | Writes the XML content for the configuration file to the specified stream instance
TXMLConfig.WriteXMLFile | Writes XML configuration data in Document to the specified file name
#LazUtils.Laz2_XMLRead.ReadXMLFile | Reads the content of an XML file into the specified XML document


TXMLConfig.SetDeleteExtendedValue

Updates or removes the Extended value at the specified path

Declaration

Source position: laz2_xmlcfg.pas line 121

public procedure TXMLConfig.SetDeleteExtendedValue(

  const APath: string;

  const AValue: extended;

  const DefValue: extended

);

Arguments

APath | Path specifier to the node affected in the method
AValue | Value stored at the specified path
DefValue | Value which indicates the node should be removed instead of updated


TXMLConfig.SetDeleteValue

Updates or removes the value at the specified path

Declaration

Source position: laz2_xmlcfg.pas line 112

public procedure TXMLConfig.SetDeleteValue(

  const APath: string;

  const AValue: string;

  const DefValue: string

);

procedure TXMLConfig.SetDeleteValue(

  const APath: string;

  AValue: Int64;

  DefValue: Int64

);

procedure TXMLConfig.SetDeleteValue(

  const APath: string;

  AValue: Boolean;

  DefValue: Boolean

);

procedure TXMLConfig.SetDeleteValue(

  const APath: string;

  const AValue: TRect;

  const DefValue: TRect

);

Arguments

APath | Path specifier for the value affected in the method
AValue | Value to store at the specified path
DefValue | Value which indicates the path should be removed instead of updated

Arguments

APath | Path specifier for the value affected in the method
AValue | Value to store at the specified path
DefValue | Value which indicates the path should be removed instead of updated

Arguments

APath | Path specifier for the value affected in the method
AValue | Value to store at the specified path
DefValue | Value which indicates the path should be removed instead of updated

Arguments

APath | Path specifier for the value affected in the method
AValue | Value to store at the specified path
DefValue | Value which indicates the path should be removed instead of updated


TXMLConfig.SetExtendedValue

Sets the value in the DOM node at the specified path using an extended data type

Declaration

Source position: laz2_xmlcfg.pas line 120

public procedure TXMLConfig.SetExtendedValue(

  const APath: string;

  const AValue: extended

);

Arguments

APath | Path to the DOM node updated in the method
AValue | Value stored in the specified DOM node

Description

SetExtendedValue is a procedure used to set the value in the DOM node at the specified path to the value in the Extended data type.

APath contains the path specifier which describes the hierarchy of elements and attributes to the value. See TXMLConfig Path Syntax for details about path specifiers. AValue contains the Extended data type stored at the specified path.

SetExtendedValue is similar to the TXMLConfig.SetValue method; in fact, it calls SetValue to store the string representation of AValue prepared using ExtendedToStr.

See also

TXMLConfig.SetValue | Sets the value in a DOM node at the specified path
TXMLConfig.ExtendedToStr | Converts an extended value to its representation as a String
TXMLConfig-PathSyntax | TXMLConfig Path Syntax


TXMLConfig.SetListItemCount

Declaration

Source position: laz2_xmlcfg.pas line 134

public procedure TXMLConfig.SetListItemCount(

  const APath: string;

  const ACount: Integer;

  const ALegacyList: Boolean

);

Description

Not used in the current implementation.


TXMLConfig.SetPathNodeCache

Ensures a DOM node is present in the internal cache for the class instance

Declaration

Source position: laz2_xmlcfg.pas line 85

protected procedure TXMLConfig.SetPathNodeCache(

  Index: Integer;

  aNode: TDOMNode;

  aNodeSearchName: string = ''

);

Arguments

Index | Position in the cache to start looking for the specified DOM node
aNodeSearchName | DOM node name to locate in the cache

Description

SetPathNodeCache is a procedure used to ensure that the DOM node with the specified position and name is present in the node cache for the class instance. SetPathNodeCache adjusts the length of the internal node cache when needed to accommodate a new DOM node. InvalidateCacheTilEnd is called to refresh the cache when the Node is not found starting at the specified position.

SetPathNodeCache is used in the implementation of the InternalFindNode method.

See also

TXMLConfig.InternalFindNode

Searches for the DOM node with the specified path, and updates the node cache

TXmlConfig.TNodeCache


TXMLConfig.SetValue

Sets the value in a DOM node at the specified path

Declaration

Source position: laz2_xmlcfg.pas line 111

public procedure TXMLConfig.SetValue(

  const APath: string;

  const AValue: string

);

procedure TXMLConfig.SetValue(

  const APath: string;

  AValue: Int64

);

procedure TXMLConfig.SetValue(

  const APath: string;

  AValue: Boolean

);

Arguments

APath | Path to the DOM node updated in the method
AValue | Value to store in the specified DOM node

Arguments

APath | Path to the DOM node updated in the method
AValue | Value to store in the specified DOM node

Arguments

APath | Path to the DOM node updated in the method
AValue | Value to store in the specified DOM node

Description

SetValue is an overloaded procedure used to set the value in the DOM node located at the path specified in APath. AValue contains the content stored in the specified DOM node. Overloaded variants of the method are provided where AValue is either a String, Integer, or Boolean data type. The String variant of the method is called to store the various value types in a DOM node.

Use SetExtendedValue to store an Extended data type in a specified DOM node.

See also

TXMLConfig.SetExtendedValue | Sets the value in the DOM node at the specified path using an extended data type
TXMLConfig.DeleteValue | Deletes the value stored in the DOM node at the specified path
TXMLConfig.SetDeleteValue | Updates or removes the value at the specified path
TXMLConfig.SetDeleteExtendedValue | Updates or removes the Extended value at the specified path


TXMLConfig.StrToExtended

Converts the specified String value to an Extended data type

Declaration

Source position: laz2_xmlcfg.pas line 81

protected function TXMLConfig.StrToExtended(

  const s: string;

  const ADefault: extended

):extended;

Arguments

s | String converted to an Extended value
ADefault | Default value used when no value can be derived from the string

Function result

Extended value converted in the method

Description

StrToExtended converts the specified String value to its representation as an Extended data type.

ADefault contains the default value used in the method when the string is empty or contains an invalid representation for an Extended data type. StrToExtended calls the StrToFloatDef routine to convert the string value using the format settings for the class.

StrToExtended is used in the implementation of the GetExtendedValue method.

See also

TXMLConfig.GetExtendedValue

Gets the value for a DOM node at the specified path as an extended data type


TXMLConfig.TDomNodeArray

Declaration

Source position: laz2_xmlcfg.pas line 54

protected type TXMLConfig.TDomNodeArray = array of TDOMNode;


TXMLConfig.TNodeCache

Declaration

Source position: laz2_xmlcfg.pas line 55

protected type TXMLConfig.TNodeCache = record

public

  Node: TDOMNode;

  NodeSearchName: string;

  ChildrenValid: Boolean;

  Children: TDomNodeArray;

  NodeListName: string;

  NodeList: TDomNodeArray;

  class procedure GrowArray();

  procedure RefreshChildren;

  procedure RefreshChildrenIfNeeded;

  procedure RefreshNodeList();

  procedure RefreshNodeListIfNeeded();

  function AddNodeToList;

end;


TXMLConfig.WriteFlags

TXMLWriteFlags for the XML configuration file

Declaration

Source position: laz2_xmlcfg.pas line 141

published property TXMLConfig.WriteFlags : TXMLWriterFlags
  read FWriteFlags
  write FWriteFlags;

Description

WriteFlags is a TXMLWriteFlags property which represents the options enabled when writing the XML content for the configuration file. Values in WriteFlags are passed as an argument in WriteToSteam and WriteXMLFile to routines used to write the XML content.

The set in WriteFlags is initialized in the Create constructor to the following enumeration values:

  • xwfSpecialCharsInAttributeValue

See TXMLWriterFlags for a description of enumeration values and their meanings.

See also

TXMLConfig.Create | Constructor for the class instance
TXMLConfig.WriteToStream | Writes the XML content for the configuration file to the specified stream instance
TXMLConfig.WriteXMLFile | Writes XML configuration data in Document to the specified file name
TXMLWriterFlags


TXMLConfig.WriteToStream

Writes the XML content for the configuration file to the specified stream instance

Declaration

Source position: laz2_xmlcfg.pas line 103

public procedure TXMLConfig.WriteToStream(

  s: TStream

);

Arguments

s

TStream instance where the XML content in Document is stored in the method

Description

WriteToStream is a procedure used to write the XML content for the configuration file to the TStream instance specified in S. WriteToStream checks the Document property to ensure that a valid TXMLDocument instance has been assigned to the member. When Document is unassigned (contains Nil), the CreateConfigNode method is called to allocate a document instance with the required CONFIG document element.

The WriteXMLFile routine in the Laz2_XMLWrite unit is called to store the XML document to the TStream specified in S using the WriteFlags for the class instance.

See also

TXMLConfig.Document | XML document used for the class instance
TXMLConfig.WriteFlags | TXMLWriteFlags for the XML configuration file
#LazUtils.Laz2_XMLWrite.WriteXMLFile | Writes an XML document to a file, text file, or stream


TXMLConfig.WriteXMLFile

Writes XML configuration data in Document to the specified file name

Declaration

Source position: laz2_xmlcfg.pas line 83

protected procedure TXMLConfig.WriteXMLFile(

  ADoc: TXMLDocument;

  const AFileName: string

); virtual;

Arguments

ADoc | Document with the XML content written in the method
AFileName | File name where the XML content is stored

Description

WriteXMLFile is a procedure used to write the XML content in the Document property to the file specified in AFilename. WriteXMLFile calls the WriteXMLFile routine in LazUtils to write the XML content using the WriteFlags defined in the class instance. The InvalidateFileStateCache routine is called to invalidate a file cache entry for the specified file name.

Use WriteToSteam to store the XML content in Document to a TStream instance.

See also

TXMLConfig.WriteToStream | Writes the XML content for the configuration file to the specified stream instance
TXMLConfig.ReadXMLFile | Reads the XML content from the specified file into a TXMLDocument instance
TXMLConfig.ReadFromStream | Reads the XML content in Document from the specified stream instance


EXMLReadError

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when reading XML content

Declaration

Source position: laz2_xmlread.pas line 44

type EXMLReadError = class(Exception)
public
property Severity: TErrorSeverity; [r] | Severity for the XML read error
property ErrorMessage: string; [r] | Error message for the XML read error
property Line: Integer; [r] | Line number in the XML content where the error occurred
property LinePos: Integer; [r] | Offset in the line where the error occurred
function LineCol; | TPoint with the line and column numbers where the error occurred
end;

Inheritance

EXMLReadError

Exception raised when reading XML content
|

Exception
|

TObject

Description

EXMLReadError is an Exception descendant raised when an error occurs while reading XML content. EXMLReadError provides properties that indicate the severity of the error, its error message, and the position where the error occurred.

EXMLReadError is used in the TXMLReader implementation class which de-serializes XML documents.

See also

TErrorSeverity

Represents error severity codes for XML read operations


EXMLReadError
 | ro | Severity
 | ro | ErrorMessage
 | ro | Line
 | ro | LinePos
Exception
 |  | HelpContext
 |  | Message
TObject


ro | ErrorMessage (EXMLReadError)
 | HelpContext (Exception)
ro | Line (EXMLReadError)
ro | LinePos (EXMLReadError)
 | Message (Exception)
ro | Severity (EXMLReadError)


EXMLReadError
 | LineCol
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (Exception)

CreateFmt (Exception)

CreateFmtHelp (Exception)

CreateHelp (Exception)

CreateRes (Exception)

CreateResFmt (Exception)

CreateResFmtHelp (Exception)

CreateResHelp (Exception)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

LineCol (EXMLReadError)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

ToString (Exception)

UnitName (TObject)


EXMLReadError

Exception

TObject


EXMLReadError.ErrorMessage

Error message for the XML read error

Declaration

Source position: laz2_xmlread.pas line 52

public property EXMLReadError.ErrorMessage : string
  read FErrorMessage;

Description

ErrorMessage is a read-only String property that contains a description for the error condition. The value in ErrorMessage is assigned when the exception is created in TXMLReader.

Use Severity to determine the error level for the exception. Use Line and LinePos to get the line and column numbers where the error occurred in the XML input source.

See also

EXMLReadError.Severity | Severity for the XML read error
TErrorSeverity | Represents error severity codes for XML read operations


EXMLReadError.Line

Line number in the XML content where the error occurred

Declaration

Source position: laz2_xmlread.pas line 53

public property EXMLReadError.Line : Integer
  read FLine;


EXMLReadError.LineCol

TPoint with the line and column numbers where the error occurred

Declaration

Source position: laz2_xmlread.pas line 55

public function EXMLReadError.LineCol: TPoint;

Function result

Value for the TPoint type


EXMLReadError.LinePos

Offset in the line where the error occurred

Declaration

Source position: laz2_xmlread.pas line 54

public property EXMLReadError.LinePos : Integer
  read FLinePos;


EXMLReadError.Severity

Severity for the XML read error

Declaration

Source position: laz2_xmlread.pas line 51

public property EXMLReadError.Severity : TErrorSeverity
  read FSeverity;

Description

Severity is a read-only TErrorSeverity property that identifies the severity of the error. The value in Severity is assigned when an error is encountered, and an exception is created in TXMLReader.

Use ErrorMessage to get the description for the error condition. Use Line and LinePos to determine the line and column numbers in the XML input source where the error was encountered.

See also

TErrorSeverity

Represents error severity codes for XML read operations


TDOMParseOptions

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents option settings for the TDOMParser class

Declaration

Source position: laz2_xmlread.pas line 77

type TDOMParseOptions = class(TObject)
public
property Validate: Boolean; [rw] | Indicates if validation is performed when reading XML content
property PreserveWhitespace: Boolean; [rw] | Indicates if whitespace is preserved when reading XML content
property ExpandEntities: Boolean; [rw] | Indicates if entities references are expanded when reading XML values
property IgnoreComments: Boolean; [rw] | Indicates if comments are ignored when reading XML content
property CDSectionsAsText: Boolean; [rw] | Indicates if CDATA sections are treated as Text nodes
property ResolveExternals: Boolean; [rw] | Not used in the current implementation
property Namespaces: Boolean; [rw] | Indicates if Namespaces are handled when reading XML content
property DisallowDoctype: Boolean; [rw] | Indicates if DTDs are handled when reading XML content
property MaxChars: Cardinal; [rw] | Maximum number of characters allowed in expanded entity references
property CanonicalForm: Boolean; [rw] |
end;

Inheritance

TDOMParseOptions

Represents option settings for the TDOMParser class
|

TObject

Description

TDOMParseOptions represents parser options used in the TDOMParser class. TDOMParseOptions contains properties that control the behavior of the DOM parser, and the TXMLReader that uses the parser.

See also

TDOMParser

Implements a parser used to de-serialize XML content into DOM Nodes


TDOMParseOptions
 | Validate
 | PreserveWhitespace
 | ExpandEntities
 | IgnoreComments
 | CDSectionsAsText
 | ResolveExternals
 | Namespaces
 | DisallowDoctype
 | MaxChars
 | CanonicalForm


CanonicalForm (TDOMParseOptions)

CDSectionsAsText (TDOMParseOptions)

DisallowDoctype (TDOMParseOptions)

ExpandEntities (TDOMParseOptions)

IgnoreComments (TDOMParseOptions)

MaxChars (TDOMParseOptions)

Namespaces (TDOMParseOptions)

PreserveWhitespace (TDOMParseOptions)

ResolveExternals (TDOMParseOptions)

Validate (TDOMParseOptions)


TDOMParseOptions


TDOMParseOptions.CanonicalForm

Declaration

Source position: laz2_xmlread.pas line 101

public property TDOMParseOptions.CanonicalForm : Boolean
  read GetCanonical
  write SetCanonical;


TDOMParseOptions.CDSectionsAsText

Indicates if CDATA sections are treated as Text nodes

Declaration

Source position: laz2_xmlread.pas line 96

public property TDOMParseOptions.CDSectionsAsText : Boolean
  read FCDSectionsAsText
  write FCDSectionsAsText;


TDOMParseOptions.DisallowDoctype

Indicates if DTDs are handled when reading XML content

Declaration

Source position: laz2_xmlread.pas line 99

public property TDOMParseOptions.DisallowDoctype : Boolean
  read FDisallowDoctype
  write FDisallowDoctype;


TDOMParseOptions.ExpandEntities

Indicates if entities references are expanded when reading XML values

Declaration

Source position: laz2_xmlread.pas line 94

public property TDOMParseOptions.ExpandEntities : Boolean
  read FExpandEntities
  write FExpandEntities;


TDOMParseOptions.IgnoreComments

Indicates if comments are ignored when reading XML content

Declaration

Source position: laz2_xmlread.pas line 95

public property TDOMParseOptions.IgnoreComments : Boolean
  read FIgnoreComments
  write FIgnoreComments;


TDOMParseOptions.MaxChars

Maximum number of characters allowed in expanded entity references

Declaration

Source position: laz2_xmlread.pas line 100

public property TDOMParseOptions.MaxChars : Cardinal
  read FMaxChars
  write FMaxChars;


TDOMParseOptions.Namespaces

Indicates if Namespaces are handled when reading XML content

Declaration

Source position: laz2_xmlread.pas line 98

public property TDOMParseOptions.Namespaces : Boolean
  read FNamespaces
  write FNamespaces;


TDOMParseOptions.PreserveWhitespace

Indicates if whitespace is preserved when reading XML content

Declaration

Source position: laz2_xmlread.pas line 93

public property TDOMParseOptions.PreserveWhitespace : Boolean
  read FPreserveWhitespace
  write FPreserveWhitespace;


TDOMParseOptions.ResolveExternals

Not used in the current implementation

Declaration

Source position: laz2_xmlread.pas line 97

public property TDOMParseOptions.ResolveExternals : Boolean
  read FResolveExternals
  write FResolveExternals;


TDOMParseOptions.Validate

Indicates if validation is performed when reading XML content

Declaration

Source position: laz2_xmlread.pas line 92

public property TDOMParseOptions.Validate : Boolean
  read FValidate
  write FValidate;


TDOMParser

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a parser used to de-serialize XML content into DOM Nodes

Declaration

Source position: laz2_xmlread.pas line 133

type TDOMParser = class(TObject)
public
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure Parse(); | Parses the input source and updates the specified XML document
procedure ParseUri(); | Parses XML content from the specified URI into the XML document
function ParseWithContext(); | Parses the XML input source into the specified DOM context Node
property Options: TDOMParseOptions; [r] | Options for the DOM parser
property OnError: TXMLErrorEvent; [rw] | Event handler signalled when an error occurs while reading XML content
end;

Inheritance

TDOMParser

Implements a parser used to de-serialize XML content into DOM Nodes
|

TObject

Description

TDOMParser is a class which implements a DOM Parser component. TDOMParser provides methods to parse XML content specified by its URI or using an XML input source. TDOMParser creates DOM nodes needed to represent the XML content, and stores the nodes in a TXMLDocument instance or a DOM content node.

Use the Options property to enable specific features or behavior in the parser. Of particular importance is the Validate, which enables validation when processing XML content in the parser.

DOM (Document Object Model) does not specify an interface for a parser class. TDOMParser utilizes the TXMLReader class to perform the actions required to convert and de-serialize XML content. TXMLReader closely resembles the XMLReader class defined in SAX (Simple API for XML), but uses its own methods instead of Handler class instances to process various DOM Node types. TXMLReader is compliant with the XML 1.0 specification.

See also

TXMLInputSource | Represents the input source for XML content
laz2_DOM.TXMLDocument | Implements an XML Document


TDOMParser

ro

Options


ro

Options (TDOMParser)


TDOMParser
 | Create
 | Destroy
 | Parse
 | ParseUri
 | ParseWithContext


Create (TDOMParser)

Destroy (TDOMParser)

Parse (TDOMParser)

ParseUri (TDOMParser)

ParseWithContext (TDOMParser)


TDOMParser

OnError


TDOMParser.Create

Constructor for the class instance

Declaration

Source position: laz2_xmlread.pas line 138

public constructor TDOMParser.Create;

Description

Create is the constructor for the class instance. Create allocates resources needed for the Options property.

See also

TDOMParser.Options

Options for the DOM parser


TDOMParser.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xmlread.pas line 139

public destructor TDOMParser.Destroy; override;

Description

Destroy is the destructor for the class instance. Destroy frees resources allocated to the Options property, and calls the inherited destructor.

See also

TDOMParser.Options

Options for the DOM parser


TDOMParser.OnError

Event handler signalled when an error occurs while reading XML content

Declaration

Source position: laz2_xmlread.pas line 145

public property TDOMParser.OnError : TXMLErrorEvent
  read FOnError
  write FOnError;

Description

OnError is a TXMLErrorEvent property that implements the event handler signalled when a error occurs while reading or processing XML content in the parser.


TDOMParser.Options

Options for the DOM parser

Declaration

Source position: laz2_xmlread.pas line 144

public property TDOMParser.Options : TDOMParseOptions
  read FOptions;

Description

Options is a read-only TDOMParseOptions property that represents options settings used when processing XML content in the parser.


TDOMParser.Parse

Parses the input source and updates the specified XML document

Declaration

Source position: laz2_xmlread.pas line 140

public procedure TDOMParser.Parse(

  Src: TXMLInputSource;

  out ADoc: TXMLDocument

);

Arguments

Src | XML input source with content parsed in the method
ADoc | XML Document updated in the method

Description

Parse is a procedure used to read and process the XML content in the specified XML input source. Parse creates DOM nodes needed to represent the XML content, and adds them to the specified TXMLDocument.

Parse creates TXMLReader and TXMLCharSource class instances that are used to convert and process the XML content in Src.

ADoc is an output parameter that represents the TXMLDocument created and updated in the XML reader class instance.

See also

laz2_dom.TXMLDocument

Implements an XML Document


TDOMParser.ParseUri

Parses XML content from the specified URI into the XML document

Declaration

Source position: laz2_xmlread.pas line 141

public procedure TDOMParser.ParseUri(

  const URI: DOMString;

  out ADoc: TXMLDocument

);

Arguments

URI | URI with the content parsed in the method
ADoc | XML document updated in the method

Description

ParseURI is a procedure used to read and process the XML content from the specified URI. ParseURI creates DOM nodes needed to represent the XML content, and adds them to the specified TXMLDocument.

ParseURI creates TXMLReader and TXMLCharSource class instances that are used to convert and process the XML content in URI. The value in URI is resolved to determine the absolute URI used when processing the XML content.

ADoc is an output parameter that represents the TXMLDocument created and updated in the XML reader class instance.

See also

laz2_dom.TXMLDocument

Implements an XML Document


TDOMParser.ParseWithContext

Parses the XML input source into the specified DOM context Node

Declaration

Source position: laz2_xmlread.pas line 142

public function TDOMParser.ParseWithContext(

  Src: TXMLInputSource;

  Context: TDOMNode;

  Action: TXMLContextAction

):TDOMNode;

Arguments

Src | XML input source for the operation
Context | DOM Node that provides the context for DOM nodes read in the method
Action | Load and Save action requested for the specified context

Function result

Not used in the current implementation

Description

ParseWithContext is a TDOMNode function used to read and process XML content in the specified XML input source. ParseWithContext creates DOM nodes needed to represent the XML content.

The newly created DOM nodes are accumulated in a temporary DOM Document Fragment, and its child nodes are ultimately added to the DOM node in Context. The insertion point for the new nodes is determined using the Action argument. When Action contains xaAppendAsChildren or xaReplaceChildren, the nodes are added (or replaced) as child nodes in Context. When Action contains xaInsertBefore, xaInsertAfter, or xaReplace, the nodes are added (or replaced) as child nodes in the parent node for Context.

ParseWithContext creates a TXMLReader that is used to convert and process the XML content in the XML input source. The return value contains the first child node in the DOM Document Fragment created in the method.

Errors

An EDOMNotSupported is raised when Action contains xaReplaceChildren and the target node is also a DOM Document node. Replacing the DOM Document is not supported in TDOMParser.

An EDOMHierarchyRequest exception is raised when the target node is not a DOM Element or Document Fragment node.

See also

laz2_dom.TDOMNode | Implements the DOM Node interface
TXMLInputSource | Represents the input source for XML content
TXMLContextAction | Values that control how XML content is stored in a DOM sub-tree


TXMLInputSource

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents the input source for XML content

Declaration

Source position: laz2_xmlread.pas line 114

type TXMLInputSource = class(TObject)
public
constructor Create(); | Constructor for the class instance
property Stream: TStream; [r] | Stream with the XML content for the input source
property StringData: string; [r] | String with the XML content for the input source
property BaseURI: DOMString; [rw] | Base URI for content in the XML input source
property SystemID: DOMString; [rw] | System Identifier for content in the XML input source
property PublicID: DOMString; [rw] | Public Identifier for content in the XML input source
end;

Inheritance

TXMLInputSource

Represents the input source for XML content
|

TObject

Description

TXMLInputSource is a class used to represent an input source for XML content. TXMLInputSource is based on the DOM InputSource interface from DOM Level 3. It is not a fully compliant implementation of the interface. It does not implement separate byteStream and characterStream properties; the Stream and StringData properties are provided instead. In addition, it does not implement the Encoding property. All values in are expected to use the UTF-8 encoding.

Use the overloaded constructors to create an input source with either a string or a stream as the storage for the XML content.

A TXMLInputSource instance is passed as an argument to the TDOMParser.Parse and TDOMParser.ParseWithContext methods. The instance is subsequently passed to the TXMLReader instance that reads XML content from the input source.

See also

TDOMParser.Parse | Parses the input source and updates the specified XML document
TDOMParser.ParseWithContext | Parses the XML input source into the specified DOM context Node


TXMLInputSource
 | ro | Stream
 | ro | StringData
 |  | BaseURI
 |  | SystemID
 |  | PublicID


ro | Stream (TXMLInputSource)
ro | StringData (TXMLInputSource)
 | SystemID (TXMLInputSource)


TXMLInputSource

Create


TXMLInputSource


TXMLInputSource.BaseURI

Base URI for content in the XML input source

Declaration

Source position: laz2_xmlread.pas line 127

public property TXMLInputSource.BaseURI : DOMString
  read FBaseURI
  write FBaseURI;

Description

BaseURI is a String property that represents the absolute resource identifier used to resolve relative URIs found in the XML input source. BaseURI contains the value passed as an argument to the ReadXMLFile, ReadXMLFragment, and ReadDTDFile routines. BaseURI is supplied to TXMLReader and TDOMParser to resolve relative URIs when processing the XML input source.

See also

TDOMParser.ParseURI | Parses XML content from the specified URI into the XML document
ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node
ReadDTDFile | Reads and stores a DTD file into the specified XML document


TXMLInputSource.Create

Constructor for the class instance

Declaration

Source position: laz2_xmlread.pas line 123

public constructor TXMLInputSource.Create(

  AStream: TStream

); overload;

constructor TXMLInputSource.Create(

  const AStringData: string

); overload;

Arguments

AStream

Stream with the content for the XML input source

Arguments

AStringData

Values used as the content for the XML input source

Description

Create is the overloaded constructor for the class instance. The variants allow the content for the input source to be assigned using a String or a TStream descendant. Both variants call the inherited constructor to initialize the class instance. The values in AStringData and AStream are assigned to their corresponding properties.


TXMLInputSource.PublicID

Public Identifier for content in the XML input source

Declaration

Source position: laz2_xmlread.pas line 129

public property TXMLInputSource.PublicID : DOMString
  read FPublicID
  write FPublicID;

Description

PublicID is a String property that represent the Public Identifier for content in the XML input source. PublicID contains a value in the following format:

[Prefix]//[OwnerID]//[TextClass] [TextDescription]//[Language]//[DisplayVersion]

Where the components have the following values and meanings:

[Prefix]
One of the values: '-', '+', or 'ISO'
[OwnerID]
A value like 'W3C' or 'mozilla,.org'
[TextClass]
Values like 'DTD' or 'NOTATION'
[TextDescription]
Values like 'HTML 4.01' or 'DocBook XML V5.0'
[Language]
Values like 'EN', 'FR', 'DE'
[DisplayVersion]
Optional values

For example, the PublicID for DocBook version 5 is:

-//OASIS//DTD DocBook V5.0//EN

Use SystemID to get the URI (or URL) for the resource.

See also

TXMLInputSource.SystemID

System Identifier for content in the XML input source


TXMLInputSource.Stream

Stream with the XML content for the input source

Declaration

Source position: laz2_xmlread.pas line 125

public property TXMLInputSource.Stream : TStream
  read FStream;

Description

Stream is a read-only TStream property that contains the TStream descendant with the XML content for the input source. The value in Stream is assigned in the Create constructor.


TXMLInputSource.StringData

String with the XML content for the input source

Declaration

Source position: laz2_xmlread.pas line 126

public property TXMLInputSource.StringData : string
  read FStringData;

Description

StringData is a read-only String property that contains the XML content for the input source. The value in StringData is assigned in the Create constructor.


TXMLInputSource.SystemID

System Identifier for content in the XML input source

Declaration

Source position: laz2_xmlread.pas line 128

public property TXMLInputSource.SystemID : DOMString
  read FSystemID
  write FSystemID;

Description

SystemID is a String property that represents the System Identifier for content in the XML input source. SystemID normally contains a URL for the resource.

The initial value in SystemID is the BaseURI passed as an argument to the ReadXMLFile, ReadXMLFragment, and ReadDTDFile routines. SystemID is updated when TXMLReader is used to resolve entity references, notations, or document types in the XML content for the input source.

See also

ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node
ReadDTDFile | Reads and stores a DTD file into the specified XML document


TBinding

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz2_xmlutils.pas line 113

type TBinding = class

public

  uri: TXMLUtilString;

  next: TBinding;

  prevPrefixBinding: TObject;

  Prefix: PHashItem;

end;

Inheritance

TBinding

|

TObject


TBinding


TBinding.next

Declaration

Source position: laz2_xmlutils.pas line 116

public TBinding.next : TBinding;


TBinding.Prefix

Declaration

Source position: laz2_xmlutils.pas line 118

public TBinding.Prefix : PHashItem;


TBinding.prevPrefixBinding

Declaration

Source position: laz2_xmlutils.pas line 117

public TBinding.prevPrefixBinding : TObject;


TBinding.uri

Declaration

Source position: laz2_xmlutils.pas line 115

public TBinding.uri : TXMLUtilString;


TDblHashArray

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz2_xmlutils.pas line 102

type TDblHashArray = class(TObject)

public

  procedure Init();

  function Locate();

  destructor Destroy; override;

end;

Inheritance

TDblHashArray

|

TObject


TDblHashArray


TDblHashArray
 | Init
 | Locate
 | Destroy


TDblHashArray.Destroy

Declaration

Source position: laz2_xmlutils.pas line 110

public destructor TDblHashArray.Destroy; override;


TDblHashArray.Init

Declaration

Source position: laz2_xmlutils.pas line 108

public procedure TDblHashArray.Init(

  NumSlots: Integer

);


TDblHashArray.Locate

Declaration

Source position: laz2_xmlutils.pas line 109

public function TDblHashArray.Locate(

  uri: PXMLUtilString;

  localName: PXMLUtilChar;

  localLength: Integer

):Boolean;


THashTable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz2_xmlutils.pas line 68

type THashTable = class(TObject)

public

  constructor Create();

  destructor Destroy; override;

  procedure Clear;

  function Find();

  function FindOrAdd();

  function Get();

  function Remove();

  function RemoveData();

  procedure ForEach();

  property Count: LongWord; [r]

end;

Inheritance

THashTable

|

TObject


THashTable

ro

Count


ro

Count (THashTable)


THashTable
 | Create
 | Destroy
 | Clear
 | Find
 | FindOrAdd
 | Get
 | Remove
 | RemoveData
 | ForEach


Clear (THashTable)

Create (THashTable)

Destroy (THashTable)

Find (THashTable)

FindOrAdd (THashTable)

ForEach (THashTable)

Get (THashTable)

Remove (THashTable)

RemoveData (THashTable)


THashTable


THashTable.Clear

Declaration

Source position: laz2_xmlutils.pas line 79

public procedure THashTable.Clear;


THashTable.Count

Declaration

Source position: laz2_xmlutils.pas line 87

public property THashTable.Count : LongWord
  read FCount;


THashTable.Create

Declaration

Source position: laz2_xmlutils.pas line 77

public constructor THashTable.Create(

  InitSize: Integer;

  OwnObjects: Boolean

);


THashTable.Destroy

Declaration

Source position: laz2_xmlutils.pas line 78

public destructor THashTable.Destroy; override;


THashTable.Find

Declaration

Source position: laz2_xmlutils.pas line 80

public function THashTable.Find(

  Key: PXMLUtilChar;

  KeyLen: Integer

):PHashItem;


THashTable.FindOrAdd

Declaration

Source position: laz2_xmlutils.pas line 81

public function THashTable.FindOrAdd(

  Key: PXMLUtilChar;

  KeyLen: Integer;

  out Found: Boolean

):PHashItem; overload;

function THashTable.FindOrAdd(

  Key: PXMLUtilChar;

  KeyLen: Integer

):PHashItem; overload;


THashTable.ForEach

Declaration

Source position: laz2_xmlutils.pas line 86

public procedure THashTable.ForEach(

  proc: THashForEach;

  arg: Pointer

);


THashTable.Get

Declaration

Source position: laz2_xmlutils.pas line 83

public function THashTable.Get(

  Key: PXMLUtilChar;

  KeyLen: Integer

):TObject;


THashTable.Remove

Declaration

Source position: laz2_xmlutils.pas line 84

public function THashTable.Remove(

  Entry: PHashItem

):Boolean;


THashTable.RemoveData

Declaration

Source position: laz2_xmlutils.pas line 85

public function THashTable.RemoveData(

  aData: TObject

):Boolean;


TNSSupport

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz2_xmlutils.pas line 127

type TNSSupport = class(TObject)

public

  constructor Create;

  destructor Destroy; override;

  procedure DefineBinding();

  function CheckAttribute();

  function IsPrefixBound();

  function GetPrefix();

  function BindPrefix();

  function DefaultNSBinding;

  procedure StartElement;

  procedure EndElement;

end;

Inheritance

TNSSupport

|

TObject


TNSSupport


TNSSupport
 | Create
 | Destroy
 | DefineBinding
 | CheckAttribute
 | IsPrefixBound
 | GetPrefix
 | BindPrefix
 | DefaultNSBinding
 | StartElement
 | EndElement


BindPrefix (TNSSupport)

CheckAttribute (TNSSupport)

Create (TNSSupport)

DefaultNSBinding (TNSSupport)

DefineBinding (TNSSupport)

Destroy (TNSSupport)

EndElement (TNSSupport)

GetPrefix (TNSSupport)

IsPrefixBound (TNSSupport)

StartElement (TNSSupport)


TNSSupport.BindPrefix

Declaration

Source position: laz2_xmlutils.pas line 144

public function TNSSupport.BindPrefix(

  const nsURI: TXMLUtilString;

  aPrefix: PHashItem

):TBinding;


TNSSupport.CheckAttribute

Declaration

Source position: laz2_xmlutils.pas line 140

public function TNSSupport.CheckAttribute(

  const Prefix: TXMLUtilString;

  const nsURI: TXMLUtilString;

  out Binding: TBinding

):TAttributeAction;


TNSSupport.Create

Declaration

Source position: laz2_xmlutils.pas line 137

public constructor TNSSupport.Create;


TNSSupport.DefaultNSBinding

Declaration

Source position: laz2_xmlutils.pas line 145

public function TNSSupport.DefaultNSBinding: TBinding;


TNSSupport.DefineBinding

Declaration

Source position: laz2_xmlutils.pas line 139

public procedure TNSSupport.DefineBinding(

  const Prefix: TXMLUtilString;

  const nsURI: TXMLUtilString;

  out Binding: TBinding

);


TNSSupport.Destroy

Declaration

Source position: laz2_xmlutils.pas line 138

public destructor TNSSupport.Destroy; override;


TNSSupport.EndElement

Declaration

Source position: laz2_xmlutils.pas line 147

public procedure TNSSupport.EndElement;


TNSSupport.GetPrefix

Declaration

Source position: laz2_xmlutils.pas line 143

public function TNSSupport.GetPrefix(

  P: PXMLUtilChar;

  Len: Integer

):PHashItem;


TNSSupport.IsPrefixBound

Declaration

Source position: laz2_xmlutils.pas line 142

public function TNSSupport.IsPrefixBound(

  P: PXMLUtilChar;

  Len: Integer;

  out Prefix: PHashItem

):Boolean;


TNSSupport.StartElement

Declaration

Source position: laz2_xmlutils.pas line 146

public procedure TNSSupport.StartElement;


EXPathEvaluationError

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Exception raised when an error occurs during XPath expression evaluation

Declaration

Source position: laz2_xpath.pas line 246

type EXPathEvaluationError = class(Exception)

Inheritance

EXPathEvaluationError

Exception raised when an error occurs during XPath expression evaluation

|

Exception
|

TObject


EXPathEvaluationError
Exception
 | HelpContext
 | Message
TObject


EXPathEvaluationError
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


EXPathEvaluationError

Exception

TObject


TStep

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an XPath Location Step

Declaration

Source position: laz2_xpath.pas line 231

type TStep = class(TXPathFilterNode)
public
Axis: TAxis; | Axis type for the Location Step
NodeTestType: TNodeTestType; | Node Test Type for the Location Step
NodeTestString: DOMString; | Node Test Type as a String value
NSTestString: DOMString; | Namespace Test as a String value
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression for the Location Step
end;

Inheritance

TStep | Implements an XPath Location Step
|
TXPathFilterNode | Implements an XPath Filter expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TStep is a TXPathFilterNode descendant used to implement a Location Step expression in the XPath syntax. A location step expression contains an Axis name, a node test, and optional predicates that determine the items available in a node set. For example:

./child::book[@lang='en']

Use the constructor to specify the Axis and Node Test for the XPath expression. An overridden Evaluate method is provided to select the nodes included in the node set returned by the method.


TStep

TXPathFilterNode

TXPathExprNode


TStep
 | Create
 | Evaluate
TXPathFilterNode
 | Create
 | Destroy
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathFilterNode)
 | Evaluate (TStep)


TStep.Axis

Axis type for the Location Step

Declaration

Source position: laz2_xpath.pas line 235

public TStep.Axis : TAxis;


TStep.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 239

public constructor TStep.Create(

  aAxis: TAxis;

  aTest: TNodeTestType

);

Arguments

aAxis | Axis type to use for the Location Step
aTest | Node Test Type to use for the Location Step


TStep.Evaluate

Evaluates the XPath expression for the Location Step

Declaration

Source position: laz2_xpath.pas line 240

public function TStep.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TStep.NodeTestString

Node Test Type as a String value

Declaration

Source position: laz2_xpath.pas line 237

public TStep.NodeTestString : DOMString;


TStep.NodeTestType

Node Test Type for the Location Step

Declaration

Source position: laz2_xpath.pas line 236

public TStep.NodeTestType : TNodeTestType;


TStep.NSTestString

Namespace Test as a String value

Declaration

Source position: laz2_xpath.pas line 238

public TStep.NSTestString : DOMString;


TXPathBinaryNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

The base class for Binary Operations

Declaration

Source position: laz2_xpath.pas line 142

type TXPathBinaryNode = class(TXPathExprNode)

protected

  FOperand1: TXPathExprNode;

  FOperand2: TXPathExprNode;

public

  destructor Destroy; override;

Destructor for the class instance

end;

Inheritance

TXPathBinaryNode | The base class for Binary Operations
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject


TXPathBinaryNode

TXPathExprNode


TXPathBinaryNode
 | Destroy
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)


TXPathBinaryNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 146

public destructor TXPathBinaryNode.Destroy; override;


TXPathBinaryNode.FOperand1

Declaration

Source position: laz2_xpath.pas line 144

protected TXPathBinaryNode.FOperand1 : TXPathExprNode;


TXPathBinaryNode.FOperand2

Declaration

Source position: laz2_xpath.pas line 144

protected TXPathBinaryNode.FOperand2 : TXPathExprNode;


TXPathBooleanOpNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents a Boolean expression in XPath syntax

Declaration

Source position: laz2_xpath.pas line 183

type TXPathBooleanOpNode = class(TXPathBinaryNode)
public
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathBooleanOpNode | Represents a Boolean expression in XPath syntax
|
TXPathBinaryNode | The base class for Binary Operations
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathBooleanOpNode is a TXPathBinaryNode descendant used to represent an And or Or expression in XPath syntax. TXPathBooleanOpNode provides an overridden constructor that specifies the operator and operands for the XPath expression. TXPathBooleanOpNode contains an overridden Evaluate method which performs the comparison using Boolean short-circuit logic; i. e. the second operand is ignored if the result can be determined using the first operand.


TXPathBooleanOpNode

TXPathBinaryNode

TXPathExprNode


TXPathBooleanOpNode
 | Create
 | Evaluate
TXPathBinaryNode
 | Destroy
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathBooleanOpNode)


TXPathBooleanOpNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 187

public constructor TXPathBooleanOpNode.Create(

  AOperator: TXPathBooleanOp;

  AOperand1: TXPathExprNode;

  AOperand2: TXPathExprNode

);

Arguments

AOperator | Operator for the Boolean expression
AOperand1 | Left hand operand
AOperand2 | Right hand operand


TXPathBooleanOpNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 189

public function TXPathBooleanOpNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TXPathBooleanVariable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Boolean variable

Declaration

Source position: laz2_xpath.pas line 283

type TXPathBooleanVariable = class(TXPathVariable)
public
constructor Create(); | Constructor for the class instance
class function TypeName; override; | Gets the value for TypeName
function AsBoolean; override; | Gets the value for the Boolean variable as a Boolean data type
function AsNumber; override; | Gets the value for the Boolean variable as a Numeric data type
function AsText; override; | Gets the value for the Boolean variable as a String data type
property Value: Boolean; [r] | Value for the Boolean variable
end;

Inheritance

TXPathBooleanVariable | Represents an XPath Boolean variable
|
TXPathVariable | Base class used to represent an XPath variables and results
|
TObject


TXPathBooleanVariable

ro

Value

TXPathVariable


ro

Value (TXPathBooleanVariable)


TXPathBooleanVariable
 | Create
 | TypeName
 | AsBoolean
 | AsNumber
 | AsText
TXPathVariable
pt | Error
 | TypeName
 | Release
 | AsNodeSet
 | AsBoolean
 | AsNumber
 | AsText


 | AsBoolean (TXPathVariable)
 | AsBoolean (TXPathBooleanVariable)
 | AsNodeSet (TXPathVariable)
 | AsNumber (TXPathVariable)
 | AsNumber (TXPathBooleanVariable)
 | AsText (TXPathVariable)
 | AsText (TXPathBooleanVariable)
 | Create (TXPathBooleanVariable)
pt | Error (TXPathVariable)
 | Release (TXPathVariable)
 | TypeName (TXPathVariable)
 | TypeName (TXPathBooleanVariable)


TXPathBooleanVariable

TXPathVariable


TXPathBooleanVariable.AsBoolean

Gets the value for the Boolean variable as a Boolean data type

Declaration

Source position: laz2_xpath.pas line 289

public function TXPathBooleanVariable.AsBoolean: Boolean; override;

Function result

Boolean value for the variable


TXPathBooleanVariable.AsNumber

Gets the value for the Boolean variable as a Numeric data type

Declaration

Source position: laz2_xpath.pas line 290

public function TXPathBooleanVariable.AsNumber: Extended; override;

Function result

Numeric value for the variable


TXPathBooleanVariable.AsText

Gets the value for the Boolean variable as a String data type

Declaration

Source position: laz2_xpath.pas line 291

public function TXPathBooleanVariable.AsText: DOMString; override;

Function result

String value for the variable


TXPathBooleanVariable.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 287

public constructor TXPathBooleanVariable.Create(

  AValue: Boolean

);

Arguments

AValue

Initial value for the variable


TXPathBooleanVariable.TypeName

Gets the value for TypeName

Declaration

Source position: laz2_xpath.pas line 288

public class function TXPathBooleanVariable.TypeName: string; override;

Function result

The value for TypeName


TXPathBooleanVariable.Value

Value for the Boolean variable

Declaration

Source position: laz2_xpath.pas line 292

public property TXPathBooleanVariable.Value : Boolean
  read FValue;


TXPathCompareNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Comparison expression

Declaration

Source position: laz2_xpath.pas line 168

type TXPathCompareNode = class(TXPathBinaryNode)
public
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluate the XPath Comparison expression
end;

Inheritance

TXPathCompareNode | Represents an XPath Comparison expression
|
TXPathBinaryNode | The base class for Binary Operations
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathCompareNode is a TXPathBinaryNode descendant used to represent Equality or Relational expressions in the XPath syntax.

TXPathCompareNode contains an overridden constructor used to specify the operator and operands for the comparison expression. TXPathCompareNode provides an overridden Evaluate method which compares the nodes or node sets for the XPath expression.


TXPathCompareNode

TXPathBinaryNode

TXPathExprNode


TXPathCompareNode
 | Create
 | Evaluate
TXPathBinaryNode
 | Destroy
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathCompareNode)


TXPathCompareNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 172

public constructor TXPathCompareNode.Create(

  AOperator: TXPathCompareOp;

  AOperand1: TXPathExprNode;

  AOperand2: TXPathExprNode

);

Arguments

AOperator | Operator for the comparison
AOperand1 | Left hand Operand
AOperand2 | Right hand Operand


TXPathCompareNode.Evaluate

Evaluate the XPath Comparison expression

Declaration

Source position: laz2_xpath.pas line 174

public function TXPathCompareNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the comparison


TXPathConstantNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Literal expression

Declaration

Source position: laz2_xpath.pas line 97

type TXPathConstantNode = class(TXPathExprNode)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression using the context node and environment
end;

Inheritance

TXPathConstantNode | Represents an XPath Literal expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathConstantNode is a TXPathExprNode descendant that represents an XPath predicate expression which contains a Literal value (any value surrounded by Quotation Marks). The return value is the TXPathVariable passed to the constructor for the class instance.

See also

TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathVariable | Base class used to represent an XPath variables and results


TXPathConstantNode

TXPathExprNode


TXPathConstantNode
 | Create
 | Destroy
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathConstantNode)


TXPathConstantNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 101

public constructor TXPathConstantNode.Create(

  AValue: TXPathVariable

);

Arguments

AValue

XPath variable with the value for the literal expression


TXPathConstantNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 102

public destructor TXPathConstantNode.Destroy; override;


TXPathConstantNode.Evaluate

Evaluates the XPath expression using the context node and environment

Declaration

Source position: laz2_xpath.pas line 103

public function TXPathConstantNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the evaluation
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TXPathContext

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents the Context for an XPath expression

Declaration

Source position: laz2_xpath.pas line 369

type TXPathContext = class
public
ContextNode: TDOMNode; | The node for the XPath context
ContextPosition: Integer; | The position in the context node
ContextSize: Integer; | The size (or length) of the context node set
constructor Create(); | Constructor for the class instance
end;

Inheritance

TXPathContext

Represents the Context for an XPath expression
|

TObject


TXPathContext


TXPathContext

Create


TXPathContext.ContextNode

The node for the XPath context

Declaration

Source position: laz2_xpath.pas line 371

public TXPathContext.ContextNode : TDOMNode;


TXPathContext.ContextPosition

The position in the context node

Declaration

Source position: laz2_xpath.pas line 372

public TXPathContext.ContextPosition : Integer;


TXPathContext.ContextSize

The size (or length) of the context node set

Declaration

Source position: laz2_xpath.pas line 373

public TXPathContext.ContextSize : Integer;


TXPathContext.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 375

public constructor TXPathContext.Create(

  AContextNode: TDOMNode;

  AContextPosition: Integer;

  AContextSize: Integer

);

Arguments

AContextNode | Context node for the expression
AContextPosition | Position in the context node
AContextSize | Size (or length) of the context node set


TXPathEnvironment

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Provides access to functions and variables available in the XPath environment

Declaration

Source position: laz2_xpath.pas line 389

type TXPathEnvironment = class
protected
function xpLast(); | Implements the last() function from the XPath Core Function Library
function xpPosition(); | Implements the position() function from the XPath Core Function Library
function xpCount(); | Implements the count() function from the XPath Core Function Library
function xpId(); | Implements the id() function from the XPath Core Function Library
function xpLocalName(); | Implements the local-name() function from the XPath Core Function Library
function xpNamespaceURI(); | Implements the namespace-uri() function from the XPath Core Function Library
function xpName(); | Implements the name() function from the XPath Core Function Library
function xpString(); | Implements the string() function from the XPath Core Function Library
function xpConcat(); | Implements the concat() function from the XPath Core Function Library
function xpStartsWith(); | Implements the starts-with() function from the XPath Core Function Library
function xpContains(); | Implements the contains() function from the XPath Core Function Library
function xpSubstringBefore(); | Implements the substring-before() function from the XPath Core Function Library
function xpSubstringAfter(); | Implements the substring-after() function from the XPath Core Function Library
function xpSubstring(); | Implements the substring() function from the XPath Core Function Library
function xpStringLength(); | Implements the string-length() function from the XPath Core Function Library
function xpNormalizeSpace(); | Implements the normalize-space() function from the XPath Core Function Library
function xpTranslate(); | Implements the translate() function from the XPath Core Function Library
function xpBoolean(); | Implements the boolean() function from the XPath Core Function Library
function xpNot(); | Implements the not() function from the XPath Core Function Library
function xpTrue(); | Implements the true() function from the XPath Core Function Library
function xpFalse(); | Implements the false() function from the XPath Core Function Library
function xpLang(); | Implements the lang() function from the XPath Core Function Library
function xpNumber(); | Implements the number() function from the XPath Core Function Library
function xpSum(); | Implements the sum() function from the XPath Core Function Library
function xpFloor(); | Implements the floor() function from the XPath Core Function Library
function xpCeiling(); | Implements the ceiling() function from the XPath Core Function Library
function xpRound(); | Implements the round() function from the XPath Core Function Library
public
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function GetFunctionIndex(); | Gets the ordinal position of the XPath function with the specified name
function GetVariableIndex(); | Gets the ordinal position of the variable with the specified name
procedure AddFunction(); | Adds a function to the Functions property with the specified name
procedure AddVariable(); | Adds a variable with the given name and value to the Variables property
procedure RemoveFunction(); | Removes a function with the specified name or ordinal position from the Functions property
procedure RemoveVariable(); | Removes a variable with the specified name or ordinal position
property FunctionCount: Integer; [r] | Indicates the number of XPath functions in the XPath environment
property VariableCount: Integer; [r] | Indicates the number of variables defined in the XPath environment
property Functions []: TXPathFunction; [r] | Provides indexed access to XPath functions in the environment
property FunctionsByName []: TXPathFunction; [r] | Gets an XPath function with the specified name
property Variables []: TXPathVariable; [r] | Provides indexed access to XPath variables in the XPath environment
property VariablesByName []: TXPathVariable; [r] | Gets an XPath variable with the specified name
end;

Inheritance

TXPathEnvironment

Provides access to functions and variables available in the XPath environment

|

TObject

Description

TXPathEnvironment is a class which provides access to the core function library and variable bindings available for use in an XPath context. TXPathEnvironment is not an interface that is directly mandated in the XPath specification, but the functionality it provides is required for any XPath Context node.

TXPathEnvironment provides methods used to add or remove Functions or Variables in the XPath environment. Properties are provided to access Functions and Variables by their name or their ordinal position. The Functions property is pre-populated with the Core Function Library described in the XPath specification.

See also

TXPathFunction | Implements an XPath function
TXPathVariable | Base class used to represent an XPath variables and results


TXPathEnvironment
 | ro | FunctionCount
 | ro | VariableCount
 | ro | Functions
 | ro | FunctionsByName
 | ro | Variables
 | ro | VariablesByName


ro | FunctionCount (TXPathEnvironment)
ro | Functions (TXPathEnvironment)
ro | FunctionsByName (TXPathEnvironment)
ro | VariableCount (TXPathEnvironment)
ro | Variables (TXPathEnvironment)
ro | VariablesByName (TXPathEnvironment)


TXPathEnvironment
pt | xpLast
pt | xpPosition
pt | xpCount
pt | xpId
pt | xpLocalName
pt | xpNamespaceURI
pt | xpName
pt | xpString
pt | xpConcat
pt | xpStartsWith
pt | xpContains
pt | xpSubstringBefore
pt | xpSubstringAfter
pt | xpSubstring
pt | xpStringLength
pt | xpNormalizeSpace
pt | xpTranslate
pt | xpBoolean
pt | xpNot
pt | xpTrue
pt | xpFalse
pt | xpLang
pt | xpNumber
pt | xpSum
pt | xpFloor
pt | xpCeiling
pt | xpRound
 | Create
 | Destroy
 | GetFunctionIndex
 | GetVariableIndex
 | AddFunction
 | AddVariable
 | RemoveFunction
 | RemoveVariable


 | AddFunction (TXPathEnvironment)
 | AddVariable (TXPathEnvironment)
 | Create (TXPathEnvironment)
 | Destroy (TXPathEnvironment)
 | GetFunctionIndex (TXPathEnvironment)
 | GetVariableIndex (TXPathEnvironment)
 | RemoveFunction (TXPathEnvironment)
 | RemoveVariable (TXPathEnvironment)
pt | xpBoolean (TXPathEnvironment)
pt | xpCeiling (TXPathEnvironment)
pt | xpConcat (TXPathEnvironment)
pt | xpContains (TXPathEnvironment)
pt | xpCount (TXPathEnvironment)
pt | xpFalse (TXPathEnvironment)
pt | xpFloor (TXPathEnvironment)
pt | xpId (TXPathEnvironment)
pt | xpLang (TXPathEnvironment)
pt | xpLast (TXPathEnvironment)
pt | xpLocalName (TXPathEnvironment)
pt | xpName (TXPathEnvironment)
pt | xpNamespaceURI (TXPathEnvironment)
pt | xpNormalizeSpace (TXPathEnvironment)
pt | xpNot (TXPathEnvironment)
pt | xpNumber (TXPathEnvironment)
pt | xpPosition (TXPathEnvironment)
pt | xpRound (TXPathEnvironment)
pt | xpStartsWith (TXPathEnvironment)
pt | xpString (TXPathEnvironment)
pt | xpStringLength (TXPathEnvironment)
pt | xpSubstring (TXPathEnvironment)
pt | xpSubstringAfter (TXPathEnvironment)
pt | xpSubstringBefore (TXPathEnvironment)
pt | xpSum (TXPathEnvironment)
pt | xpTranslate (TXPathEnvironment)
pt | xpTrue (TXPathEnvironment)


TXPathEnvironment


TXPathEnvironment.AddFunction

Adds a function to the Functions property with the specified name

Declaration

Source position: laz2_xpath.pas line 433

public procedure TXPathEnvironment.AddFunction(

  const AName: string;

  AFunction: TXPathFunction

);

Arguments

AName | Name for the function added to the Functions property
AFunction | Function implementation to use for the specified function name


TXPathEnvironment.AddVariable

Adds a variable with the given name and value to the Variables property

Declaration

Source position: laz2_xpath.pas line 434

public procedure TXPathEnvironment.AddVariable(

  const AName: string;

  AVariable: TXPathVariable

);

Arguments

AName | Name of the variable added in the method
AVariable | Value for the variable added in the method


TXPathEnvironment.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 429

public constructor TXPathEnvironment.Create;


TXPathEnvironment.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 430

public destructor TXPathEnvironment.Destroy; override;


TXPathEnvironment.FunctionCount

Indicates the number of XPath functions in the XPath environment

Declaration

Source position: laz2_xpath.pas line 439

public property TXPathEnvironment.FunctionCount : Integer
  read GetFunctionCount;


TXPathEnvironment.Functions

Provides indexed access to XPath functions in the environment

Declaration

Source position: laz2_xpath.pas line 441

public property TXPathEnvironment.Functions[Index: Integer] : TXPathFunction
  read GetFunction;


TXPathEnvironment.FunctionsByName

Gets an XPath function with the specified name

Declaration

Source position: laz2_xpath.pas line 442

public property TXPathEnvironment.FunctionsByName[AName: string] : TXPathFunction
  read GetFunction;


TXPathEnvironment.GetFunctionIndex

Gets the ordinal position of the XPath function with the specified name

Declaration

Source position: laz2_xpath.pas line 431

public function TXPathEnvironment.GetFunctionIndex(

  const AName: string

):Integer;

Arguments

AName

Name of the XPath function to locate in the Functions property

Function result

Ordinal position of the XPath function with the specified name


TXPathEnvironment.GetVariableIndex

Gets the ordinal position of the variable with the specified name

Declaration

Source position: laz2_xpath.pas line 432

public function TXPathEnvironment.GetVariableIndex(

  const AName: string

):Integer;

Arguments

AName

Name of the variable to locate in the Variables property

Function result

Ordinal position of the variable with the specified name


TXPathEnvironment.RemoveFunction

Removes a function with the specified name or ordinal position from the Functions property

Declaration

Source position: laz2_xpath.pas line 435

public procedure TXPathEnvironment.RemoveFunction(

  Index: Integer

);

procedure TXPathEnvironment.RemoveFunction(

  const AName: string

);

Arguments

Index

Ordinal position for the Function with the specified name

Arguments

AName

Name of the function to remove from the Functions property


TXPathEnvironment.RemoveVariable

Removes a variable with the specified name or ordinal position

Declaration

Source position: laz2_xpath.pas line 437

public procedure TXPathEnvironment.RemoveVariable(

  Index: Integer

);

procedure TXPathEnvironment.RemoveVariable(

  const AName: string

);

Arguments

Index

Ordinal position for the variable to remove from the XPath environment

Arguments

AName

Name of the variable to remove from the XPath environment


TXPathEnvironment.VariableCount

Indicates the number of variables defined in the XPath environment

Declaration

Source position: laz2_xpath.pas line 440

public property TXPathEnvironment.VariableCount : Integer
  read GetVariableCount;


TXPathEnvironment.Variables

Provides indexed access to XPath variables in the XPath environment

Declaration

Source position: laz2_xpath.pas line 444

public property TXPathEnvironment.Variables[Index: Integer] : TXPathVariable
  read GetVariable;


TXPathEnvironment.VariablesByName

Gets an XPath variable with the specified name

Declaration

Source position: laz2_xpath.pas line 445

public property TXPathEnvironment.VariablesByName[AName: string] : TXPathVariable
  read GetVariable;


TXPathEnvironment.xpBoolean

Implements the boolean() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 418

protected function TXPathEnvironment.xpBoolean(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpCeiling

Implements the ceiling() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 426

protected function TXPathEnvironment.xpCeiling(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpConcat

Implements the concat() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 409

protected function TXPathEnvironment.xpConcat(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpContains

Implements the contains() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 411

protected function TXPathEnvironment.xpContains(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpCount

Implements the count() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 403

protected function TXPathEnvironment.xpCount(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpFalse

Implements the false() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 421

protected function TXPathEnvironment.xpFalse(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpFloor

Implements the floor() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 425

protected function TXPathEnvironment.xpFloor(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpId

Implements the id() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 404

protected function TXPathEnvironment.xpId(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpLang

Implements the lang() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 422

protected function TXPathEnvironment.xpLang(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpLast

Implements the last() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 401

protected function TXPathEnvironment.xpLast(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpLocalName

Implements the local-name() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 405

protected function TXPathEnvironment.xpLocalName(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpName

Implements the name() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 407

protected function TXPathEnvironment.xpName(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpNamespaceURI

Implements the namespace-uri() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 406

protected function TXPathEnvironment.xpNamespaceURI(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpNormalizeSpace

Implements the normalize-space() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 416

protected function TXPathEnvironment.xpNormalizeSpace(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpNot

Implements the not() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 419

protected function TXPathEnvironment.xpNot(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpNumber

Implements the number() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 423

protected function TXPathEnvironment.xpNumber(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpPosition

Implements the position() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 402

protected function TXPathEnvironment.xpPosition(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpRound

Implements the round() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 427

protected function TXPathEnvironment.xpRound(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpStartsWith

Implements the starts-with() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 410

protected function TXPathEnvironment.xpStartsWith(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpString

Implements the string() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 408

protected function TXPathEnvironment.xpString(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpStringLength

Implements the string-length() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 415

protected function TXPathEnvironment.xpStringLength(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpSubstring

Implements the substring() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 414

protected function TXPathEnvironment.xpSubstring(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpSubstringAfter

Implements the substring-after() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 413

protected function TXPathEnvironment.xpSubstringAfter(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpSubstringBefore

Implements the substring-before() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 412

protected function TXPathEnvironment.xpSubstringBefore(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpSum

Implements the sum() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 424

protected function TXPathEnvironment.xpSum(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpTranslate

Implements the translate() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 417

protected function TXPathEnvironment.xpTranslate(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathEnvironment.xpTrue

Implements the true() function from the XPath Core Function Library

Declaration

Source position: laz2_xpath.pas line 420

protected function TXPathEnvironment.xpTrue(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable;

Arguments

Context | Context node for the function
Args | Arguments for the function

Function result

Variable returned by the XPath function


TXPathExpression

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Evaluates an XPath expression using the specified scanner and resolver

Declaration

Source position: laz2_xpath.pas line 451

type TXPathExpression = class
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function Evaluate(); | Evaluates an XPath expression using the specified context node and environment
end;

Inheritance

TXPathExpression

Evaluates an XPath expression using the specified scanner and resolver

|

TObject


TXPathExpression


TXPathExpression
 | Create
 | Destroy
 | Evaluate


TXPathExpression.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 457

public constructor TXPathExpression.Create(

  AScanner: TXPathScanner;

  CompleteExpression: Boolean;

  AResolver: TXPathNSResolver = Nil

);

Arguments

AScanner | Lexical scanner/parser used to evaluate the expression
CompleteExpression | The XPath expression evaluated in the class instance
AResolver | Namespace resolver used to evaluate the expression


TXPathExpression.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 459

public destructor TXPathExpression.Destroy; override;


TXPathExpression.Evaluate

Evaluates an XPath expression using the specified context node and environment

Declaration

Source position: laz2_xpath.pas line 460

public function TXPathExpression.Evaluate(

  AContextNode: TDOMNode

):TXPathVariable;

function TXPathExpression.Evaluate(

  AContextNode: TDOMNode;

  AEnvironment: TXPathEnvironment

):TXPathVariable;

Arguments

AContextNode

Context node for the expression

Function result

Value from the evaluated expression

Arguments

AContextNode | Context node for the expression
AEnvironment | XPath environment for the evaluation


TXPathExprNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Defines the base class used to evaluate XPath expressions

Declaration

Source position: laz2_xpath.pas line 86

type TXPathExprNode = class
protected
function EvalPredicate(); | Evaluates an XPath Predicate Expression
public
function Evaluate(); virtual; abstract; | Specifies the method used to evaluate an XPath Predicate Expression
end;

Inheritance

TXPathExprNode

Defines the base class used to evaluate XPath expressions

|

TObject

Description

TXPathExprNode is a class used to evaluate an XPath expression. XPath expressions are evaluated relative to a context node, and the XPath environment. The XPath environment may contain variable bindings, the XPath core functions, and other functions loaded from other namespaces.

TXPathExprNode provides the abstract Evaluate method which is used to perform XPath expression evaluation. It must be re-implemented in descendent classes which provide support for specific expression types that can occur in XPath syntax.


TXPathExprNode


TXPathExprNode
pt | EvalPredicate
 | Evaluate


TXPathExprNode.EvalPredicate

Evaluates an XPath Predicate Expression

Declaration

Source position: laz2_xpath.pas line 88

protected function TXPathExprNode.EvalPredicate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):Boolean;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Boolean result for the evaluated expression

Description

EvalPredicate is a Boolean function used to evaluate an XPath Predicate Expression. EvalPredicate calls the Evaluate method using the specified Content node and Environment. An Expression that evaluates to a numeric value is considered to be True when the result matches the ContextPosition in the AContext argument.

EvalPredicate is used in the implementation of other specialized Predicate Expressions types descended from TXPathExprNode.


TXPathExprNode.Evaluate

Specifies the method used to evaluate an XPath Predicate Expression

Declaration

Source position: laz2_xpath.pas line 91

public function TXPathExprNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; virtual; abstract;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Contains the result for the evaluated expression

Description

Evaluate is an abstract virtual TXPathVariable function which specifies the interface used to evaluate an XPath Predicate Expression. Evaluate must be implemented in descendent classes which handles specific Predicate Expression types in the XPath syntax.

See also

TXPathVariable

Base class used to represent an XPath variables and results


TXPathFilterNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an XPath Filter expression

Declaration

Source position: laz2_xpath.pas line 208

type TXPathFilterNode = class(TXPathExprNode)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathFilterNode | Implements an XPath Filter expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathFilterNode is a TXPathExprNode descendant used to implement a Filter expression in the XPath syntax. For example:

//book[@*]

TXPathFilterNode allows a node set to be filtered to ensure that only values matching the XPath expression are included in the result. An overridden Evaluate method is provided to generate the node set in the return value, and to apply predicates in the XPath expression.


TXPathFilterNode

TXPathExprNode


TXPathFilterNode
 | Create
 | Destroy
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathFilterNode)


TXPathFilterNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 214

public constructor TXPathFilterNode.Create(

  AExpr: TXPathExprNode

);

Arguments

AExpr

XPath Expression to use in the class instance


TXPathFilterNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 215

public destructor TXPathFilterNode.Destroy; override;


TXPathFilterNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 216

public function TXPathFilterNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TXPathFunctionNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Function expression

Declaration

Source position: laz2_xpath.pas line 118

type TXPathFunctionNode = class(TXPathExprNode)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathFunctionNode | Represents an XPath Function expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathFunctionNode is a TXPathExprNode descendant that represents a Function Name expression in the XPath syntax. For example:

local-name() or ms:utc()

TXPathFunctionNode provides an overridden Evaluate method which is used to access the named function in the XPath environment with the arguments found in the expression. TXPathFunctionNode provides private members that are used to store the name for the function and its optional arguments.

See also

TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathEnvironment | Provides access to functions and variables available in the XPath environment


TXPathFunctionNode

TXPathExprNode


TXPathFunctionNode
 | Create
 | Destroy
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathFunctionNode)


TXPathFunctionNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 123

public constructor TXPathFunctionNode.Create(

  const AName: DOMString;

  const Args: TXPathNodeArray

);

Arguments

AName | Name of the function
Args | Arguments passed to the function


TXPathFunctionNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 124

public destructor TXPathFunctionNode.Destroy; override;


TXPathFunctionNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 125

public function TXPathFunctionNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression

Description

Evaluate is an overridden TXPathVariable function that implements the method defined in the ancestor class. Evaluate is used to derive the value for the function call using any arguments found in the XPath expression, and to store the result in the TXPathVariable return value.

Evaluate uses the AEnvironment parameter to access the function names (and their implementations) available in the XPath environment. If a function with the required name is not found in AEnvironment, the EvaluationError routine is called to raise an exception with the message in lrsEvalUnknownFunction.

Evaluate creates an internal TXPathVarList instance that is used to store the value for any arguments in the XPath expression. The list, and the context node in AContext, are passed to the function call. The internal list is freed prior to exiting from the method.

See also

TXPathVariable | Base class used to represent an XPath variables and results
TXPathContext | Represents the Context for an XPath expression
TXPathEnvironment | Provides access to functions and variables available in the XPath environment
TXPathFunction | Implements an XPath function
TXPathVarList | List used to store XPath variables in the XPath environment


TXPathMathOpNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents a Math Operation in an XPath expression

Declaration

Source position: laz2_xpath.pas line 153

type TXPathMathOpNode = class(TXPathBinaryNode)
public
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathMathOpNode | Represents a Math Operation in an XPath expression
|
TXPathBinaryNode | The base class for Binary Operations
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathMathOpNode is a TXPathBinaryNode descendant used to represent a math operation in an XPath expression. TXPathMathOpNode is used for the Additive and Multiplicative Expressions defined in the XPath specification. The constructor accepts the operator and the operands from the expression. TXPathMathOpNode provides an overridden Evaluate method used to derive the value for the XPath expression.

See also

TXPathBinaryNode

The base class for Binary Operations


TXPathMathOpNode

TXPathBinaryNode

TXPathExprNode


TXPathMathOpNode
 | Create
 | Evaluate
TXPathBinaryNode
 | Destroy
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathMathOpNode)


TXPathMathOpNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 157

public constructor TXPathMathOpNode.Create(

  AOperator: TXPathMathOp;

  AOperand1: TXPathExprNode;

  AOperand2: TXPathExprNode

);

Arguments

AOperator | Math operator used in the XPath expression
AOperand1 | Left hand Operand
AOperand2 | Right hand Operand


TXPathMathOpNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 159

public function TXPathMathOpNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TXPathNegationNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Negation expression

Declaration

Source position: laz2_xpath.pas line 130

type TXPathNegationNode = class(TXPathExprNode)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathNegationNode | Represents an XPath Negation expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathNegationNode is a TXPathExprNode descendant used to represent a Unary Expression with a Negation literal in the XPath syntax. For example:

-$varname

TXPathNegationNode provides an overridden Evaluate method used to derive the return value for the expression.

See also

TXPathExprNode

Defines the base class used to evaluate XPath expressions


TXPathNegationNode

TXPathExprNode


TXPathNegationNode
 | Create
 | Destroy
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathNegationNode)


TXPathNegationNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 134

public constructor TXPathNegationNode.Create(

  AOperand: TXPathExprNode

);

Arguments

AOperand

Operand in the XPath expression


TXPathNegationNode.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 135

public destructor TXPathNegationNode.Destroy; override;


TXPathNegationNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 136

public function TXPathNegationNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression

Description

Evaluate is an overridden TXPathVariable function used to get the derived value for the XPath expression. Evaluate implements the abstract method defined in the ancestor class.

Evaluate uses the value in the AContext and AEnvironment parameters to calculate the numeric value for the expression.

See also

TXPathVariable | Base class used to represent an XPath variables and results
TXPathContext | Represents the Context for an XPath expression
TXPathEnvironment | Provides access to functions and variables available in the XPath environment


TXPathNodeSetVariable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Node Set variable

Declaration

Source position: laz2_xpath.pas line 269

type TXPathNodeSetVariable = class(TXPathVariable)
public
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
class function TypeName; override; | Gets the Type Name for the variable class
function AsNodeSet; override; | Gets the Node Set in its native format
function AsText; override; | Gets the Node Set as a String value
function AsBoolean; override; | Gets the Node Set as a Boolean value
function AsNumber; override; | Gets the Node Set as a Numeric value
property Value: TNodeSet; [r] | Value for the Node Set variable
end;

Inheritance

TXPathNodeSetVariable | Represents an XPath Node Set variable
|
TXPathVariable | Base class used to represent an XPath variables and results
|
TObject

Description

TXPathNodeSetVariable is a TXPathVariable used to represent a Node Set variable. TXPathNodeSetVariable implements the abstract methods defined in the ancestor class, and contains an internal TNodeSet member used to store the nodes in the node set.

Use the Value property to access the XPath variable as a TNodeSet class instance. Use AsText, AsNumber, or AsBoolean to access the value for the variable using the corresponding data type.


TXPathNodeSetVariable

ro

Value

TXPathVariable


ro

Value (TXPathNodeSetVariable)


TXPathNodeSetVariable
 | Create
 | Destroy
 | TypeName
 | AsNodeSet
 | AsText
 | AsBoolean
 | AsNumber
TXPathVariable
pt | Error
 | TypeName
 | Release
 | AsNodeSet
 | AsBoolean
 | AsNumber
 | AsText


 | AsBoolean (TXPathVariable)
 | AsBoolean (TXPathNodeSetVariable)
 | AsNodeSet (TXPathVariable)
 | AsNodeSet (TXPathNodeSetVariable)
 | AsNumber (TXPathVariable)
 | AsNumber (TXPathNodeSetVariable)
 | AsText (TXPathVariable)
 | AsText (TXPathNodeSetVariable)
 | Create (TXPathNodeSetVariable)
 | Destroy (TXPathNodeSetVariable)
pt | Error (TXPathVariable)
 | Release (TXPathVariable)
 | TypeName (TXPathVariable)
 | TypeName (TXPathNodeSetVariable)


TXPathNodeSetVariable

TXPathVariable


TXPathNodeSetVariable.AsBoolean

Gets the Node Set as a Boolean value

Declaration

Source position: laz2_xpath.pas line 278

public function TXPathNodeSetVariable.AsBoolean: Boolean; override;

Function result

Value for the Node Set variable as a Boolean data type

Description

The return value is True when the Count property for the mode set is not 0.


TXPathNodeSetVariable.AsNodeSet

Gets the Node Set in its native format

Declaration

Source position: laz2_xpath.pas line 276

public function TXPathNodeSetVariable.AsNodeSet: TNodeSet; override;

Function result

Value for the Node Set variable as a Node Set type


TXPathNodeSetVariable.AsNumber

Gets the Node Set as a Numeric value

Declaration

Source position: laz2_xpath.pas line 279

public function TXPathNodeSetVariable.AsNumber: Extended; override;

Function result

Value for the Node Set variable as a Numeric data type


TXPathNodeSetVariable.AsText

Gets the Node Set as a String value

Declaration

Source position: laz2_xpath.pas line 277

public function TXPathNodeSetVariable.AsText: DOMString; override;

Function result

Value for the Node Set variable as a String data type


TXPathNodeSetVariable.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 273

public constructor TXPathNodeSetVariable.Create(

  AValue: TNodeSet

);

Arguments

AValue

Value for the Node Set variable


TXPathNodeSetVariable.Destroy

Destructor for the class instance

Declaration

Source position: laz2_xpath.pas line 274

public destructor TXPathNodeSetVariable.Destroy; override;


TXPathNodeSetVariable.TypeName

Gets the Type Name for the variable class

Declaration

Source position: laz2_xpath.pas line 275

public class function TXPathNodeSetVariable.TypeName: string; override;

Function result

Value for the Node Type name


TXPathNodeSetVariable.Value

Value for the Node Set variable

Declaration

Source position: laz2_xpath.pas line 280

public property TXPathNodeSetVariable.Value : TNodeSet
  read FValue;


TXPathNSResolver

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a Namespace resolver for the XPath environment

Declaration

Source position: laz2_xpath.pas line 319

type TXPathNSResolver = class
protected
FNode: TDOMNode;
public
constructor Create(); | Constructor for the class instance
function LookupNamespaceURI(); virtual; | Gets the Namespace URI with the specified Prefix
end;

Inheritance

TXPathNSResolver

Implements a Namespace resolver for the XPath environment
|

TObject

Description

TXPathNSResolver is a class used to implement a Namespace resolver for the XPath environment. TXPathNSResolver performs namespace lookups for Qualified Names which include a prefix. Namespaces are resolved relative to the context node passed to the constructor for the class instance.

TXPathNSResolver is used in the implementation of TXPathScanner, TXPathExpression, and passed as an argument to the EvaluateXPathExpression routine.

See also

TXPathScanner | Implements a lexical scanner and parser using XPath syntax and semantics
TXPathExpression | Evaluates an XPath expression using the specified scanner and resolver
EvaluateXPathExpression | Evaluates an XPath expression using the specified context node and resolver


TXPathNSResolver


TXPathNSResolver
 | Create
 | LookupNamespaceURI


TXPathNSResolver.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 323

public constructor TXPathNSResolver.Create(

  aNode: TDOMNode

);

Arguments

aNode

Context node for the Namespace Resolver


TXPathNSResolver.FNode

Declaration

Source position: laz2_xpath.pas line 321

protected TXPathNSResolver.FNode : TDOMNode;


TXPathNSResolver.LookupNamespaceURI

Gets the Namespace URI with the specified Prefix

Declaration

Source position: laz2_xpath.pas line 324

public function TXPathNSResolver.LookupNamespaceURI(

  const aPrefix: DOMString

):DOMString; virtual;

Arguments

aPrefix

Prefix to locate in the Namespace information for the Context node

Function result

Namespace URI for the specified Prefix

Description

Namespace prefixes and URI are resolved relative to the context node for the resolver.


TXPathNumberVariable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Number variable

Declaration

Source position: laz2_xpath.pas line 295

type TXPathNumberVariable = class(TXPathVariable)
public
constructor Create(); | Constructor for the class instance
class function TypeName; override; | Type Name for the variable
function AsBoolean; override; | Gets the value for the Numeric variable as a Boolean data type
function AsNumber; override; | Gets the value for the Numeric variable as a Numeric data type
function AsText; override; | Gets the value for the Numeric variable as a String data type
property Value: Extended; [r] | Value for the Numeric variable
end;

Inheritance

TXPathNumberVariable | Represents an XPath Number variable
|
TXPathVariable | Base class used to represent an XPath variables and results
|
TObject


TXPathNumberVariable

ro

Value

TXPathVariable


ro

Value (TXPathNumberVariable)


TXPathNumberVariable
 | Create
 | TypeName
 | AsBoolean
 | AsNumber
 | AsText
TXPathVariable
pt | Error
 | TypeName
 | Release
 | AsNodeSet
 | AsBoolean
 | AsNumber
 | AsText


 | AsBoolean (TXPathVariable)
 | AsBoolean (TXPathNumberVariable)
 | AsNodeSet (TXPathVariable)
 | AsNumber (TXPathVariable)
 | AsNumber (TXPathNumberVariable)
 | AsText (TXPathVariable)
 | AsText (TXPathNumberVariable)
 | Create (TXPathNumberVariable)
pt | Error (TXPathVariable)
 | Release (TXPathVariable)
 | TypeName (TXPathVariable)
 | TypeName (TXPathNumberVariable)


TXPathNumberVariable

TXPathVariable


TXPathNumberVariable.AsBoolean

Gets the value for the Numeric variable as a Boolean data type

Declaration

Source position: laz2_xpath.pas line 301

public function TXPathNumberVariable.AsBoolean: Boolean; override;

Function result

Boolean value for the variable


TXPathNumberVariable.AsNumber

Gets the value for the Numeric variable as a Numeric data type

Declaration

Source position: laz2_xpath.pas line 302

public function TXPathNumberVariable.AsNumber: Extended; override;

Function result

Numeric value for the variable


TXPathNumberVariable.AsText

Gets the value for the Numeric variable as a String data type

Declaration

Source position: laz2_xpath.pas line 303

public function TXPathNumberVariable.AsText: DOMString; override;

Function result

String value for the variable


TXPathNumberVariable.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 299

public constructor TXPathNumberVariable.Create(

  AValue: Extended

);

Arguments

AValue

Initial value for the variable


TXPathNumberVariable.TypeName

Type Name for the variable

Declaration

Source position: laz2_xpath.pas line 300

public class function TXPathNumberVariable.TypeName: string; override;

Function result

Value for TypeName


TXPathNumberVariable.Value

Value for the Numeric variable

Declaration

Source position: laz2_xpath.pas line 304

public property TXPathNumberVariable.Value : Extended
  read FValue;


TXPathScanner

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a lexical scanner and parser using XPath syntax and semantics

Declaration

Source position: laz2_xpath.pas line 329

type TXPathScanner = class
public
constructor Create(); | Constructor for the class instance
function NextToken; | Gets the next token in the XPath expression
function PeekToken; | Peeks at the token kind for the next lexical element
function SkipToken(); | Skips the current token when it is not an error
property CurToken: TXPathToken; [r] | Current token kind in the lexical analysis
property CurTokenString: DOMString; [r] | Current token value in the lexical analysis
end;

Inheritance

TXPathScanner

Implements a lexical scanner and parser using XPath syntax and semantics
|

TObject

Description

TXPathScanner is a class which implements a lexical scanner/parser using the syntax and semantics defined in XPath (XML Path Language). TXPathScanner provides methods used to tokenize and parse the XPath Expression types defined in the specification, at:

XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999

TXPathScanner examines an XPath expression, and creates a parse tree representing the lexical and syntactic elements found in the expression. The parse tree consists of TXPathExprNode (and descendent) class instances which evaluate the XPath expressions and generate the result(s).

TXPathScanner is used in the implementation of the TXPathExpression class.

See also

TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathExpression | Evaluates an XPath expression using the specified scanner and resolver


TXPathScanner
 | ro | CurToken
 | ro | CurTokenString


ro | CurToken (TXPathScanner)
ro | CurTokenString (TXPathScanner)


TXPathScanner
 | Create
 | NextToken
 | PeekToken
 | SkipToken


Create (TXPathScanner)

NextToken (TXPathScanner)

PeekToken (TXPathScanner)

SkipToken (TXPathScanner)


TXPathScanner


TXPathScanner.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 358

public constructor TXPathScanner.Create(

  const AExpressionString: DOMString

);

Arguments

AExpressionString

XPath expression examined in the scanner/parser


TXPathScanner.CurToken

Current token kind in the lexical analysis

Declaration

Source position: laz2_xpath.pas line 362

public property TXPathScanner.CurToken : TXPathToken
  read FCurToken;


TXPathScanner.CurTokenString

Current token value in the lexical analysis

Declaration

Source position: laz2_xpath.pas line 363

public property TXPathScanner.CurTokenString : DOMString
  read FCurTokenString;


TXPathScanner.NextToken

Gets the next token in the XPath expression

Declaration

Source position: laz2_xpath.pas line 359

public function TXPathScanner.NextToken: TXPathToken;

Function result

Token kind located in the method


TXPathScanner.PeekToken

Peeks at the token kind for the next lexical element

Declaration

Source position: laz2_xpath.pas line 360

public function TXPathScanner.PeekToken: TXPathToken;

Function result

Value for the pending logical token in the scanner


TXPathScanner.SkipToken

Skips the current token when it is not an error

Declaration

Source position: laz2_xpath.pas line 361

public function TXPathScanner.SkipToken(

  tok: TXPathToken

):Boolean;

Arguments

tok

Token expected in the method

Function result

True if the current token is the same as the tok argument


TXPathStringVariable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath String variable

Declaration

Source position: laz2_xpath.pas line 307

type TXPathStringVariable = class(TXPathVariable)
public
constructor Create(); | Constructor for the class instance
class function TypeName; override; | Gets the Type Name for the variable
function AsBoolean; override; | Gets the value for the variable as a Boolean data type
function AsNumber; override; | Gets the value for the variable as a Numeric data type
function AsText; override; | Gets the value for the variable as a String data type
property Value: DOMString; [r] | Value for the variable
end;

Inheritance

TXPathStringVariable | Represents an XPath String variable
|
TXPathVariable | Base class used to represent an XPath variables and results
|
TObject


TXPathStringVariable

ro

Value

TXPathVariable


ro

Value (TXPathStringVariable)


TXPathStringVariable
 | Create
 | TypeName
 | AsBoolean
 | AsNumber
 | AsText
TXPathVariable
pt | Error
 | TypeName
 | Release
 | AsNodeSet
 | AsBoolean
 | AsNumber
 | AsText


 | AsBoolean (TXPathVariable)
 | AsBoolean (TXPathStringVariable)
 | AsNodeSet (TXPathVariable)
 | AsNumber (TXPathVariable)
 | AsNumber (TXPathStringVariable)
 | AsText (TXPathVariable)
 | AsText (TXPathStringVariable)
 | Create (TXPathStringVariable)
pt | Error (TXPathVariable)
 | Release (TXPathVariable)
 | TypeName (TXPathVariable)
 | TypeName (TXPathStringVariable)


TXPathStringVariable

TXPathVariable


TXPathStringVariable.AsBoolean

Gets the value for the variable as a Boolean data type

Declaration

Source position: laz2_xpath.pas line 313

public function TXPathStringVariable.AsBoolean: Boolean; override;

Function result

Boolean value for the variable


TXPathStringVariable.AsNumber

Gets the value for the variable as a Numeric data type

Declaration

Source position: laz2_xpath.pas line 314

public function TXPathStringVariable.AsNumber: Extended; override;

Function result

Numeric value for the variable


TXPathStringVariable.AsText

Gets the value for the variable as a String data type

Declaration

Source position: laz2_xpath.pas line 315

public function TXPathStringVariable.AsText: DOMString; override;

Function result

String value for the variable


TXPathStringVariable.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 311

public constructor TXPathStringVariable.Create(

  const AValue: DOMString

);

Arguments

AValue

Initial value for the variable


TXPathStringVariable.TypeName

Gets the Type Name for the variable

Declaration

Source position: laz2_xpath.pas line 312

public class function TXPathStringVariable.TypeName: string; override;

Function result

Value for TypeName


TXPathStringVariable.Value

Value for the variable

Declaration

Source position: laz2_xpath.pas line 316

public property TXPathStringVariable.Value : DOMString
  read FValue;


TXPathUnionNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents a Union Expression node

Declaration

Source position: laz2_xpath.pas line 196

type TXPathUnionNode = class(TXPathBinaryNode)
public
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathUnionNode | Represents a Union Expression node
|
TXPathBinaryNode | The base class for Binary Operations
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathUnionNode is a TXPathBinaryNode descendant used to represent a Union expression in the XPath syntax. For example:

./child::*|./attribute::*

TXPathUnionNode provides a constructor used to set the operands for the Union expression. An overridden Evaluate method is provided to evaluate node sets generated for the XPath expression. It ensures that the selected node sets for each operand are in document order.


TXPathUnionNode

TXPathBinaryNode

TXPathExprNode


TXPathUnionNode
 | Create
 | Evaluate
TXPathBinaryNode
 | Destroy
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathUnionNode)


TXPathUnionNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 198

public constructor TXPathUnionNode.Create(

  AOperand1: TXPathExprNode;

  AOperand2: TXPathExprNode

);

Arguments

AOperand1 | Left hand operand
AOperand2 | Right hand operand


TXPathUnionNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 199

public function TXPathUnionNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the expression
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression


TXPathVariable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Base class used to represent an XPath variables and results

Declaration

Source position: laz2_xpath.pas line 256

type TXPathVariable = class
protected
FRefCount: Integer;
procedure Error(); | Raises an exception with the specified message and arguments
public
class function TypeName; virtual; abstract; | Gets the Type name for the XPath variable class instance
procedure Release; | Decrements the reference count for the variable
function AsNodeSet; virtual; | Gets the XPath variable as a node set
function AsBoolean; virtual; abstract; | Gets the XPath variable as a Boolean value
function AsNumber; virtual; abstract; | Gets the XPath variable as a Numeric value
function AsText; virtual; abstract; | Gets the XPath variable as a String value
end;

Inheritance

TXPathVariable

Base class used to represent an XPath variables and results
|

TObject

Description

TXPathVariable is a class used to represent Variables and Results for an XPath expression. TXPathVariable is a base class, and contains abstract methods which must be implemented in descendent classes for the Node Set, String, Number, and Boolean data types allowed in XPath variables and results.

TXPathVariable is used as the return type for the Evaluate method in TXPathExprNode and descendent classes. It is also used as the return value for Functions implemented in TXPathEnvironment.


TXPathVariable


TXPathVariable
pt | Error
 | TypeName
 | Release
 | AsNodeSet
 | AsBoolean
 | AsNumber
 | AsText


 | AsBoolean (TXPathVariable)
 | AsNodeSet (TXPathVariable)
 | AsNumber (TXPathVariable)
 | AsText (TXPathVariable)
pt | Error (TXPathVariable)
 | Release (TXPathVariable)
 | TypeName (TXPathVariable)


TXPathVariable.AsBoolean

Gets the XPath variable as a Boolean value

Declaration

Source position: laz2_xpath.pas line 264

public function TXPathVariable.AsBoolean: Boolean; virtual; abstract;

Function result

Value for the variable as a Boolean data type


TXPathVariable.AsNodeSet

Gets the XPath variable as a node set

Declaration

Source position: laz2_xpath.pas line 263

public function TXPathVariable.AsNodeSet: TNodeSet; virtual;

Function result

Value for the variable as a Node Set


TXPathVariable.AsNumber

Gets the XPath variable as a Numeric value

Declaration

Source position: laz2_xpath.pas line 265

public function TXPathVariable.AsNumber: Extended; virtual; abstract;

Function result

Value for the variable as a Numeric data type


TXPathVariable.AsText

Gets the XPath variable as a String value

Declaration

Source position: laz2_xpath.pas line 266

public function TXPathVariable.AsText: DOMString; virtual; abstract;

Function result

Value for the variable as a String data type


TXPathVariable.Error

Raises an exception with the specified message and arguments

Declaration

Source position: laz2_xpath.pas line 259

protected procedure TXPathVariable.Error(

  const Msg: string;

  const Args: array of Const

);

Arguments

Msg | Message for the error
Args | Arguments used to format the message for the error


TXPathVariable.FRefCount

Declaration

Source position: laz2_xpath.pas line 258

protected TXPathVariable.FRefCount : Integer;


TXPathVariable.Release

Decrements the reference count for the variable

Declaration

Source position: laz2_xpath.pas line 262

public procedure TXPathVariable.Release;


TXPathVariable.TypeName

Gets the Type name for the XPath variable class instance

Declaration

Source position: laz2_xpath.pas line 261

public class function TXPathVariable.TypeName: string; virtual; abstract;

Function result

Value for TypeName


TXPathVariableNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Represents an XPath Variable expression

Declaration

Source position: laz2_xpath.pas line 108

type TXPathVariableNode = class(TXPathExprNode)
public
constructor Create(); | Constructor for the class instance
function Evaluate(); override; | Evaluates the XPath expression
end;

Inheritance

TXPathVariableNode | Represents an XPath Variable expression
|
TXPathExprNode | Defines the base class used to evaluate XPath expressions
|
TObject

Description

TXPathVariableNode is a TXPathExprNode descendant that represents an XPath Variable Reference expression in the XPath syntax. For example:

$prefix:varname

TXPathVariableNode provides an overridden Evaluate method that is used to get the value for the node from the variable bindings in the XPath environment.

See also

TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathEnvironment | Provides access to functions and variables available in the XPath environment


TXPathVariableNode

TXPathExprNode


TXPathVariableNode
 | Create
 | Evaluate
TXPathExprNode
pt | EvalPredicate
 | Evaluate


pt | EvalPredicate (TXPathExprNode)
 | Evaluate (TXPathExprNode)
 | Evaluate (TXPathVariableNode)


TXPathVariableNode.Create

Constructor for the class instance

Declaration

Source position: laz2_xpath.pas line 112

public constructor TXPathVariableNode.Create(

  const AName: DOMString

);

Arguments

AName

Name for the variable


TXPathVariableNode.Evaluate

Evaluates the XPath expression

Declaration

Source position: laz2_xpath.pas line 113

public function TXPathVariableNode.Evaluate(

  AContext: TXPathContext;

  AEnvironment: TXPathEnvironment

):TXPathVariable; override;

Arguments

AContext | Context node for the function
AEnvironment | XPath environment for the evaluation

Function result

Result for the evaluated expression

Description

Evaluate is an overridden method used to evaluate the XPath expression and return its derived value. Evaluate implements the abstract method defined in the ancestor class.

For TXPathVariableNode, Evaluate uses the XPath environment passed in the AEnvironment argument to retrieve the value for the variable. If a variable is not found with the required name in the XPath environment, the EvaluationError method is called to raise an exception with the message in lrsEvalUnknownVariable.

Errors

Raises an exception (in EvaluationError) when the variable name does not exist in the XPath environment. Raised with the exception message in lrsEvalUnknownVariable.

See also

EvaluationError

Raises an exception during expression evaluation with the specified error message


TFreeNotifyingObject

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazclasses.pas line 24

type TFreeNotifyingObject = class

public

  destructor Destroy; override;

  procedure AddFreeNotification();

  procedure RemoveFreeNotification();

end;

Inheritance

TFreeNotifyingObject

|

TObject


TFreeNotifyingObject


TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


TFreeNotifyingObject.AddFreeNotification

Declaration

Source position: lazclasses.pas line 29

public procedure TFreeNotifyingObject.AddFreeNotification(

  ANotification: TNotifyEvent

);


TFreeNotifyingObject.Destroy

Declaration

Source position: lazclasses.pas line 28

public destructor TFreeNotifyingObject.Destroy; override;


TFreeNotifyingObject.RemoveFreeNotification

Declaration

Source position: lazclasses.pas line 30

public procedure TFreeNotifyingObject.RemoveFreeNotification(

  ANotification: TNotifyEvent

);


TRefCntObjList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazclasses.pas line 65

type TRefCntObjList = class(TList)

protected

  procedure Notify(); override;

end;

Inheritance

TRefCntObjList

|

TList,IFPObserved
|

TObject


TRefCntObjList
TList
 |  | Capacity
 |  | Count
 |  | Items
 | ro | List
TObject


ro | List (TList)


TRefCntObjList
pt | Notify
TList
 | CopyMove
 | MergeMove
 | DoCopy
 | DoSrcUnique
 | DoAnd
 | DoDestUnique
 | DoOr
 | DoXOr
 | Get
 | Grow
 | Put
 | Notify
 | SetCapacity
 | GetCapacity
 | SetCount
 | GetCount
 | GetList
 | Create
 | Destroy
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | AddList
 | Add
 | Clear
 | Delete
 | Error
 | Exchange
 | Expand
 | Extract
 | First
 | GetEnumerator
 | IndexOf
 | Insert
 | Last
 | Move
 | Assign
 | Remove
 | Pack
 | Sort
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TList)
 | AddList (TList)
 | AfterConstruction (TObject)
 | Assign (TList)
 | BeforeDestruction (TObject)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TList)
 | CopyMove (TList)
 | Create (TObject)
 | Create (TList)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | Delete (TList)
 | Destroy (TObject)
 | Destroy (TList)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoAnd (TList)
 | DoCopy (TList)
 | DoDestUnique (TList)
 | DoOr (TList)
 | DoSrcUnique (TList)
 | DoXOr (TList)
 | Equals (TObject)
 | Error (TList)
 | Exchange (TList)
 | Expand (TList)
 | Extract (TList)
 | FieldAddress (TObject)
 | First (TList)
 | FPOAttachObserver (TList)
 | FPODetachObserver (TList)
 | FPONotifyObservers (TList)
 | Free (TObject)
 | FreeInstance (TObject)
 | Get (TList)
 | GetCapacity (TList)
 | GetCount (TList)
 | GetEnumerator (TList)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetList (TList)
 | Grow (TList)
 | IndexOf (TList)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TList)
 | InstanceSize (TObject)
 | Last (TList)
 | MergeMove (TList)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TList)
 | newinstance (TObject)
 | Notify (TList)
pt | Notify (TRefCntObjList)
 | Pack (TList)
 | Put (TList)
 | Remove (TList)
 | SafeCallException (TObject)
 | SetCapacity (TList)
 | SetCount (TList)
 | Sort (TList)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)


TRefCntObjList

TList

TObject


TRefCntObjList.Notify

Declaration

Source position: lazclasses.pas line 67

protected procedure TRefCntObjList.Notify(

  Ptr: Pointer;

  Action: TListNotification

); override;


TRefCountedObject

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazclasses.pas line 35

type TRefCountedObject = class(TFreeNotifyingObject)

protected

  procedure DoFree; virtual;

  procedure DoReferenceAdded; virtual;

  procedure DoReferenceReleased; virtual;

  property RefCount: Integer; [r]

public

  constructor Create;

  destructor Destroy; override;

  procedure AddReference;

  procedure ReleaseReference;

end;

Inheritance

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TRefCountedObject

pt

ro

RefCount

TFreeNotifyingObject


pt

ro

RefCount (TRefCountedObject)


TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Create (TRefCountedObject)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TRefCountedObject

TFreeNotifyingObject


TRefCountedObject.AddReference

Declaration

Source position: lazclasses.pas line 55

public procedure TRefCountedObject.AddReference;


TRefCountedObject.Create

Declaration

Source position: lazclasses.pas line 53

public constructor TRefCountedObject.Create;


TRefCountedObject.Destroy

Declaration

Source position: lazclasses.pas line 54

public destructor TRefCountedObject.Destroy; override;


TRefCountedObject.DoFree

Declaration

Source position: lazclasses.pas line 48

protected procedure TRefCountedObject.DoFree; virtual;


TRefCountedObject.DoReferenceAdded

Declaration

Source position: lazclasses.pas line 49

protected procedure TRefCountedObject.DoReferenceAdded; virtual;


TRefCountedObject.DoReferenceReleased

Declaration

Source position: lazclasses.pas line 50

protected procedure TRefCountedObject.DoReferenceReleased; virtual;


TRefCountedObject.RefCount

Declaration

Source position: lazclasses.pas line 51

protected property TRefCountedObject.RefCount : Integer
  read FRefCount;


TRefCountedObject.ReleaseReference

Declaration

Source position: lazclasses.pas line 56

public procedure TRefCountedObject.ReleaseReference;


TLazMonitor

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a synchronization construct which provides thread-safe access to resources

Declaration

Source position: lazcollections.pas line 24

type TLazMonitor = class(TCriticalSection)
public
constructor create; | Constructor for the class instance
procedure Acquire; override; | Limits thread access to the calling thread
property SpinCount: Integer; [rw] | Number of busy waiting iterations used in the monitor
property DefaultSpinCount: Integer; [rw] | Default number of busy waiting iterations used in instances of the class
end;

Inheritance

TLazMonitor

Implements a synchronization construct which provides thread-safe access to resources

|

TCriticalSection
|

TSynchroObject
|

TObject

Description

TLazMonitor is a TCriticalSection descendant which implements a synchronization construct that provides thread-safe access to resources. TLazMonitor extends the ancestor class to use a fixed number of spinlock (or busy waiting) attempts in its Acquire method. Acquire also yields CPU cycles to allow other threads to execute when fixed yield and/or sleep threshold(s) have been reached.

TLazMonitor is used in the implementation of the TLazThreadedQueue class, and in the fppkg package.

See also

TLazMonitor.Acquire | Limits thread access to the calling thread
TLazMonitor.SpinCount | Number of busy waiting iterations used in the monitor
TLazMonitor.DefaultSpinCount | Default number of busy waiting iterations used in instances of the class
TLazThreadedQueue | Implements a thread-safe FIFO queue for items of a generic type
#FCL.SyncObjs.TCriticalSection


TLazMonitor
 | SpinCount
 | DefaultSpinCount
TCriticalSection
TSynchroObject
TObject


TLazMonitor
 | create
 | Acquire
TCriticalSection
 | Acquire
 | Release
 | Enter
 | TryEnter
 | Leave
 | Create
 | Destroy
TSynchroObject
 | Acquire
 | Release
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


Acquire (TSynchroObject)

Acquire (TCriticalSection)

Acquire (TLazMonitor)

AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (TCriticalSection)

create (TLazMonitor)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Destroy (TCriticalSection)

Dispatch (TObject)

DispatchStr (TObject)

Enter (TCriticalSection)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

Leave (TCriticalSection)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

Release (TSynchroObject)

Release (TCriticalSection)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

TryEnter (TCriticalSection)

UnitName (TObject)


TLazMonitor

TCriticalSection

TSynchroObject

TObject


TLazMonitor.Acquire

Limits thread access to the calling thread

Declaration

Source position: lazcollections.pas line 34

public procedure TLazMonitor.Acquire; override;

Description

Acquire is an overridden procedure used to limit threaded access to resources to the current calling thread. Acquire extends the inherited method to use a spinlock (or busy waiting loop) to get mutually exclusive access to resources shared between threads.

The SpinLock processing loop waits for successful completion of the Enter/Acquire method, but yields CPU cycles by calling sleep() to allow other threads to execute periodically. The internal yield/sleep thresholds are artificially low (10ms - 20ms) to avoid process scheduler/context switching conflicts for executing threads.

The inherited Acquire method is called when the method has successfully blocked access to other threads by entering the critical section.

Use the SpinCount property to determine the maximum number of iterations for the spinlock processing cycle. Use DefaultSpinCount to determine the default value used for the SpinCount property in new instances of the class.

See also

TLazMonitor.SpinCount | Number of busy waiting iterations used in the monitor
TLazMonitor.DefaultSpinCount | Default number of busy waiting iterations used in instances of the class
#FCL.SyncObjs.TCriticalSection.Enter


TLazMonitor.create

Constructor for the class instance

Declaration

Source position: lazcollections.pas line 33

public constructor TLazMonitor.create;

Description

Create is the constructor for the class instance, and sets the value in the SpinCount property to the DefaultSpinCount used in instances of the class. Create calls the inherited constructor prior to exiting from the method.

See also

TLazMonitor.SpinCount | Number of busy waiting iterations used in the monitor
TLazMonitor.DefaultSpinCount | Default number of busy waiting iterations used in instances of the class
#FCL.SyncObjs.TCriticalSection.Create


TLazMonitor.DefaultSpinCount

Default number of busy waiting iterations used in instances of the class

Declaration

Source position: lazcollections.pas line 36

public property TLazMonitor.DefaultSpinCount : Integer
  read GetDefaultSpinCount
  write SetDefaultSpinCount;

Description

DefaultSpinCount is an Integer class property which identifies the default number of busy waiting iterations used in instances of the class. DefaultSpinCount provides the default value for the SpinCount property in new instances of the class.

See also

TLazMonitor.SpinCount | Number of busy waiting iterations used in the monitor
TLazMonitor.Acquire | Limits thread access to the calling thread


TLazMonitor.SpinCount

Number of busy waiting iterations used in the monitor

Declaration

Source position: lazcollections.pas line 35

public property TLazMonitor.SpinCount : Integer
  read GetSpinCount
  write SetSpinCount;

Description

SpinCount is an Integer property which indicates the number of busy waiting iterations used in the monitor. The default value for the property is set in the Create constructor to the value in the DefaultSpinCount class property.

Set the value in SpinCount to increase or decrease the number of spinlock iterations performed in the Acquire method. The value should be kept as small as possible to avoid the overhead of process scheduler/context switching conflicts for executing threads.

See also

TLazMonitor.Create | Constructor for the class instance
TLazMonitor.DefaultSpinCount | Default number of busy waiting iterations used in instances of the class
TLazMonitor.Acquire | Limits thread access to the calling thread


TLazThreadedQueue

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a thread-safe FIFO queue for items of a generic type

Declaration

Source position: lazcollections.pas line 41

type generic TLazThreadedQueue <T>= class
public
constructor create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure Grow(); | Increases the allocated storage for the queue by the specified size
function PushItem(); | Adds the specified item to the queue
function PopItem(); | Pops the next item from the queue
function PopItemTimeout(); | Pops an item off the queue with a timeout value
procedure DoShutDown; | Performs actions required when the thread-safe queue is freed
property QueueSize: Integer; [r] | Number of storage slots for items in the queue
property TotalItemsPopped: QWord; [r] | Total number of items removed from the queue
property TotalItemsPushed: QWord; [r] | Total number of items added to the queue
property ShutDown: Boolean; [r] | Indicates if the DoShutdown method has been called but not finished
end;

Inheritance

TLazThreadedQueue

Implements a thread-safe FIFO queue for items of a generic type

|

TObject

Description

TLazThreadedQueue is generic class which implements a thread-safe FIFO queue using a generic type for its items. The class requires specialization to specify the type stored in the items for the queue. For example:

TLazThreadedQueueString = specialize TLazThreadedQueue<String>;
            TLazThreadedQueueInt = specialize TLazThreadedQueue<Integer>;
            TLazThreadedQueueRect = specialize TLazThreadedQueue<TRectangle>;

TLazThreadedQueue uses an internal TLazMonitor member to synchronize access to resources in the queue between executing threads. Methods in the class which require thread-safe access use the monitor to enable/disable resource protection. Items in the queue are maintained using the PushItem, PopItem, and PopItemTimeout methods. Properties are provided to determine the size of the queue, and the number of items added or removed.

TLazThreadedQueue specializations are used in the implementation of the fpdserver component, and its integration into the Lazarus IDE.

See also

TLazMonitor

Implements a synchronization construct which provides thread-safe access to resources


TLazThreadedQueue
 | ro | QueueSize
 | ro | TotalItemsPopped
 | ro | TotalItemsPushed
 | ro | ShutDown


ro | QueueSize (TLazThreadedQueue)
ro | ShutDown (TLazThreadedQueue)
ro | TotalItemsPopped (TLazThreadedQueue)
ro | TotalItemsPushed (TLazThreadedQueue)


TLazThreadedQueue
 | create
 | Destroy
 | Grow
 | PushItem
 | PopItem
 | PopItemTimeout
 | DoShutDown


create (TLazThreadedQueue)

Destroy (TLazThreadedQueue)

DoShutDown (TLazThreadedQueue)

Grow (TLazThreadedQueue)

PopItem (TLazThreadedQueue)

PopItemTimeout (TLazThreadedQueue)

PushItem (TLazThreadedQueue)


TLazThreadedQueue


TLazThreadedQueue.create

Constructor for the class instance

Declaration

Source position: lazcollections.pas line 56

public constructor TLazThreadedQueue.create(

  AQueueDepth: Integer = 10;

  PushTimeout: Cardinal = INFINITE;

  PopTimeout: Cardinal = INFINITE

);

Arguments

AQueueDepth | Indicates the maximum number of items that can be stored in the thread-safe queue
PushTimeout | Number of ticks (milliseconds) to wait for successful completion of an enqueue request
PopTimeout | Number of ticks (milliseconds) to wait for successful completion of a dequeue request

Description

Create is the constructor for the class instance. Create allocates internal resources used to implement the thread-safe queue, and sets the default values for its properties.

The value in AQueueDepth is passed as an argument to the Grow method to allocate the internal storage for the queue.

PushTimeout and PopTimeout indicate the number of milliseconds (or ticks) to wait for successful completion of enqueue or dequeue requests, and are assigned as the default value for the corresponding internal members in the class instance.

See also

TLazThreadedQueue.Grow | Increases the allocated storage for the queue by the specified size
TLazThreadedQueue.PushItem | Adds the specified item to the queue
TLazThreadedQueue.PopItem | Pops the next item from the queue
TLazThreadedQueue.Destroy | Destructor for the class instance


TLazThreadedQueue.Destroy

Destructor for the class instance

Declaration

Source position: lazcollections.pas line 57

public destructor TLazThreadedQueue.Destroy; override;

Description

Destroy is the destructor for the class instance. Destroy calls the private DoShutDown method to free internal resources allocated in the class instance. Destroy calls the inherited destructor prior to exiting from the method.

See also

TLazThreadedQueue.DoShutDown | Performs actions required when the thread-safe queue is freed
TLazThreadedQueue.Create | Constructor for the class instance
#FCL.SyncObjs.TCriticalSection.Destroy


TLazThreadedQueue.DoShutDown

Performs actions required when the thread-safe queue is freed

Declaration

Source position: lazcollections.pas line 62

public procedure TLazThreadedQueue.DoShutDown;

Description

DoShutDown is a procedure used to perform actions required when the instance of the thread-safe queue is freed. DoShutDown sets the value in the ShutDown property to True to signal executing threads that the queue is being freed. In additional, RTL events are set/reset to reflect the state for the internal storage in the queue.

DoShutDown is called prior to freeing resources for the class instance in the Destroy method.

See also

TLazThreadedQueue.ShutDown | Indicates if the DoShutdown method has been called but not finished
TLazThreadedQueue.Destroy | Destructor for the class instance


TLazThreadedQueue.Grow

Increases the allocated storage for the queue by the specified size

Declaration

Source position: lazcollections.pas line 58

public procedure TLazThreadedQueue.Grow(

  ADelta: Integer

);

Arguments

ADelta

Value used to increase the size of the queue

Description

Grow is a procedure which increases the storage allocated for items in the queue by the specified value in ADelta. The internal queue size is incremented by the value in ADelta. The length of the internal storage for the queue is increased to match the new queue size.


TLazThreadedQueue.PopItem

Pops the next item from the queue

Declaration

Source position: lazcollections.pas line 60

public function TLazThreadedQueue.PopItem(

  out AItem: T

):TWaitResult;

Arguments

AItem

Item removed from the queue

Function result

Contains the status for the dequeue request

Description

PopItem is a TWaitResult function used remove the next item available in the thread-safe queue. PopItem calls the PopItemTimeout method using the value in the PopTimeout property as an argument.

AItem is an output variable that is updated with the item removed from the queue in the method.

The return value contains a TWaitResult enumeration value that indicates the status for the dequeue request. See TWaitResult for more information about enumeration values and their meanings.

See also

TLazThreadedQueue.PopItemTimeout

Pops an item off the queue with a timeout value

#FCL.SyncObjs.TWaitResult


TLazThreadedQueue.PopItemTimeout

Pops an item off the queue with a timeout value

Declaration

Source position: lazcollections.pas line 61

public function TLazThreadedQueue.PopItemTimeout(

  out AItem: T;

  Timeout: Cardinal

):TWaitResult;

Arguments

AItem | Item removed from the queue
Timeout | Maximum number of ticks to wait for the item to be removed from the queue

Function result

Contains the status for the dequeue request

Description

PopItemTimeout is a TWaitResult function used to remove the next available item in the queue with a timeout in effect for the dequeue operation.

AItem is an output parameter used to return the item removed from the thread-safe queue.

Timeout specifies the number of ticks (milliseconds) to wait for successful completion of the dequeue request. When Timeout contains the value INFINITE, a timeout is not used in the method. Instead, an internal RTL event is signalled to wait for an available item in the queue. When Timeout contains 0, the request returns immediately after the first failed attempt to dequeue an item.

When ShutDown contains True, the method updates the return value to indicate that the request was abandoned.

The return value contains a TWaitResult enumeration value that indicates the status for the dequeue request. See TWaitResult for more information about enumeration values and their meanings.

See also

TLazThreadedQueue.PopItem | Pops the next item from the queue
TLazThreadedQueue.ShutDown | Indicates if the DoShutdown method has been called but not finished
#FCL.SyncObjs.TWaitResult


TLazThreadedQueue.PushItem

Adds the specified item to the queue

Declaration

Source position: lazcollections.pas line 59

public function TLazThreadedQueue.PushItem(

  const AItem: T

):TWaitResult;

Arguments

AItem

Item added to the storage for the queue

Function result

Contains the status for the enqueue request

Description

PushItem is a TWaitResult function used to add the item specified in AItem to the thread-safe queue.

PushItem uses the value in the internal PushTimeout member to determine if a timeout is in effect for the enqueue request. When PushTimeout contains INFINITE, a timeout is not used for the operation. Instead, the request waits for an RTL Event that indicates room is available in the internal storage for the queue.

When PushTimeout contains 0, the request will timeout after the first failed attempt to add the specified item to the queue.

When ShutDown contains True, the return value is updated to indicate that the request should be abandoned.

The return value contains a TWaitResult enumeration value that indicates the status for the enqueue request. See TWaitResult for more information about enumeration values and their meanings.

See also

TLazThreadedQueue.ShutDown

Indicates if the DoShutdown method has been called but not finished

#FCL.SyncObjs.TWaitResult

#RTL.System.RTLeventWaitFor


TLazThreadedQueue.QueueSize

Number of storage slots for items in the queue

Declaration

Source position: lazcollections.pas line 63

public property TLazThreadedQueue.QueueSize : Integer
  read FQueueSize;

Description

QueueSize is a read-only Integer property that indicates the number of storage slots available in the internal storage for the queue. The initial value for QueueSize is set using an argument passed to the constructor.

Use the Grow method to adjust the number of slots in the internal storage for the queue.

Values in the TotalItemsPushed, TotalItemsPopped, and QueueSize properties determine if storage and/or items are available in the queue.

See also

TLazThreadedQueue.TotalItemsPopped | Total number of items removed from the queue
TLazThreadedQueue.TotalItemsPushed | Total number of items added to the queue
TLazThreadedQueue.Create | Constructor for the class instance
TLazThreadedQueue.PushItem | Adds the specified item to the queue
TLazThreadedQueue.PopItem | Pops the next item from the queue
TLazThreadedQueue.PopItemTimeout | Pops an item off the queue with a timeout value


TLazThreadedQueue.ShutDown

Indicates if the DoShutdown method has been called but not finished

Declaration

Source position: lazcollections.pas line 66

public property TLazThreadedQueue.ShutDown : Boolean
  read FShutDown;

Description

ShutDown is a read-only Boolean property which indicates if the DoShutDown method has been called, but not yet completed, for the class instance. The value in ShutDown is used in the PushItem and PopItemTimeout methods to determine the status for the respective requests. The value wrAbandoned is returned from these methods when ShutDown contains True.

The value in ShutDown is set to True in the DoShutDown method.

See also

TLazThreadedQueue.DoShutDown | Performs actions required when the thread-safe queue is freed
TLazThreadedQueue.PushItem | Adds the specified item to the queue
TLazThreadedQueue.PopItemTimeout | Pops an item off the queue with a timeout value
#FCL.SyncObjs.TWaitResult


TLazThreadedQueue.TotalItemsPopped

Total number of items removed from the queue

Declaration

Source position: lazcollections.pas line 64

public property TLazThreadedQueue.TotalItemsPopped : QWord
  read FTotalItemsPopped;

Description

TotalItemsPopped is a read-only QWord property that indicates the total number of items removed from the queue. The value in the internal member for the property is incremented each time the PopItem or PopItemTimeout method is completed successfully.

Values in TotalItemsPopped and TotalItemsPushed determine whether items are available in the queue. Use TotalItemsPushed to determine the number of items added to the queue.

See also

TLazThreadedQueue.PopItem | Pops the next item from the queue
TLazThreadedQueue.PopItemTimeout | Pops an item off the queue with a timeout value
TLazThreadedQueue.TotalItemsPushed | Total number of items added to the queue


TLazThreadedQueue.TotalItemsPushed

Total number of items added to the queue

Declaration

Source position: lazcollections.pas line 65

public property TLazThreadedQueue.TotalItemsPushed : QWord
  read FTotalItemsPushed;

Description

TotalItemsPushed is a read-only QWord property that indicates the total number of items added to the queue. The value in the internal member for the property is incremented each time the PushItem method is completed successfully.

Values in TotalItemsPushed and TotalItemsPopped determine whether items are available in the queue. Use TotalItemsPopped to determine the total number of items removed from the queue.

See also

TLazThreadedQueue.PushItem | Adds the specified item to the queue
TLazThreadedQueue.TotalItemsPopped | Total number of items removed from the queue


TConfigMemStorage

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazconfigstorage.pas line 111

type TConfigMemStorage = class(TConfigStorage)

protected

  procedure DeleteFullPath(); override;

  procedure DeleteFullPathValue(); override;

  function GetFullPathValue();

  procedure SetDeleteFullPathValue();

  procedure SetFullPathValue();

public

  Root: TConfigMemStorageNode;

  function GetFilename; override;

  procedure WriteToDisk; override;

  destructor Destroy; override;

  procedure Clear; override;

  procedure SaveToConfig();

  procedure LoadFromConfig();

  procedure WriteDebugReport;

end;

Inheritance

TConfigMemStorage

|

TConfigStorage

|

TObject


TConfigMemStorage

TConfigStorage

ro

CurrentBasePath


ro

CurrentBasePath (TConfigStorage)


TConfigMemStorage
pt | DeleteFullPath
pt | DeleteFullPathValue
pt | GetFullPathValue
pt | SetDeleteFullPathValue
pt | SetFullPathValue
 | GetFilename
 | WriteToDisk
 | Destroy
 | Clear
 | SaveToConfig
 | LoadFromConfig
 | WriteDebugReport
TConfigStorage
pt | GetFullPathValue
pt | SetFullPathValue
pt | SetDeleteFullPathValue
pt | DeleteFullPath
pt | DeleteFullPathValue
pt | WriteProperty
pt | ReadProperty
 | Create
 | Destroy
 | Clear
 | GetValue
 | SetValue
 | SetDeleteValue
 | DeletePath
 | DeleteValue
 | ExtendPath
 | AppendBasePath
 | UndoAppendBasePath
 | WriteToDisk
 | GetFilename
 | WriteObject
 | ReadObject


 | AppendBasePath (TConfigStorage)
 | Clear (TConfigStorage)
 | Clear (TConfigMemStorage)
 | Create (TConfigStorage)
pt | DeleteFullPath (TConfigStorage)
pt | DeleteFullPath (TConfigMemStorage)
pt | DeleteFullPathValue (TConfigStorage)
pt | DeleteFullPathValue (TConfigMemStorage)
 | DeletePath (TConfigStorage)
 | DeleteValue (TConfigStorage)
 | Destroy (TConfigStorage)
 | Destroy (TConfigMemStorage)
 | ExtendPath (TConfigStorage)
 | GetFilename (TConfigStorage)
 | GetFilename (TConfigMemStorage)
pt | GetFullPathValue (TConfigStorage)
pt | GetFullPathValue (TConfigMemStorage)
 | GetValue (TConfigStorage)
 | LoadFromConfig (TConfigMemStorage)
 | ReadObject (TConfigStorage)
pt | ReadProperty (TConfigStorage)
 | SaveToConfig (TConfigMemStorage)
pt | SetDeleteFullPathValue (TConfigStorage)
pt | SetDeleteFullPathValue (TConfigMemStorage)
 | SetDeleteValue (TConfigStorage)
pt | SetFullPathValue (TConfigStorage)
pt | SetFullPathValue (TConfigMemStorage)
 | SetValue (TConfigStorage)
 | UndoAppendBasePath (TConfigStorage)
 | WriteDebugReport (TConfigMemStorage)
 | WriteObject (TConfigStorage)
pt | WriteProperty (TConfigStorage)
 | WriteToDisk (TConfigStorage)
 | WriteToDisk (TConfigMemStorage)


TConfigMemStorage

TConfigStorage


TConfigMemStorage.Clear

Declaration

Source position: lazconfigstorage.pas line 139

public procedure TConfigMemStorage.Clear; override;


TConfigMemStorage.DeleteFullPath

Declaration

Source position: lazconfigstorage.pas line 118

protected procedure TConfigMemStorage.DeleteFullPath(

  const APath: string

); override;


TConfigMemStorage.DeleteFullPathValue

Declaration

Source position: lazconfigstorage.pas line 119

protected procedure TConfigMemStorage.DeleteFullPathValue(

  const APath: string

); override;


TConfigMemStorage.Destroy

Declaration

Source position: lazconfigstorage.pas line 138

public destructor TConfigMemStorage.Destroy; override;


TConfigMemStorage.GetFilename

Declaration

Source position: lazconfigstorage.pas line 136

public function TConfigMemStorage.GetFilename: string; override;


TConfigMemStorage.GetFullPathValue

Declaration

Source position: lazconfigstorage.pas line 120

protected function TConfigMemStorage.GetFullPathValue(

  const APath: string;

  const ADefault: string

):string; override;

function TConfigMemStorage.GetFullPathValue(

  const APath: string;

  ADefault: Boolean

):Boolean; override;

function TConfigMemStorage.GetFullPathValue(

  const APath: string;

  ADefault: Integer

):Integer; override;


TConfigMemStorage.LoadFromConfig

Declaration

Source position: lazconfigstorage.pas line 141

public procedure TConfigMemStorage.LoadFromConfig(

  Config: TConfigStorage;

  const APath: string

);


TConfigMemStorage.Root

Declaration

Source position: lazconfigstorage.pas line 135

public TConfigMemStorage.Root : TConfigMemStorageNode;


TConfigMemStorage.SaveToConfig

Declaration

Source position: lazconfigstorage.pas line 140

public procedure TConfigMemStorage.SaveToConfig(

  Config: TConfigStorage;

  const APath: string

);


TConfigMemStorage.SetDeleteFullPathValue

Declaration

Source position: lazconfigstorage.pas line 125

protected procedure TConfigMemStorage.SetDeleteFullPathValue(

  const APath: string;

  const AValue: string;

  const DefValue: string

); override;

procedure TConfigMemStorage.SetDeleteFullPathValue(

  const APath: string;

  AValue: Boolean;

  DefValue: Boolean

); override;

procedure TConfigMemStorage.SetDeleteFullPathValue(

  const APath: string;

  AValue: Integer;

  DefValue: Integer

); override;


TConfigMemStorage.SetFullPathValue

Declaration

Source position: lazconfigstorage.pas line 131

protected procedure TConfigMemStorage.SetFullPathValue(

  const APath: string;

  const AValue: string

); override;

procedure TConfigMemStorage.SetFullPathValue(

  const APath: string;

  AValue: Boolean

); override;

procedure TConfigMemStorage.SetFullPathValue(

  const APath: string;

  AValue: Integer

); override;


TConfigMemStorage.WriteDebugReport

Declaration

Source position: lazconfigstorage.pas line 142

public procedure TConfigMemStorage.WriteDebugReport;


TConfigMemStorage.WriteToDisk

Declaration

Source position: lazconfigstorage.pas line 137

public procedure TConfigMemStorage.WriteToDisk; override;


TConfigMemStorageModification

Declaration

Source position: lazconfigstorage.pas line 104

type TConfigMemStorageModification = (

  cmsmSet,

  cmsmGet,

  cmsmDelete,

  cmsmDeleteValue

);


TConfigMemStorageNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazconfigstorage.pas line 93

type TConfigMemStorageNode = class

public

  Name: string;

  Value: string;

  Parent: TConfigMemStorageNode;

  Children: TAvlTree;

  procedure ClearChilds;

  constructor Create();

  destructor Destroy; override;

end;

Inheritance

TConfigMemStorageNode

|

TObject


TConfigMemStorageNode


TConfigMemStorageNode
 | ClearChilds
 | Create
 | Destroy


TConfigMemStorageNode.Children

Declaration

Source position: lazconfigstorage.pas line 98

public TConfigMemStorageNode.Children : TAvlTree;


TConfigMemStorageNode.ClearChilds

Declaration

Source position: lazconfigstorage.pas line 99

public procedure TConfigMemStorageNode.ClearChilds;


TConfigMemStorageNode.Create

Declaration

Source position: lazconfigstorage.pas line 100

public constructor TConfigMemStorageNode.Create(

  AParent: TConfigMemStorageNode;

  const AName: string

);


TConfigMemStorageNode.Destroy

Declaration

Source position: lazconfigstorage.pas line 101

public destructor TConfigMemStorageNode.Destroy; override;


TConfigMemStorageNode.Name

Declaration

Source position: lazconfigstorage.pas line 95

public TConfigMemStorageNode.Name : string;


TConfigMemStorageNode.Parent

Declaration

Source position: lazconfigstorage.pas line 97

public TConfigMemStorageNode.Parent : TConfigMemStorageNode;


TConfigMemStorageNode.Value

Declaration

Source position: lazconfigstorage.pas line 96

public TConfigMemStorageNode.Value : string;


TConfigStorage

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazconfigstorage.pas line 28

type TConfigStorage = class

protected

  function GetFullPathValue();

  procedure SetFullPathValue();

  procedure SetDeleteFullPathValue();

  procedure DeleteFullPath(); virtual; abstract;

  procedure DeleteFullPathValue(); virtual; abstract;

  procedure WriteProperty();

  procedure ReadProperty();

public

  constructor Create(); virtual;

  destructor Destroy; override;

  procedure Clear; virtual; abstract;

  function GetValue();

  procedure SetValue();

  procedure SetDeleteValue();

  procedure DeletePath();

  procedure DeleteValue();

  property CurrentBasePath: string; [r]

  function ExtendPath();

  procedure AppendBasePath();

  procedure UndoAppendBasePath;

  procedure WriteToDisk; virtual; abstract;

  function GetFilename; virtual; abstract;

  procedure WriteObject();

  procedure ReadObject();

end;

Inheritance

TConfigStorage

|

TObject


TConfigStorage

ro

CurrentBasePath


TConfigStorage
pt | GetFullPathValue
pt | SetFullPathValue
pt | SetDeleteFullPathValue
pt | DeleteFullPath
pt | DeleteFullPathValue
pt | WriteProperty
pt | ReadProperty
 | Create
 | Destroy
 | Clear
 | GetValue
 | SetValue
 | SetDeleteValue
 | DeletePath
 | DeleteValue
 | ExtendPath
 | AppendBasePath
 | UndoAppendBasePath
 | WriteToDisk
 | GetFilename
 | WriteObject
 | ReadObject


pt | DeleteFullPath (TConfigStorage)
pt | DeleteFullPathValue (TConfigStorage)
 | DeletePath (TConfigStorage)
 | DeleteValue (TConfigStorage)
 | Destroy (TConfigStorage)
 | ExtendPath (TConfigStorage)
 | GetFilename (TConfigStorage)
pt | GetFullPathValue (TConfigStorage)
 | GetValue (TConfigStorage)
 | ReadObject (TConfigStorage)
pt | ReadProperty (TConfigStorage)
pt | SetDeleteFullPathValue (TConfigStorage)
 | SetDeleteValue (TConfigStorage)
pt | SetFullPathValue (TConfigStorage)
 | SetValue (TConfigStorage)
 | UndoAppendBasePath (TConfigStorage)
 | WriteObject (TConfigStorage)
pt | WriteProperty (TConfigStorage)
 | WriteToDisk (TConfigStorage)


TConfigStorage


TConfigStorage.AppendBasePath

Declaration

Source position: lazconfigstorage.pas line 78

public procedure TConfigStorage.AppendBasePath(

  const Path: string

);


TConfigStorage.Clear

Declaration

Source position: lazconfigstorage.pas line 54

public procedure TConfigStorage.Clear; virtual; abstract;


TConfigStorage.Create

Declaration

Source position: lazconfigstorage.pas line 52

public constructor TConfigStorage.Create(

  const Filename: string;

  LoadFromDisk: Boolean

); virtual;


TConfigStorage.CurrentBasePath

Declaration

Source position: lazconfigstorage.pas line 76

public property TConfigStorage.CurrentBasePath : string
  read FCurrentBasePath;


TConfigStorage.DeleteFullPath

Declaration

Source position: lazconfigstorage.pas line 42

protected procedure TConfigStorage.DeleteFullPath(

  const APath: string

); virtual; abstract;


TConfigStorage.DeleteFullPathValue

Declaration

Source position: lazconfigstorage.pas line 43

protected procedure TConfigStorage.DeleteFullPathValue(

  const APath: string

); virtual; abstract;


TConfigStorage.DeletePath

Declaration

Source position: lazconfigstorage.pas line 74

public procedure TConfigStorage.DeletePath(

  const APath: string

);


TConfigStorage.DeleteValue

Declaration

Source position: lazconfigstorage.pas line 75

public procedure TConfigStorage.DeleteValue(

  const APath: string

);


TConfigStorage.Destroy

Declaration

Source position: lazconfigstorage.pas line 53

public destructor TConfigStorage.Destroy; override;


TConfigStorage.ExtendPath

Declaration

Source position: lazconfigstorage.pas line 77

public function TConfigStorage.ExtendPath(

  const APath: string

):string;


TConfigStorage.GetFilename

Declaration

Source position: lazconfigstorage.pas line 81

public function TConfigStorage.GetFilename: string; virtual; abstract;


TConfigStorage.GetFullPathValue

Declaration

Source position: lazconfigstorage.pas line 33

protected function TConfigStorage.GetFullPathValue(

  const APath: string;

  const ADefault: string

):string; virtual; abstract;

function TConfigStorage.GetFullPathValue(

  const APath: string;

  ADefault: Integer

):Integer; virtual; abstract;

function TConfigStorage.GetFullPathValue(

  const APath: string;

  ADefault: Boolean

):Boolean; virtual; abstract;


TConfigStorage.GetValue

Declaration

Source position: lazconfigstorage.pas line 55

public function TConfigStorage.GetValue(

  const APath: string;

  const ADefault: string

):string;

function TConfigStorage.GetValue(

  const APath: string;

  ADefault: Integer

):Integer;

function TConfigStorage.GetValue(

  const APath: string;

  ADefault: Boolean

):Boolean;

procedure TConfigStorage.GetValue(

  const APath: string;

  out ARect: TRect;

  const ADefault: TRect

);

procedure TConfigStorage.GetValue(

  const APath: string;

  out APoint: TPoint;

  const ADefault: TPoint

);

procedure TConfigStorage.GetValue(

  const APath: string;

  const List: TStrings

);


TConfigStorage.ReadObject

Declaration

Source position: lazconfigstorage.pas line 84

public procedure TConfigStorage.ReadObject(

  Path: string;

  Obj: TPersistent;

  DefObject: TPersistent = Nil;

  OnlyProperty: string = ''

);


TConfigStorage.ReadProperty

Declaration

Source position: lazconfigstorage.pas line 48

protected procedure TConfigStorage.ReadProperty(

  Path: string;

  Instance: TPersistent;

  PropInfo: Pointer;

  DefInstance: TPersistent = Nil;

  OnlyProperty: string = ''

);


TConfigStorage.SetDeleteFullPathValue

Declaration

Source position: lazconfigstorage.pas line 37

protected procedure TConfigStorage.SetDeleteFullPathValue(

  const APath: string;

  const AValue: string;

  const DefValue: string

); virtual; abstract;

procedure TConfigStorage.SetDeleteFullPathValue(

  const APath: string;

  AValue: Integer;

  DefValue: Integer

); virtual; abstract;

procedure TConfigStorage.SetDeleteFullPathValue(

  const APath: string;

  AValue: Boolean;

  DefValue: Boolean

); virtual; abstract;


TConfigStorage.SetDeleteValue

Declaration

Source position: lazconfigstorage.pas line 64

public procedure TConfigStorage.SetDeleteValue(

  const APath: string;

  const AValue: string;

  const DefValue: string

);

procedure TConfigStorage.SetDeleteValue(

  const APath: string;

  AValue: Integer;

  DefValue: Integer

);

procedure TConfigStorage.SetDeleteValue(

  const APath: string;

  AValue: Boolean;

  DefValue: Boolean

);

procedure TConfigStorage.SetDeleteValue(

  const APath: string;

  const AValue: TRect;

  const DefValue: TRect

);

procedure TConfigStorage.SetDeleteValue(

  const APath: string;

  const AValue: TPoint;

  const DefValue: TPoint

);


TConfigStorage.SetFullPathValue

Declaration

Source position: lazconfigstorage.pas line 36

protected procedure TConfigStorage.SetFullPathValue(

  const APath: string;

  const AValue: string

); virtual; abstract;

procedure TConfigStorage.SetFullPathValue(

  const APath: string;

  AValue: Integer

); virtual; abstract;

procedure TConfigStorage.SetFullPathValue(

  const APath: string;

  AValue: Boolean

); virtual; abstract;


TConfigStorage.SetValue

Declaration

Source position: lazconfigstorage.pas line 63

public procedure TConfigStorage.SetValue(

  const APath: string;

  const AValue: string

);

procedure TConfigStorage.SetValue(

  const APath: string;

  AValue: Integer

);

procedure TConfigStorage.SetValue(

  const APath: string;

  AValue: Boolean

);

procedure TConfigStorage.SetValue(

  const APath: string;

  const AValue: TRect

);

procedure TConfigStorage.SetValue(

  const APath: string;

  const AValue: TPoint

);

procedure TConfigStorage.SetValue(

  const APath: string;

  const AValue: TStrings

);


TConfigStorage.UndoAppendBasePath

Declaration

Source position: lazconfigstorage.pas line 79

public procedure TConfigStorage.UndoAppendBasePath;


TConfigStorage.WriteObject

Declaration

Source position: lazconfigstorage.pas line 82

public procedure TConfigStorage.WriteObject(

  Path: string;

  Obj: TPersistent;

  DefObject: TPersistent = Nil;

  OnlyProperty: string = ''

);


TConfigStorage.WriteProperty

Declaration

Source position: lazconfigstorage.pas line 45

protected procedure TConfigStorage.WriteProperty(

  Path: string;

  Instance: TPersistent;

  PropInfo: Pointer;

  DefInstance: TPersistent = Nil;

  OnlyProperty: string = ''

);


TConfigStorage.WriteToDisk

Declaration

Source position: lazconfigstorage.pas line 80

public procedure TConfigStorage.WriteToDisk; virtual; abstract;


TConfigStorageClass

Declaration

Source position: lazconfigstorage.pas line 88

type TConfigStorageClass = class of TConfigStorage;


TLazFPGHashTable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfglhash.pas line 28

type generic TLazFPGHashTable <T>= class(TFPCustomHashTable)

protected

Type

  THTGNode = THTGNode;

  TGIteratorMethod = procedure(

  Item: T;

  const Key: string;

  var Continue: Boolean

) of object;

  function CreateNewNode(); override;

  procedure AddNode(); override;

  procedure SetData(); virtual;

  function GetData(); virtual;

  function ForEachCall(); virtual;

public

  function Iterate(); virtual;

  procedure Add(); virtual;

  property Items []: T; default; [rw]

end;

Inheritance

TLazFPGHashTable

|

TFPCustomHashTable
|

TObject


TLazFPGHashTable
 |  | Items
TFPCustomHashTable
 |  | HashFunction
 | ro | Count
 |  | HashTableSize
 | ro | HashTable
 | ro | VoidSlots
 | ro | LoadFactor
 | ro | AVGChainLen
 | ro | MaxChainLength
 | ro | NumberOfCollisions
 | ro | Density
TObject


ro | AVGChainLen (TFPCustomHashTable)
ro | Count (TFPCustomHashTable)
ro | Density (TFPCustomHashTable)
 | HashFunction (TFPCustomHashTable)
ro | HashTable (TFPCustomHashTable)
 | HashTableSize (TFPCustomHashTable)
 | Items (TLazFPGHashTable)
ro | LoadFactor (TFPCustomHashTable)
ro | MaxChainLength (TFPCustomHashTable)
ro | NumberOfCollisions (TFPCustomHashTable)
ro | VoidSlots (TFPCustomHashTable)


TLazFPGHashTable
pt | CreateNewNode
pt | AddNode
pt | SetData
pt | GetData
pt | ForEachCall
 | Iterate
 | Add
TFPCustomHashTable
 | GetDensity
 | GetNumberOfCollisions
 | SetHashTableSize
 | InitializeHashTable
 | GetVoidSlots
 | GetLoadFactor
 | GetAVGChainLen
 | GetMaxChainLength
 | Chain
 | CreateNewNode
 | AddNode
 | ChainLength
 | FindOrCreateNew
 | SetHashFunction
 | FindChainForAdd
 | Create
 | CreateWith
 | Destroy
 | ChangeTableSize
 | Clear
 | Delete
 | Find
 | IsEmpty
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | AddNode (TFPCustomHashTable)
pt | AddNode (TLazFPGHashTable)
 | AfterConstruction (TObject)
 | BeforeDestruction (TObject)
 | Chain (TFPCustomHashTable)
 | ChainLength (TFPCustomHashTable)
 | ChangeTableSize (TFPCustomHashTable)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TFPCustomHashTable)
 | Create (TObject)
 | Create (TFPCustomHashTable)
 | CreateNewNode (TFPCustomHashTable)
pt | CreateNewNode (TLazFPGHashTable)
 | CreateWith (TFPCustomHashTable)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | Delete (TFPCustomHashTable)
 | Destroy (TObject)
 | Destroy (TFPCustomHashTable)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | FieldAddress (TObject)
 | Find (TFPCustomHashTable)
 | FindChainForAdd (TFPCustomHashTable)
 | FindOrCreateNew (TFPCustomHashTable)
pt | ForEachCall (TLazFPGHashTable)
 | Free (TObject)
 | FreeInstance (TObject)
 | GetAVGChainLen (TFPCustomHashTable)
pt | GetData (TLazFPGHashTable)
 | GetDensity (TFPCustomHashTable)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLoadFactor (TFPCustomHashTable)
 | GetMaxChainLength (TFPCustomHashTable)
 | GetNumberOfCollisions (TFPCustomHashTable)
 | GetVoidSlots (TFPCustomHashTable)
 | InheritsFrom (TObject)
 | InitializeHashTable (TFPCustomHashTable)
 | InitInstance (TObject)
 | InstanceSize (TObject)
 | IsEmpty (TFPCustomHashTable)
 | Iterate (TLazFPGHashTable)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
 | SafeCallException (TObject)
pt | SetData (TLazFPGHashTable)
 | SetHashFunction (TFPCustomHashTable)
 | SetHashTableSize (TFPCustomHashTable)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)


TLazFPGHashTable

TFPCustomHashTable

TObject


TLazFPGHashTable.Add

Declaration

Source position: lazfglhash.pas line 49

public procedure TLazFPGHashTable.Add(

  const aKey: string;

  const aItem: T

); virtual;


TLazFPGHashTable.AddNode

Declaration

Source position: lazfglhash.pas line 39

protected procedure TLazFPGHashTable.AddNode(

  ANode: THTCustomNode

); override;


TLazFPGHashTable.CreateNewNode

Declaration

Source position: lazfglhash.pas line 38

protected function TLazFPGHashTable.CreateNewNode(

  const aKey: string

):THTCustomNode; override;


TLazFPGHashTable.ForEachCall

Declaration

Source position: lazfglhash.pas line 43

protected function TLazFPGHashTable.ForEachCall(

  aMethod: TGIteratorMethod

):THTGNode; virtual;


TLazFPGHashTable.GetData

Declaration

Source position: lazfglhash.pas line 41

protected function TLazFPGHashTable.GetData(

  const index: string

):T; virtual;


TLazFPGHashTable.Items

Declaration

Source position: lazfglhash.pas line 50

public property TLazFPGHashTable.Items[index: string] : T
  read GetData
  write SetData;
  default;


TLazFPGHashTable.Iterate

Declaration

Source position: lazfglhash.pas line 47

public function TLazFPGHashTable.Iterate(

  aMethod: TGIteratorMethod

):T; virtual;


TLazFPGHashTable.SetData

Declaration

Source position: lazfglhash.pas line 40

protected procedure TLazFPGHashTable.SetData(

  const Index: string;

  AValue: T

); virtual;


TLazFPGHashTable.TGIteratorMethod

Declaration

Source position: lazfglhash.pas line 37

protected type TLazFPGHashTable.TGIteratorMethod = procedure(

  Item: T;

  const Key: string;

  var Continue: Boolean

) of object;


TLazFPGHashTable.THTGNode

Declaration

Source position: lazfglhash.pas line 31

protected type TLazFPGHashTable.THTGNode = THTGNode;


TLazHTGNode

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfglhash.pas line 19

type generic TLazHTGNode <T>= class(THTCustomNode)

public

  property Data: T; [rw]

end;

Inheritance

TLazHTGNode

|

THTCustomNode
|

TObject


TLazHTGNode
 |  | Data
THTCustomNode
 | ro | Key
TObject


ro | Key (THTCustomNode)


TLazHTGNode
THTCustomNode
 | CreateWith
 | HasKey
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

CreateWith (THTCustomNode)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

HasKey (THTCustomNode)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

SafeCallException (TObject)

StringMessageTable (TObject)

ToString (TObject)

UnitName (TObject)


TLazHTGNode

THTCustomNode

TObject


TLazHTGNode.Data

Declaration

Source position: lazfglhash.pas line 23

public property TLazHTGNode.Data : T
  read FData
  write FData;


TFileStateCache

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfilecache.pas line 61

type TFileStateCache = class

public

  constructor Create;

  destructor Destroy; override;

  procedure Lock;

  procedure Unlock;

  function Locked;

  procedure IncreaseTimeStamp();

  function FileExistsCached();

  function DirPathExistsCached();

  function DirectoryIsWritableCached();

  function FileIsExecutableCached();

  function FileIsReadableCached();

  function FileIsWritableCached();

  function FileIsTextCached();

  function FileAgeCached();

  function GetPhysicalFilenameCached();

  function FindFile();

  function Check();

  procedure AddChangeTimeStampHandler();

  procedure RemoveChangeTimeStampHandler();

  function CalcMemSize;

  property TimeStamp: Int64; [r]

end;

Inheritance

TFileStateCache

|

TObject


TFileStateCache

ro

TimeStamp


ro

TimeStamp (TFileStateCache)


TFileStateCache
 | Create
 | Destroy
 | Lock
 | Unlock
 | Locked
 | IncreaseTimeStamp
 | FileExistsCached
 | DirPathExistsCached
 | DirectoryIsWritableCached
 | FileIsExecutableCached
 | FileIsReadableCached
 | FileIsWritableCached
 | FileIsTextCached
 | FileAgeCached
 | GetPhysicalFilenameCached
 | FindFile
 | Check
 | AddChangeTimeStampHandler
 | RemoveChangeTimeStampHandler
 | CalcMemSize


AddChangeTimeStampHandler (TFileStateCache)

CalcMemSize (TFileStateCache)

Check (TFileStateCache)

Create (TFileStateCache)

Destroy (TFileStateCache)

DirectoryIsWritableCached (TFileStateCache)

DirPathExistsCached (TFileStateCache)

FileAgeCached (TFileStateCache)

FileExistsCached (TFileStateCache)

FileIsExecutableCached (TFileStateCache)

FileIsReadableCached (TFileStateCache)

FileIsTextCached (TFileStateCache)

FileIsWritableCached (TFileStateCache)

FindFile (TFileStateCache)

GetPhysicalFilenameCached (TFileStateCache)

IncreaseTimeStamp (TFileStateCache)

Lock (TFileStateCache)

Locked (TFileStateCache)

RemoveChangeTimeStampHandler (TFileStateCache)

Unlock (TFileStateCache)


TFileStateCache


TFileStateCache.AddChangeTimeStampHandler

Declaration

Source position: lazfilecache.pas line 89

public procedure TFileStateCache.AddChangeTimeStampHandler(

  const Handler: TOnChangeFileStateTimeStamp

);


TFileStateCache.CalcMemSize

Declaration

Source position: lazfilecache.pas line 91

public function TFileStateCache.CalcMemSize: PtrUint;


TFileStateCache.Check

Declaration

Source position: lazfilecache.pas line 87

public function TFileStateCache.Check(

  const Filename: string;

  AFlag: TFileStateCacheItemFlag;

  out AFile: TFileStateCacheItem;

  var FlagIsSet: Boolean

):Boolean;


TFileStateCache.Create

Declaration

Source position: lazfilecache.pas line 70

public constructor TFileStateCache.Create;


TFileStateCache.Destroy

Declaration

Source position: lazfilecache.pas line 71

public destructor TFileStateCache.Destroy; override;


TFileStateCache.DirectoryIsWritableCached

Declaration

Source position: lazfilecache.pas line 78

public function TFileStateCache.DirectoryIsWritableCached(

  const DirectoryName: string

):Boolean;


TFileStateCache.DirPathExistsCached

Declaration

Source position: lazfilecache.pas line 77

public function TFileStateCache.DirPathExistsCached(

  const AFilename: string

):Boolean;


TFileStateCache.FileAgeCached

Declaration

Source position: lazfilecache.pas line 83

public function TFileStateCache.FileAgeCached(

  const AFileName: string

):LongInt;


TFileStateCache.FileExistsCached

Declaration

Source position: lazfilecache.pas line 76

public function TFileStateCache.FileExistsCached(

  const AFilename: string

):Boolean;


TFileStateCache.FileIsExecutableCached

Declaration

Source position: lazfilecache.pas line 79

public function TFileStateCache.FileIsExecutableCached(

  const AFilename: string

):Boolean;


TFileStateCache.FileIsReadableCached

Declaration

Source position: lazfilecache.pas line 80

public function TFileStateCache.FileIsReadableCached(

  const AFilename: string

):Boolean;


TFileStateCache.FileIsTextCached

Declaration

Source position: lazfilecache.pas line 82

public function TFileStateCache.FileIsTextCached(

  const AFilename: string

):Boolean;


TFileStateCache.FileIsWritableCached

Declaration

Source position: lazfilecache.pas line 81

public function TFileStateCache.FileIsWritableCached(

  const AFilename: string

):Boolean;


TFileStateCache.FindFile

Declaration

Source position: lazfilecache.pas line 85

public function TFileStateCache.FindFile(

  const Filename: string;

  CreateIfNotExists: Boolean

):TFileStateCacheItem;


TFileStateCache.GetPhysicalFilenameCached

Declaration

Source position: lazfilecache.pas line 84

public function TFileStateCache.GetPhysicalFilenameCached(

  const AFileName: string;

  EmptyOnError: Boolean

):string;


TFileStateCache.IncreaseTimeStamp

Declaration

Source position: lazfilecache.pas line 75

public procedure TFileStateCache.IncreaseTimeStamp(

  const AFilename: string

);


TFileStateCache.Lock

Declaration

Source position: lazfilecache.pas line 72

public procedure TFileStateCache.Lock;


TFileStateCache.Locked

Declaration

Source position: lazfilecache.pas line 74

public function TFileStateCache.Locked: Boolean;


TFileStateCache.RemoveChangeTimeStampHandler

Declaration

Source position: lazfilecache.pas line 90

public procedure TFileStateCache.RemoveChangeTimeStampHandler(

  const Handler: TOnChangeFileStateTimeStamp

);


TFileStateCache.TimeStamp

Declaration

Source position: lazfilecache.pas line 93

public property TFileStateCache.TimeStamp : Int64
  read FTimeStamp;


TFileStateCache.Unlock

Declaration

Source position: lazfilecache.pas line 73

public procedure TFileStateCache.Unlock;


TFileStateCacheItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfilecache.pas line 36

type TFileStateCacheItem = class

public

  constructor Create();

  function CalcMemSize;

  property Filename: string; [r]

  property PhysicalFilename: string; [r]

  property Flags: TFileStateCacheItemFlags; [r]

  property TestedFlags: TFileStateCacheItemFlags; [r]

  property TimeStamp: Int64; [r]

  property Age: LongInt; [r]

end;

Inheritance

TFileStateCacheItem

|

TObject


TFileStateCacheItem
 | ro | Filename
 | ro | PhysicalFilename
 | ro | Flags
 | ro | TestedFlags
 | ro | TimeStamp
 | ro | Age


ro | Age (TFileStateCacheItem)
ro | Filename (TFileStateCacheItem)
ro | Flags (TFileStateCacheItem)
ro | PhysicalFilename (TFileStateCacheItem)
ro | TestedFlags (TFileStateCacheItem)
ro | TimeStamp (TFileStateCacheItem)


TFileStateCacheItem
 | Create
 | CalcMemSize


TFileStateCacheItem


TFileStateCacheItem.Age

Declaration

Source position: lazfilecache.pas line 53

public property TFileStateCacheItem.Age : LongInt
  read FAge;


TFileStateCacheItem.CalcMemSize

Declaration

Source position: lazfilecache.pas line 46

public function TFileStateCacheItem.CalcMemSize: PtrUint;


TFileStateCacheItem.Create

Declaration

Source position: lazfilecache.pas line 45

public constructor TFileStateCacheItem.Create(

  const TheFilename: string;

  NewTimeStamp: Int64

);


TFileStateCacheItem.Filename

Declaration

Source position: lazfilecache.pas line 48

public property TFileStateCacheItem.Filename : string
  read FFilename;


TFileStateCacheItem.Flags

Declaration

Source position: lazfilecache.pas line 50

public property TFileStateCacheItem.Flags : TFileStateCacheItemFlags
  read FFlags;


TFileStateCacheItem.PhysicalFilename

Declaration

Source position: lazfilecache.pas line 49

public property TFileStateCacheItem.PhysicalFilename : string
  read FPhysicalFilename;


TFileStateCacheItem.TestedFlags

Declaration

Source position: lazfilecache.pas line 51

public property TFileStateCacheItem.TestedFlags : TFileStateCacheItemFlags
  read FTestedFlags;


TFileStateCacheItem.TimeStamp

Declaration

Source position: lazfilecache.pas line 52

public property TFileStateCacheItem.TimeStamp : Int64
  read FTimeStamp;


TFileStateCacheItemFlag

Declaration

Source position: lazfilecache.pas line 20

type TFileStateCacheItemFlag = (

  fsciExists,

  fsciDirectory,

  fsciReadable,

  fsciWritable,

  fsciDirectoryReadable,

  fsciDirectoryWritable,

  fsciText,

  fsciExecutable,

  fsciAge,

  fsciPhysical

);


TFileStateCacheItemFlags

Declaration

Source position: lazfilecache.pas line 32

type TFileStateCacheItemFlags = set of (

  fsciExists,

  fsciDirectory,

  fsciReadable,

  fsciWritable,

  fsciDirectoryReadable,

  fsciDirectoryWritable,

  fsciText,

  fsciExecutable,

  fsciAge,

  fsciPhysical

);


TFamilyCollectionItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefontcollection.pas line 64

type TFamilyCollectionItem = class(TCustomFamilyCollectionItem)

protected

  function GetFontByIndex(); override;

  function GetFontByStyles();

  function GetFontIndexByStyles();

  function GetStyle(); override;

  procedure AddStyle();

  function RemoveStyle();

  function GetStyles; override;

  function GetFamilyName; override;

  function GetFontCount; override;

  function GetStyleCount; override;

  procedure RebuildStyleList();

public

  constructor Create();

  procedure AddFont();

  function RemoveFont();

  function GetFont();

  function GetFontIndex();

  function HasStyle(); override;

end;

Inheritance

TFamilyCollectionItem

|

TCustomFamilyCollectionItem

|

TObject


TFamilyCollectionItem
TCustomFamilyCollectionItem
 | ro | FamilyName
 | ro | Font
 | ro | FontCount
 | ro | Style
 | ro | StyleCount
 | ro | Styles


TFamilyCollectionItem
pt | GetFontByIndex
pt | GetFontByStyles
pt | GetFontIndexByStyles
pt | GetStyle
pt | AddStyle
pt | RemoveStyle
pt | GetStyles
pt | GetFamilyName
pt | GetFontCount
pt | GetStyleCount
pt | RebuildStyleList
 | Create
 | AddFont
 | RemoveFont
 | GetFont
 | GetFontIndex
 | HasStyle
TCustomFamilyCollectionItem
pt | GetFontByIndex
pt | GetStyle
pt | GetStyles
pt | GetFamilyName
pt | GetFontCount
pt | GetStyleCount
 | GetFont
 | GetFontIndex
 | HasStyle


pt | AddStyle (TFamilyCollectionItem)
 | Create (TFamilyCollectionItem)
pt | GetFamilyName (TCustomFamilyCollectionItem)
pt | GetFamilyName (TFamilyCollectionItem)
 | GetFont (TCustomFamilyCollectionItem)
 | GetFont (TFamilyCollectionItem)
pt | GetFontByIndex (TCustomFamilyCollectionItem)
pt | GetFontByIndex (TFamilyCollectionItem)
pt | GetFontByStyles (TFamilyCollectionItem)
pt | GetFontCount (TCustomFamilyCollectionItem)
pt | GetFontCount (TFamilyCollectionItem)
 | GetFontIndex (TCustomFamilyCollectionItem)
 | GetFontIndex (TFamilyCollectionItem)
pt | GetFontIndexByStyles (TFamilyCollectionItem)
pt | GetStyle (TCustomFamilyCollectionItem)
pt | GetStyle (TFamilyCollectionItem)
pt | GetStyleCount (TCustomFamilyCollectionItem)
pt | GetStyleCount (TFamilyCollectionItem)
pt | GetStyles (TCustomFamilyCollectionItem)
pt | GetStyles (TFamilyCollectionItem)
 | HasStyle (TCustomFamilyCollectionItem)
 | HasStyle (TFamilyCollectionItem)
pt | RebuildStyleList (TFamilyCollectionItem)
 | RemoveFont (TFamilyCollectionItem)
pt | RemoveStyle (TFamilyCollectionItem)


TFamilyCollectionItem

TCustomFamilyCollectionItem


TFamilyCollectionItem.AddFont

Declaration

Source position: lazfreetypefontcollection.pas line 86

public procedure TFamilyCollectionItem.AddFont(

  AFontItem: TFontCollectionItem

);


TFamilyCollectionItem.AddStyle

Declaration

Source position: lazfreetypefontcollection.pas line 77

protected procedure TFamilyCollectionItem.AddStyle(

  AName: string

);


TFamilyCollectionItem.Create

Declaration

Source position: lazfreetypefontcollection.pas line 85

public constructor TFamilyCollectionItem.Create(

  AName: string

);


TFamilyCollectionItem.GetFamilyName

Declaration

Source position: lazfreetypefontcollection.pas line 80

protected function TFamilyCollectionItem.GetFamilyName: string; override;


TFamilyCollectionItem.GetFont

Declaration

Source position: lazfreetypefontcollection.pas line 88

public function TFamilyCollectionItem.GetFont(

  const AStyles: array of string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):TCustomFontCollectionItem; override;

function TFamilyCollectionItem.GetFont(

  AStyle: string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):TCustomFontCollectionItem; override;


TFamilyCollectionItem.GetFontByIndex

Declaration

Source position: lazfreetypefontcollection.pas line 73

protected function TFamilyCollectionItem.GetFontByIndex(

  AIndex: Integer

):TCustomFontCollectionItem; override;


TFamilyCollectionItem.GetFontByStyles

Declaration

Source position: lazfreetypefontcollection.pas line 74

protected function TFamilyCollectionItem.GetFontByStyles(

  AStyles: string

):TCustomFontCollectionItem;


TFamilyCollectionItem.GetFontCount

Declaration

Source position: lazfreetypefontcollection.pas line 81

protected function TFamilyCollectionItem.GetFontCount: Integer; override;


TFamilyCollectionItem.GetFontIndex

Declaration

Source position: lazfreetypefontcollection.pas line 90

public function TFamilyCollectionItem.GetFontIndex(

  const AStyles: array of string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):Integer; override;

function TFamilyCollectionItem.GetFontIndex(

  AStyle: string;

  NeedAllStyles: Boolean = False;

  NoMoreStyle: Boolean = False

):Integer; override;


TFamilyCollectionItem.GetFontIndexByStyles

Declaration

Source position: lazfreetypefontcollection.pas line 75

protected function TFamilyCollectionItem.GetFontIndexByStyles(

  AStyles: string

):Integer;


TFamilyCollectionItem.GetStyle

Declaration

Source position: lazfreetypefontcollection.pas line 76

protected function TFamilyCollectionItem.GetStyle(

  AIndex: Integer

):string; override;


TFamilyCollectionItem.GetStyleCount

Declaration

Source position: lazfreetypefontcollection.pas line 82

protected function TFamilyCollectionItem.GetStyleCount: Integer; override;


TFamilyCollectionItem.GetStyles

Declaration

Source position: lazfreetypefontcollection.pas line 79

protected function TFamilyCollectionItem.GetStyles: string; override;


TFamilyCollectionItem.HasStyle

Declaration

Source position: lazfreetypefontcollection.pas line 92

public function TFamilyCollectionItem.HasStyle(

  AName: string

):Boolean; override;


TFamilyCollectionItem.RebuildStyleList

Declaration

Source position: lazfreetypefontcollection.pas line 83

protected procedure TFamilyCollectionItem.RebuildStyleList(

  out ADuplicates: Boolean

);


TFamilyCollectionItem.RemoveFont

Declaration

Source position: lazfreetypefontcollection.pas line 87

public function TFamilyCollectionItem.RemoveFont(

  AFontItem: TCustomFontCollectionItem

):Boolean;


TFamilyCollectionItem.RemoveStyle

Declaration

Source position: lazfreetypefontcollection.pas line 78

protected function TFamilyCollectionItem.RemoveStyle(

  AName: string

):Boolean;


TFontCollectionItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefontcollection.pas line 23

type TFontCollectionItem = class(TCustomFontCollectionItem)

protected

  function GetFilename; override;

  function GetBold; override;

  function GetInformation(); override;

  function GetItalic; override;

  function GetStyleCount; override;

  function GetStyles; override;

  function GetStyle(); override;

  function GetVersionNumber; override;

  procedure NotifyDestroy; override;

  procedure Init;

public

  constructor Create();

  destructor Destroy; override;

  function HasStyle(); override;

  property Information []: string; [rw]

  property VersionNumber: string; [rw]

  function CreateFont; override;

  function QueryFace(); override;

  procedure ReleaseFace(); override;

  property UsePostscriptStyle: Boolean; [rw]

end;

Inheritance

TFontCollectionItem

|

TCustomFontCollectionItem

|

TObject


TFontCollectionItem
 |  | Information
 |  | VersionNumber
 |  | UsePostscriptStyle
TCustomFontCollectionItem
 | ro | Styles
 | ro | Italic
 | ro | Bold
 | ro | Filename
 | ro | Information
 | ro | VersionNumber
 | ro | Style
 | ro | StyleCount
 |  | Family


ro | Bold (TCustomFontCollectionItem)
 | Family (TCustomFontCollectionItem)
ro | Filename (TCustomFontCollectionItem)
ro | Information (TCustomFontCollectionItem)
 | Information (TFontCollectionItem)
ro | Italic (TCustomFontCollectionItem)
ro | Style (TCustomFontCollectionItem)
ro | StyleCount (TCustomFontCollectionItem)
ro | Styles (TCustomFontCollectionItem)
 | UsePostscriptStyle (TFontCollectionItem)
ro | VersionNumber (TCustomFontCollectionItem)
 | VersionNumber (TFontCollectionItem)


TFontCollectionItem
pt | GetFilename
pt | GetBold
pt | GetInformation
pt | GetItalic
pt | GetStyleCount
pt | GetStyles
pt | GetStyle
pt | GetVersionNumber
pt | NotifyDestroy
pt | Init
 | Create
 | Destroy
 | HasStyle
 | CreateFont
 | QueryFace
 | ReleaseFace
TCustomFontCollectionItem
pt | GetBold
pt | GetInformation
pt | GetItalic
pt | GetStyleCount
pt | GetStyles
pt | GetFilename
pt | GetVersionNumber
pt | GetStyle
pt | NotifyDestroy
 | HasStyle
 | CreateFont
 | QueryFace
 | ReleaseFace


 | Create (TFontCollectionItem)
 | CreateFont (TCustomFontCollectionItem)
 | CreateFont (TFontCollectionItem)
 | Destroy (TFontCollectionItem)
pt | GetBold (TCustomFontCollectionItem)
pt | GetBold (TFontCollectionItem)
pt | GetFilename (TCustomFontCollectionItem)
pt | GetFilename (TFontCollectionItem)
pt | GetInformation (TCustomFontCollectionItem)
pt | GetInformation (TFontCollectionItem)
pt | GetItalic (TCustomFontCollectionItem)
pt | GetItalic (TFontCollectionItem)
pt | GetStyle (TCustomFontCollectionItem)
pt | GetStyle (TFontCollectionItem)
pt | GetStyleCount (TCustomFontCollectionItem)
pt | GetStyleCount (TFontCollectionItem)
pt | GetStyles (TCustomFontCollectionItem)
pt | GetStyles (TFontCollectionItem)
pt | GetVersionNumber (TCustomFontCollectionItem)
pt | GetVersionNumber (TFontCollectionItem)
 | HasStyle (TCustomFontCollectionItem)
 | HasStyle (TFontCollectionItem)
pt | Init (TFontCollectionItem)
pt | NotifyDestroy (TCustomFontCollectionItem)
pt | NotifyDestroy (TFontCollectionItem)
 | QueryFace (TCustomFontCollectionItem)
 | QueryFace (TFontCollectionItem)
 | ReleaseFace (TCustomFontCollectionItem)
 | ReleaseFace (TFontCollectionItem)


TFontCollectionItem

TCustomFontCollectionItem


TFontCollectionItem.Create

Declaration

Source position: lazfreetypefontcollection.pas line 50

public constructor TFontCollectionItem.Create(

  AFilename: string

);

constructor TFontCollectionItem.Create(

  AStream: TStream;

  AOwner: Boolean

);


TFontCollectionItem.CreateFont

Declaration

Source position: lazfreetypefontcollection.pas line 56

public function TFontCollectionItem.CreateFont: TFreeTypeFont; override;


TFontCollectionItem.Destroy

Declaration

Source position: lazfreetypefontcollection.pas line 52

public destructor TFontCollectionItem.Destroy; override;


TFontCollectionItem.GetBold

Declaration

Source position: lazfreetypefontcollection.pas line 40

protected function TFontCollectionItem.GetBold: Boolean; override;


TFontCollectionItem.GetFilename

Declaration

Source position: lazfreetypefontcollection.pas line 39

protected function TFontCollectionItem.GetFilename: string; override;


TFontCollectionItem.GetInformation

Declaration

Source position: lazfreetypefontcollection.pas line 41

protected function TFontCollectionItem.GetInformation(

  AIndex: TFreeTypeInformation

):string; override;


TFontCollectionItem.GetItalic

Declaration

Source position: lazfreetypefontcollection.pas line 42

protected function TFontCollectionItem.GetItalic: Boolean; override;


TFontCollectionItem.GetStyle

Declaration

Source position: lazfreetypefontcollection.pas line 45

protected function TFontCollectionItem.GetStyle(

  AIndex: Integer

):string; override;


TFontCollectionItem.GetStyleCount

Declaration

Source position: lazfreetypefontcollection.pas line 43

protected function TFontCollectionItem.GetStyleCount: Integer; override;


TFontCollectionItem.GetStyles

Declaration

Source position: lazfreetypefontcollection.pas line 44

protected function TFontCollectionItem.GetStyles: string; override;


TFontCollectionItem.GetVersionNumber

Declaration

Source position: lazfreetypefontcollection.pas line 46

protected function TFontCollectionItem.GetVersionNumber: string; override;


TFontCollectionItem.HasStyle

Declaration

Source position: lazfreetypefontcollection.pas line 53

public function TFontCollectionItem.HasStyle(

  AStyle: string

):Boolean; override;


TFontCollectionItem.Information

Declaration

Source position: lazfreetypefontcollection.pas line 54

public property TFontCollectionItem.Information[AIndex: TFreeTypeInformation] : string
  read GetInformation
  write SetInformation;


TFontCollectionItem.Init

Declaration

Source position: lazfreetypefontcollection.pas line 48

protected procedure TFontCollectionItem.Init;


TFontCollectionItem.NotifyDestroy

Declaration

Source position: lazfreetypefontcollection.pas line 47

protected procedure TFontCollectionItem.NotifyDestroy; override;


TFontCollectionItem.QueryFace

Declaration

Source position: lazfreetypefontcollection.pas line 57

public function TFontCollectionItem.QueryFace(

  AListener: TFontCollectionItemDestroyListener

):TT_Face; override;


TFontCollectionItem.ReleaseFace

Declaration

Source position: lazfreetypefontcollection.pas line 58

public procedure TFontCollectionItem.ReleaseFace(

  AListener: TFontCollectionItemDestroyListener

); override;


TFontCollectionItem.UsePostscriptStyle

Declaration

Source position: lazfreetypefontcollection.pas line 59

public property TFontCollectionItem.UsePostscriptStyle : Boolean
  read FUsePostscriptStyle
  write SetUsePostscriptStyle;


TFontCollectionItem.VersionNumber

Declaration

Source position: lazfreetypefontcollection.pas line 55

public property TFontCollectionItem.VersionNumber : string
  read GetVersionNumber
  write FVersionNumber;


TFreeTypeFontCollection

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefontcollection.pas line 97

type TFreeTypeFontCollection = class(TCustomFreeTypeFontCollection)

protected

  function GetFont(); override;

  function GetFamily(); override;

  function GetFamilyCount; override;

  function GetFontCount; override;

  function RemoveAndFreeFamily();

public

  constructor Create; override;

  procedure Clear; override;

  procedure BeginUpdate; override;

  procedure AddFolder(); override;

  procedure RemoveFolder(); override;

  function AddFile(); override;

  function RemoveFile(); override;

  function AddStream(); override;

  procedure EndUpdate; override;

  destructor Destroy; override;

  function FontFileEnumerator; override;

  function FamilyEnumerator; override;

end;

Inheritance

TFreeTypeFontCollection

|

TCustomFreeTypeFontCollection

|

TObject


TFreeTypeFontCollection
TCustomFreeTypeFontCollection
 | ro | FontFileCount
 | ro | FontFile
 | ro | FamilyCount
 | ro | Family


TFreeTypeFontCollection
pt | GetFont
pt | GetFamily
pt | GetFamilyCount
pt | GetFontCount
pt | RemoveAndFreeFamily
 | Create
 | Clear
 | BeginUpdate
 | AddFolder
 | RemoveFolder
 | AddFile
 | RemoveFile
 | AddStream
 | EndUpdate
 | Destroy
 | FontFileEnumerator
 | FamilyEnumerator
TCustomFreeTypeFontCollection
pt | GetFont
pt | GetFamily
pt | GetFamilyCount
pt | GetFontCount
 | Create
 | Clear
 | BeginUpdate
 | AddFolder
 | RemoveFolder
 | AddFile
 | RemoveFile
 | AddStream
 | EndUpdate
 | FontFileEnumerator
 | FamilyEnumerator


 | AddFile (TCustomFreeTypeFontCollection)
 | AddFile (TFreeTypeFontCollection)
 | AddFolder (TCustomFreeTypeFontCollection)
 | AddFolder (TFreeTypeFontCollection)
 | AddStream (TCustomFreeTypeFontCollection)
 | AddStream (TFreeTypeFontCollection)
 | BeginUpdate (TCustomFreeTypeFontCollection)
 | BeginUpdate (TFreeTypeFontCollection)
 | Clear (TCustomFreeTypeFontCollection)
 | Clear (TFreeTypeFontCollection)
 | Create (TCustomFreeTypeFontCollection)
 | Create (TFreeTypeFontCollection)
 | Destroy (TFreeTypeFontCollection)
 | EndUpdate (TCustomFreeTypeFontCollection)
 | EndUpdate (TFreeTypeFontCollection)
 | FamilyEnumerator (TCustomFreeTypeFontCollection)
 | FamilyEnumerator (TFreeTypeFontCollection)
 | FontFileEnumerator (TCustomFreeTypeFontCollection)
 | FontFileEnumerator (TFreeTypeFontCollection)
pt | GetFamily (TCustomFreeTypeFontCollection)
pt | GetFamily (TFreeTypeFontCollection)
pt | GetFamilyCount (TCustomFreeTypeFontCollection)
pt | GetFamilyCount (TFreeTypeFontCollection)
pt | GetFont (TCustomFreeTypeFontCollection)
pt | GetFont (TFreeTypeFontCollection)
pt | GetFontCount (TCustomFreeTypeFontCollection)
pt | GetFontCount (TFreeTypeFontCollection)
pt | RemoveAndFreeFamily (TFreeTypeFontCollection)
 | RemoveFile (TCustomFreeTypeFontCollection)
 | RemoveFile (TFreeTypeFontCollection)
 | RemoveFolder (TCustomFreeTypeFontCollection)
 | RemoveFolder (TFreeTypeFontCollection)


TFreeTypeFontCollection

TCustomFreeTypeFontCollection


TFreeTypeFontCollection.AddFile

Declaration

Source position: lazfreetypefontcollection.pas line 124

public function TFreeTypeFontCollection.AddFile(

  AFilename: string

):TCustomFontCollectionItem; override;


TFreeTypeFontCollection.AddFolder

Declaration

Source position: lazfreetypefontcollection.pas line 122

public procedure TFreeTypeFontCollection.AddFolder(

  AFolder: string;

  AIncludeSubdirs: Boolean = False

); override;


TFreeTypeFontCollection.AddStream

Declaration

Source position: lazfreetypefontcollection.pas line 126

public function TFreeTypeFontCollection.AddStream(

  AStream: TStream;

  AOwned: Boolean

):Boolean; override;


TFreeTypeFontCollection.BeginUpdate

Declaration

Source position: lazfreetypefontcollection.pas line 121

public procedure TFreeTypeFontCollection.BeginUpdate; override;


TFreeTypeFontCollection.Clear

Declaration

Source position: lazfreetypefontcollection.pas line 120

public procedure TFreeTypeFontCollection.Clear; override;


TFreeTypeFontCollection.Create

Declaration

Source position: lazfreetypefontcollection.pas line 119

public constructor TFreeTypeFontCollection.Create; override;


TFreeTypeFontCollection.Destroy

Declaration

Source position: lazfreetypefontcollection.pas line 128

public destructor TFreeTypeFontCollection.Destroy; override;


TFreeTypeFontCollection.EndUpdate

Declaration

Source position: lazfreetypefontcollection.pas line 127

public procedure TFreeTypeFontCollection.EndUpdate; override;


TFreeTypeFontCollection.FamilyEnumerator

Declaration

Source position: lazfreetypefontcollection.pas line 130

public function TFreeTypeFontCollection.FamilyEnumerator: IFreeTypeFamilyEnumerator; override;


TFreeTypeFontCollection.FontFileEnumerator

Declaration

Source position: lazfreetypefontcollection.pas line 129

public function TFreeTypeFontCollection.FontFileEnumerator: IFreeTypeFontEnumerator; override;


TFreeTypeFontCollection.GetFamily

Declaration

Source position: lazfreetypefontcollection.pas line 114

protected function TFreeTypeFontCollection.GetFamily(

  AName: string

):TCustomFamilyCollectionItem; override;


TFreeTypeFontCollection.GetFamilyCount

Declaration

Source position: lazfreetypefontcollection.pas line 115

protected function TFreeTypeFontCollection.GetFamilyCount: Integer; override;


TFreeTypeFontCollection.GetFont

Declaration

Source position: lazfreetypefontcollection.pas line 113

protected function TFreeTypeFontCollection.GetFont(

  AFileName: string

):TCustomFontCollectionItem; override;


TFreeTypeFontCollection.GetFontCount

Declaration

Source position: lazfreetypefontcollection.pas line 116

protected function TFreeTypeFontCollection.GetFontCount: Integer; override;


TFreeTypeFontCollection.RemoveAndFreeFamily

Declaration

Source position: lazfreetypefontcollection.pas line 117

protected function TFreeTypeFontCollection.RemoveAndFreeFamily(

  AFamily: TCustomFamilyCollectionItem

):Boolean;


TFreeTypeFontCollection.RemoveFile

Declaration

Source position: lazfreetypefontcollection.pas line 125

public function TFreeTypeFontCollection.RemoveFile(

  AFilename: string

):Boolean; override;


TFreeTypeFontCollection.RemoveFolder

Declaration

Source position: lazfreetypefontcollection.pas line 123

public procedure TFreeTypeFontCollection.RemoveFolder(

  AFolder: string

); override;


TFPImageFreeTypeDrawer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefpimagedrawer.pas line 24

type TFPImageFreeTypeDrawer = class(TFreeTypeDrawer)

protected

  FImage: TFPCustomImage;

  procedure MoveToPixel(); virtual;

  function GetCurrentColor; virtual;

  procedure SetCurrentColorAndMoveRight(); virtual;

  procedure MoveRight; virtual;

  function GetClipRect; virtual;

  procedure RenderDirectly();

  procedure RenderDirectlyClearType();

  procedure InternalMergeColorOver();

  procedure MergeColorOver();

  procedure DrawPixelAndMoveRight();

  procedure ClearTypePixelAndMoveRight();

  procedure UnclippedDrawPixel();

public

  ClearTypeRGBOrder: Boolean;

  constructor Create(); virtual;

  procedure DrawPixel();

  procedure ClearTypePixel();

  procedure SetVertLine();

  procedure DrawVertLine();

  procedure SetHorizLine();

  procedure DrawHorizLine();

  procedure FillPixels();

  procedure DrawText(); override;

  procedure DrawGlyph(); override;

  destructor Destroy; override;

  property Image: TFPCustomImage; [r]

end;

Inheritance

TFPImageFreeTypeDrawer

|

TFreeTypeDrawer

|

TObject


TFPImageFreeTypeDrawer

ro

Image

TFreeTypeDrawer


ro

Image (TFPImageFreeTypeDrawer)


TFPImageFreeTypeDrawer
pt | MoveToPixel
pt | GetCurrentColor
pt | SetCurrentColorAndMoveRight
pt | MoveRight
pt | GetClipRect
pt | RenderDirectly
pt | RenderDirectlyClearType
pt | InternalMergeColorOver
pt | MergeColorOver
pt | DrawPixelAndMoveRight
pt | ClearTypePixelAndMoveRight
pt | UnclippedDrawPixel
 | Create
 | DrawPixel
 | ClearTypePixel
 | SetVertLine
 | DrawVertLine
 | SetHorizLine
 | DrawHorizLine
 | FillPixels
 | DrawText
 | DrawGlyph
 | Destroy
TFreeTypeDrawer
 | DrawText
 | DrawTextWordBreak
 | DrawTextRect
 | DrawGlyph


pt | ClearTypePixelAndMoveRight (TFPImageFreeTypeDrawer)
 | Create (TFPImageFreeTypeDrawer)
 | Destroy (TFPImageFreeTypeDrawer)
 | DrawGlyph (TFreeTypeDrawer)
 | DrawGlyph (TFPImageFreeTypeDrawer)
 | DrawHorizLine (TFPImageFreeTypeDrawer)
 | DrawPixel (TFPImageFreeTypeDrawer)
pt | DrawPixelAndMoveRight (TFPImageFreeTypeDrawer)
 | DrawText (TFreeTypeDrawer)
 | DrawText (TFPImageFreeTypeDrawer)
 | DrawTextRect (TFreeTypeDrawer)
 | DrawTextWordBreak (TFreeTypeDrawer)
 | DrawVertLine (TFPImageFreeTypeDrawer)
 | FillPixels (TFPImageFreeTypeDrawer)
pt | GetClipRect (TFPImageFreeTypeDrawer)
pt | GetCurrentColor (TFPImageFreeTypeDrawer)
pt | InternalMergeColorOver (TFPImageFreeTypeDrawer)
pt | MergeColorOver (TFPImageFreeTypeDrawer)
pt | MoveRight (TFPImageFreeTypeDrawer)
pt | MoveToPixel (TFPImageFreeTypeDrawer)
pt | RenderDirectly (TFPImageFreeTypeDrawer)
pt | RenderDirectlyClearType (TFPImageFreeTypeDrawer)
pt | SetCurrentColorAndMoveRight (TFPImageFreeTypeDrawer)
 | SetHorizLine (TFPImageFreeTypeDrawer)
 | SetVertLine (TFPImageFreeTypeDrawer)
pt | UnclippedDrawPixel (TFPImageFreeTypeDrawer)


TFPImageFreeTypeDrawer

TFreeTypeDrawer


TFPImageFreeTypeDrawer.ClearTypePixel

Declaration

Source position: lazfreetypefpimagedrawer.pas line 49

public procedure TFPImageFreeTypeDrawer.ClearTypePixel(

  x: Integer;

  y: Integer;

  Cr: Byte;

  Cg: Byte;

  Cb: Byte;

  const Color: TFPColor

);


TFPImageFreeTypeDrawer.ClearTypePixelAndMoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 43

protected procedure TFPImageFreeTypeDrawer.ClearTypePixelAndMoveRight(

  Cr: Byte;

  Cg: Byte;

  Cb: Byte;

  const Color: TFPColor

);


TFPImageFreeTypeDrawer.ClearTypeRGBOrder

Declaration

Source position: lazfreetypefpimagedrawer.pas line 46

public TFPImageFreeTypeDrawer.ClearTypeRGBOrder : Boolean;


TFPImageFreeTypeDrawer.Create

Declaration

Source position: lazfreetypefpimagedrawer.pas line 47

public constructor TFPImageFreeTypeDrawer.Create(

  AImage: TFPCustomImage

); virtual;


TFPImageFreeTypeDrawer.Destroy

Declaration

Source position: lazfreetypefpimagedrawer.pas line 57

public destructor TFPImageFreeTypeDrawer.Destroy; override;


TFPImageFreeTypeDrawer.DrawGlyph

Declaration

Source position: lazfreetypefpimagedrawer.pas line 56

public procedure TFPImageFreeTypeDrawer.DrawGlyph(

  AGlyph: Integer;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor

); override;


TFPImageFreeTypeDrawer.DrawHorizLine

Declaration

Source position: lazfreetypefpimagedrawer.pas line 53

public procedure TFPImageFreeTypeDrawer.DrawHorizLine(

  x1: Integer;

  y: Integer;

  x2: Integer;

  const c: TFPColor

);


TFPImageFreeTypeDrawer.DrawPixel

Declaration

Source position: lazfreetypefpimagedrawer.pas line 48

public procedure TFPImageFreeTypeDrawer.DrawPixel(

  x: Integer;

  y: Integer;

  const c: TFPColor

);


TFPImageFreeTypeDrawer.DrawPixelAndMoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 41

protected procedure TFPImageFreeTypeDrawer.DrawPixelAndMoveRight(

  const c: TFPColor

);

procedure TFPImageFreeTypeDrawer.DrawPixelAndMoveRight(

  const c: TFPColor;

  applyOpacity: Byte

);


TFPImageFreeTypeDrawer.DrawText

Declaration

Source position: lazfreetypefpimagedrawer.pas line 55

public procedure TFPImageFreeTypeDrawer.DrawText(

  AText: string;

  AFont: TFreeTypeRenderableFont;

  x: single;

  y: single;

  AColor: TFPColor

); override;


TFPImageFreeTypeDrawer.DrawVertLine

Declaration

Source position: lazfreetypefpimagedrawer.pas line 51

public procedure TFPImageFreeTypeDrawer.DrawVertLine(

  x: Integer;

  y1: Integer;

  y2: Integer;

  const c: TFPColor

);


TFPImageFreeTypeDrawer.FillPixels

Declaration

Source position: lazfreetypefpimagedrawer.pas line 54

public procedure TFPImageFreeTypeDrawer.FillPixels(

  const c: TFPColor

);


TFPImageFreeTypeDrawer.FImage

Declaration

Source position: lazfreetypefpimagedrawer.pas line 29

protected TFPImageFreeTypeDrawer.FImage : TFPCustomImage;


TFPImageFreeTypeDrawer.GetClipRect

Declaration

Source position: lazfreetypefpimagedrawer.pas line 34

protected function TFPImageFreeTypeDrawer.GetClipRect: TRect; virtual;


TFPImageFreeTypeDrawer.GetCurrentColor

Declaration

Source position: lazfreetypefpimagedrawer.pas line 31

protected function TFPImageFreeTypeDrawer.GetCurrentColor: TFPColor; virtual;


TFPImageFreeTypeDrawer.Image

Declaration

Source position: lazfreetypefpimagedrawer.pas line 58

public property TFPImageFreeTypeDrawer.Image : TFPCustomImage
  read FImage;


TFPImageFreeTypeDrawer.InternalMergeColorOver

Declaration

Source position: lazfreetypefpimagedrawer.pas line 38

protected procedure TFPImageFreeTypeDrawer.InternalMergeColorOver(

  var merge: TFPColor;

  const c: TFPColor;

  calpha: Word

);


TFPImageFreeTypeDrawer.MergeColorOver

Declaration

Source position: lazfreetypefpimagedrawer.pas line 39

protected procedure TFPImageFreeTypeDrawer.MergeColorOver(

  var merge: TFPColor;

  const c: TFPColor

);

procedure TFPImageFreeTypeDrawer.MergeColorOver(

  var merge: TFPColor;

  const c: TFPColor;

  ApplyOpacity: Byte

);


TFPImageFreeTypeDrawer.MoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 33

protected procedure TFPImageFreeTypeDrawer.MoveRight; virtual;


TFPImageFreeTypeDrawer.MoveToPixel

Declaration

Source position: lazfreetypefpimagedrawer.pas line 30

protected procedure TFPImageFreeTypeDrawer.MoveToPixel(

  x: Integer;

  y: Integer

); virtual;


TFPImageFreeTypeDrawer.RenderDirectly

Declaration

Source position: lazfreetypefpimagedrawer.pas line 36

protected procedure TFPImageFreeTypeDrawer.RenderDirectly(

  x: Integer;

  y: Integer;

  tx: Integer;

  data: pointer

);


TFPImageFreeTypeDrawer.RenderDirectlyClearType

Declaration

Source position: lazfreetypefpimagedrawer.pas line 37

protected procedure TFPImageFreeTypeDrawer.RenderDirectlyClearType(

  x: Integer;

  y: Integer;

  tx: Integer;

  data: pointer

);


TFPImageFreeTypeDrawer.SetCurrentColorAndMoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 32

protected procedure TFPImageFreeTypeDrawer.SetCurrentColorAndMoveRight(

  const AColor: TFPColor

); virtual;


TFPImageFreeTypeDrawer.SetHorizLine

Declaration

Source position: lazfreetypefpimagedrawer.pas line 52

public procedure TFPImageFreeTypeDrawer.SetHorizLine(

  x1: Integer;

  y: Integer;

  x2: Integer;

  const c: TFPColor

);


TFPImageFreeTypeDrawer.SetVertLine

Declaration

Source position: lazfreetypefpimagedrawer.pas line 50

public procedure TFPImageFreeTypeDrawer.SetVertLine(

  x: Integer;

  y1: Integer;

  y2: Integer;

  const c: TFPColor

);


TFPImageFreeTypeDrawer.UnclippedDrawPixel

Declaration

Source position: lazfreetypefpimagedrawer.pas line 44

protected procedure TFPImageFreeTypeDrawer.UnclippedDrawPixel(

  x: Integer;

  y: Integer;

  const c: TFPColor

);


TFPImageWithScanlineFreeTypeDrawer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefpimagedrawer.pas line 73

type TFPImageWithScanlineFreeTypeDrawer = class(TFPImageFreeTypeDrawer)

protected

  FCurrentColor: PFPColor;

  procedure MoveToPixel(); override;

  function GetCurrentColor; override;

  procedure SetCurrentColorAndMoveRight(); override;

  procedure MoveRight; override;

  function GetClipRect; override;

public

  constructor Create(); override;

end;

Inheritance

TFPImageWithScanlineFreeTypeDrawer

|

TFPImageFreeTypeDrawer

|

TFreeTypeDrawer

|

TObject


TFPImageWithScanlineFreeTypeDrawer

TFPImageFreeTypeDrawer

ro

Image

TFreeTypeDrawer


TFPImageWithScanlineFreeTypeDrawer
pt | MoveToPixel
pt | GetCurrentColor
pt | SetCurrentColorAndMoveRight
pt | MoveRight
pt | GetClipRect
 | Create
TFPImageFreeTypeDrawer
pt | MoveToPixel
pt | GetCurrentColor
pt | SetCurrentColorAndMoveRight
pt | MoveRight
pt | GetClipRect
pt | RenderDirectly
pt | RenderDirectlyClearType
pt | InternalMergeColorOver
pt | MergeColorOver
pt | DrawPixelAndMoveRight
pt | ClearTypePixelAndMoveRight
pt | UnclippedDrawPixel
 | Create
 | DrawPixel
 | ClearTypePixel
 | SetVertLine
 | DrawVertLine
 | SetHorizLine
 | DrawHorizLine
 | FillPixels
 | DrawText
 | DrawGlyph
 | Destroy
TFreeTypeDrawer
 | DrawText
 | DrawTextWordBreak
 | DrawTextRect
 | DrawGlyph


pt | ClearTypePixelAndMoveRight (TFPImageFreeTypeDrawer)
 | Create (TFPImageFreeTypeDrawer)
 | Create (TFPImageWithScanlineFreeTypeDrawer)
 | Destroy (TFPImageFreeTypeDrawer)
 | DrawGlyph (TFreeTypeDrawer)
 | DrawGlyph (TFPImageFreeTypeDrawer)
 | DrawHorizLine (TFPImageFreeTypeDrawer)
 | DrawPixel (TFPImageFreeTypeDrawer)
pt | DrawPixelAndMoveRight (TFPImageFreeTypeDrawer)
 | DrawText (TFreeTypeDrawer)
 | DrawText (TFPImageFreeTypeDrawer)
 | DrawTextRect (TFreeTypeDrawer)
 | DrawTextWordBreak (TFreeTypeDrawer)
 | DrawVertLine (TFPImageFreeTypeDrawer)
 | FillPixels (TFPImageFreeTypeDrawer)
pt | GetClipRect (TFPImageFreeTypeDrawer)
pt | GetClipRect (TFPImageWithScanlineFreeTypeDrawer)
pt | GetCurrentColor (TFPImageFreeTypeDrawer)
pt | GetCurrentColor (TFPImageWithScanlineFreeTypeDrawer)
pt | InternalMergeColorOver (TFPImageFreeTypeDrawer)
pt | MergeColorOver (TFPImageFreeTypeDrawer)
pt | MoveRight (TFPImageFreeTypeDrawer)
pt | MoveRight (TFPImageWithScanlineFreeTypeDrawer)
pt | MoveToPixel (TFPImageFreeTypeDrawer)
pt | MoveToPixel (TFPImageWithScanlineFreeTypeDrawer)
pt | RenderDirectly (TFPImageFreeTypeDrawer)
pt | RenderDirectlyClearType (TFPImageFreeTypeDrawer)
pt | SetCurrentColorAndMoveRight (TFPImageFreeTypeDrawer)
pt | SetCurrentColorAndMoveRight (TFPImageWithScanlineFreeTypeDrawer)
 | SetHorizLine (TFPImageFreeTypeDrawer)
 | SetVertLine (TFPImageFreeTypeDrawer)
pt | UnclippedDrawPixel (TFPImageFreeTypeDrawer)


TFPImageWithScanlineFreeTypeDrawer

TFPImageFreeTypeDrawer

TFreeTypeDrawer


TFPImageWithScanlineFreeTypeDrawer.Create

Declaration

Source position: lazfreetypefpimagedrawer.pas line 82

public constructor TFPImageWithScanlineFreeTypeDrawer.Create(

  AImage: TFPCustomImage

); override;


TFPImageWithScanlineFreeTypeDrawer.FCurrentColor

Declaration

Source position: lazfreetypefpimagedrawer.pas line 75

protected TFPImageWithScanlineFreeTypeDrawer.FCurrentColor : PFPColor;


TFPImageWithScanlineFreeTypeDrawer.GetClipRect

Declaration

Source position: lazfreetypefpimagedrawer.pas line 80

protected function TFPImageWithScanlineFreeTypeDrawer.GetClipRect: TRect; override;


TFPImageWithScanlineFreeTypeDrawer.GetCurrentColor

Declaration

Source position: lazfreetypefpimagedrawer.pas line 77

protected function TFPImageWithScanlineFreeTypeDrawer.GetCurrentColor: TFPColor; override;


TFPImageWithScanlineFreeTypeDrawer.MoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 79

protected procedure TFPImageWithScanlineFreeTypeDrawer.MoveRight; override;


TFPImageWithScanlineFreeTypeDrawer.MoveToPixel

Declaration

Source position: lazfreetypefpimagedrawer.pas line 76

protected procedure TFPImageWithScanlineFreeTypeDrawer.MoveToPixel(

  x: Integer;

  y: Integer

); override;


TFPImageWithScanlineFreeTypeDrawer.SetCurrentColorAndMoveRight

Declaration

Source position: lazfreetypefpimagedrawer.pas line 78

protected procedure TFPImageWithScanlineFreeTypeDrawer.SetCurrentColorAndMoveRight(

  const AColor: TFPColor

); override;


TFPMemoryImageWithScanline

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazfreetypefpimagedrawer.pas line 63

type TFPMemoryImageWithScanline = class(TFPMemoryImage)

protected

  function GetScanline();

  procedure SetUsePalette(); override;

public

  property ScanLine []: PFPColor; [r]

end;

Inheritance

TFPMemoryImageWithScanline

|

TFPMemoryImage
?

TObject


TFPMemoryImageWithScanline

ro

ScanLine


ro

ScanLine (TFPMemoryImageWithScanline)


TFPMemoryImageWithScanline
pt | GetScanline
pt | SetUsePalette


pt | GetScanline (TFPMemoryImageWithScanline)
pt | SetUsePalette (TFPMemoryImageWithScanline)


TFPMemoryImageWithScanline


TFPMemoryImageWithScanline.GetScanline

Declaration

Source position: lazfreetypefpimagedrawer.pas line 65

protected function TFPMemoryImageWithScanline.GetScanline(

  y: Integer

):PFPColor;


TFPMemoryImageWithScanline.ScanLine

Declaration

Source position: lazfreetypefpimagedrawer.pas line 68

public property TFPMemoryImageWithScanline.ScanLine[y: Integer] : PFPColor
  read GetScanline;


TFPMemoryImageWithScanline.SetUsePalette

Declaration

Source position: lazfreetypefpimagedrawer.pas line 66

protected procedure TFPMemoryImageWithScanline.SetUsePalette(

  Value: Boolean

); override;


TLinkList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Defines a simple doubly linked list class

Declaration

Source position: lazlinkedlist.pas line 32

type TLinkList = class
protected
function CreateItem; virtual; abstract; | Specifies the interface used to create a new linked list item for the class
function GetNewItem; | Gets a new linked list item by reusing a free item or creating a new one
procedure AddAsLast(); | Configures and adds the specified item as the terminal node for the doubly linked list
public
property First: TLinkListItem; [r] | First item in the doubly linked list
property Last: TLinkListItem; [r] | Last item in the doubly linked list
property Count: Integer; [r] | Total number of items used in the doubly linked list
procedure Delete(); | Removes the specified list item from the doubly linked list
procedure MoveToLast(); | Relocates the specified list item to the last (or terminal) node for the linked list
procedure Clear; | Removes all items in the doubly linked list
function ConsistencyCheck; | Checks the validity of traversal nodes and node counts in the doubly linked list
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
end;

Inheritance

TLinkList

Defines a simple doubly linked list class
|

TObject

Description

TLinkList is a class which defines a navigational interface for a simple doubly linked list.

TLinkList provides properties used to access the First and Last items in the linked list, the number of list items in Count, and the first free item in the linked list. Items in the linked list are represented using the TLinkListItem class, which provides Prior and Next properties for navigation of items in the list.

TLinkList contains an abstract virtual CreateItem method that is used to create new items for the linked list. The method must be implemented in a descendent class to provided implementation details that address storage and ownership of the linked list items. See TGtkMessageQueue for an example of a concrete implementation of the TLinkList class.


TLinkList
 | ro | First
 | ro | Last
 | ro | Count


ro | Count (TLinkList)
ro | First (TLinkList)
ro | Last (TLinkList)


TLinkList
pt | CreateItem
pt | GetNewItem
pt | AddAsLast
 | Delete
 | MoveToLast
 | Clear
 | ConsistencyCheck
 | Create
 | Destroy


pt | AddAsLast (TLinkList)
 | Clear (TLinkList)
 | ConsistencyCheck (TLinkList)
 | Create (TLinkList)
pt | CreateItem (TLinkList)
 | Delete (TLinkList)
 | Destroy (TLinkList)
pt | GetNewItem (TLinkList)
 | MoveToLast (TLinkList)


TLinkList


TLinkList.AddAsLast

Configures and adds the specified item as the terminal node for the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 44

protected procedure TLinkList.AddAsLast(

  AnItem: TLinkListItem

);

Arguments

AnItem

Item saved as the last item in the linked list

Description

AddAsLast is a procedure used to make the specified list item the terminal node in the doubly linked list. AddAsLast updates the list item in AnItem by setting its Prior property to the node in Last. The value in its Next property is set to Nil. The updated list item is then assigned as the new value for the Last property. The value in First may be set to the value in AnItem when a prior node in the traversal order is not available.

AddAdLast increments the value in the Count property.

See also

TLinkList.Count | Total number of items used in the doubly linked list
TLinkList.Last | Last item in the doubly linked list
TLinkList.First | First item in the doubly linked list
TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLinkList.Clear

Removes all items in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 51

public procedure TLinkList.Clear;

Description

Clear is a procedure used to remove all items in the doubly linked list. Clear uses the class instance in First as the initial TLinkListItem in the node traversal order. While the node is assigned, it calls the Delete method for each of the TLinkListItem instances.

See also

TLinkList.FIrst | First item in the doubly linked list
TLinkList.Delete | Removes the specified list item from the doubly linked list


TLinkList.ConsistencyCheck

Checks the validity of traversal nodes and node counts in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 52

public function TLinkList.ConsistencyCheck: Integer;

Function result

Returns 0 when the traversal nodes and counts are valid, or a negative value an inconsistency is found


TLinkList.Count

Total number of items used in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 48

public property TLinkList.Count : Integer
  read FCount;

Description

Count is a read-only Integer property which contains the number of traversal nodes in the doubly linked list. The value in Count is updated in method like Unbind and AddAsLast.

See also

TLinkList.AddAsLast

Configures and adds the specified item as the terminal node for the doubly linked list


TLinkList.Create

Constructor for the class instance

Declaration

Source position: lazlinkedlist.pas line 53

public constructor TLinkList.Create;

Description

Create calls the inherited constructor.


TLinkList.CreateItem

Specifies the interface used to create a new linked list item for the class

Declaration

Source position: lazlinkedlist.pas line 42

protected function TLinkList.CreateItem: TLinkListItem; virtual; abstract;

Function result

New link list item allocated in the method

Description

CreateItem is an abstract virtual method which specifies the interface used to create a new linked list item for the class. The return value is the TLinkListItem class instance allocated in the method. CreateItem must be be implemented in a descendent class to handle storage and ownership for the items created in the linked list.

CreateItem is used in the implementation of the GetNewItem method.

See also

TLinkList.GetNewItem

Gets a new linked list item by reusing a free item or creating a new one


TLinkList.Delete

Removes the specified list item from the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 49

public procedure TLinkList.Delete(

  AnItem: TLinkListItem

);

Arguments

AnItem

Item removed from the traversal nodes in the list

Description

Delete is a procedure used to remove the specified list item from the traversal nodes in the doubly linked list. No actions are performed in the method when AnItem is unassigned (contains Nil).

Delete calls Unbind to update the traversal node for the affected list items. The Prior and Next nodes in AnItem are set to Nil to remove the item from the node order. Delete decrements the value in the Count property.

See also

TLinkList.Count | Total number of items used in the doubly linked list
TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLinkList.Destroy

Destructor for the class instance

Declaration

Source position: lazlinkedlist.pas line 54

public destructor TLinkList.Destroy; override;

Description

Destroy calls Clear, and frees the unused items in the linked list. Destroy calls the inherited destructor prior to exiting from the method.

See also

TLinkList.Clear | Removes all items in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLinkList.First

First item in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 46

public property TLinkList.First : TLinkListItem
  read FFirst;

Description

First is a read-only TLinkListItem property which represents the first traversal node in the doubly linked list. The value in First is updated in methods like Unbind and AddAsLast.

See also

TLinkList.Last | Last item in the doubly linked list
TLinkList.AddAsLast | Configures and adds the specified item as the terminal node for the doubly linked list


TLinkList.GetNewItem

Gets a new linked list item by reusing a free item or creating a new one

Declaration

Source position: lazlinkedlist.pas line 43

protected function TLinkList.GetNewItem: TLinkListItem;

Function result

Linked list item reused or created in the method

Description

GetNewItem is a TLinkListItem function used to get a new item for the doubly linked list. GetNewItem checks for an unused item in the linked list, and creates a new TLinkListItem instance when a free item is not found. A reused item is updated to remove the Prior and Next traversal nodes in the linked list item. A new item is retrieved by calling the CreateItem method.

See also

TLinkList.CreateItem | Specifies the interface used to create a new linked list item for the class
TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLinkList.Last

Last item in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 47

public property TLinkList.Last : TLinkListItem
  read FLast;

Description

Last is a read-only TLinkListItem property which represents the last (or terminal) traversal node in the doubly linked list. The value in Last is updated in methods like Unbind anf AddAsLast.

See also

TLinkList.AddAsLast

Configures and adds the specified item as the terminal node for the doubly linked list


TLinkList.MoveToLast

Relocates the specified list item to the last (or terminal) node for the linked list

Declaration

Source position: lazlinkedlist.pas line 50

public procedure TLinkList.MoveToLast(

  AnItem: TLinkListItem

);

Arguments

AnItem

Item moved to the last node in the linked list

Description

MoveToLast is a procedure used to move the specified list item to the last (or terminal) node in the doubly linked list. No actions are performed in the method when AnItem is unassigned (contains Nil).

MoveToLast calls Unbind to ensure that AnItem is removed from the node traversal order in the linked list. MoveToLast calls AddAsLast to update the values in the Prior and Next properties in AnItem making it the terminal node in the traversal order.

See also

TLinkList.AddAsLast | Configures and adds the specified item as the terminal node for the doubly linked list
TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLinkListItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an item in a doubly linked list

Declaration

Source position: lazlinkedlist.pas line 26

type TLinkListItem = class
Next: TLinkListItem; | Contains a reference to the next item in the doubly linked list
Prior: TLinkListItem; | Contains a reference to the previous item in the doubly linked list
procedure ResetItem; virtual; | Removes the references to the previous and next items for the list item
end;

Inheritance

TLinkListItem

Implements an item in a doubly linked list
|

TObject

Description

TLinkListItem is a class which implements an item in a doubly linked list. It represents the traversal nodes used in TLinkList, including the terminal (or sentinel) node. Properties are provided to access and maintain the Prior and Next items in the node traversal order.

See also

TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list
TLinkList.First | First item in the doubly linked list
TLinkList.Last | Last item in the doubly linked list


TLinkListItem


TLinkListItem

ResetItem


TLinkListItem.Next

Contains a reference to the next item in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 27

TLinkListItem.Next : TLinkListItem;


TLinkListItem.Prior

Contains a reference to the previous item in the doubly linked list

Declaration

Source position: lazlinkedlist.pas line 28

TLinkListItem.Prior : TLinkListItem;


TLinkListItem.ResetItem

Removes the references to the previous and next items for the list item

Declaration

Source position: lazlinkedlist.pas line 29

procedure TLinkListItem.ResetItem; virtual;

Description

ResetItem sets the values in the Prior and Next properties to Nil.

See also

TLinkListItem.Prior | Contains a reference to the previous item in the doubly linked list
TLinkListItem.Next | Contains a reference to the next item in the doubly linked list


TLazFixedRoundBufferListMemBase

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 420

type generic TLazFixedRoundBufferListMemBase <TPItemT,TSizeT>= object()

protected

  function GrowCapacity();

  function ShrinkCapacity();

  property Mem: TLazListClassesInternalMem; [r]

  procedure AdjustFirstItemOffset();

  procedure InsertRowsAtStart();

  procedure InsertRowsAtEnd();

  procedure InsertRowsAtBoundary();

  procedure DeleteRowsAtStart();

  procedure DeleteRowsAtEnd();

  procedure DeleteRowsAtBoundary();

  procedure MoveRowsToOther();

  procedure MoveBytesToOther();

  property ItemPointerMasked []: TPItemT; [r]

public

  procedure Create();

  function InsertRows();

  procedure DeleteRows();

end;

Inheritance

TLazFixedRoundBufferListMemBase

?


TLazFixedRoundBufferListMemBase
pt | ro | Mem
pt | ro | ItemPointerMasked


pt | ro | ItemPointerMasked (TLazFixedRoundBufferListMemBase)
pt | ro | Mem (TLazFixedRoundBufferListMemBase)


TLazFixedRoundBufferListMemBase
pt | GrowCapacity
pt | ShrinkCapacity
pt | AdjustFirstItemOffset
pt | InsertRowsAtStart
pt | InsertRowsAtEnd
pt | InsertRowsAtBoundary
pt | DeleteRowsAtStart
pt | DeleteRowsAtEnd
pt | DeleteRowsAtBoundary
pt | MoveRowsToOther
pt | MoveBytesToOther
 | Create
 | InsertRows
 | DeleteRows


pt | AdjustFirstItemOffset (TLazFixedRoundBufferListMemBase)
 | Create (TLazFixedRoundBufferListMemBase)
 | DeleteRows (TLazFixedRoundBufferListMemBase)
pt | DeleteRowsAtBoundary (TLazFixedRoundBufferListMemBase)
pt | DeleteRowsAtEnd (TLazFixedRoundBufferListMemBase)
pt | DeleteRowsAtStart (TLazFixedRoundBufferListMemBase)
pt | GrowCapacity (TLazFixedRoundBufferListMemBase)
 | InsertRows (TLazFixedRoundBufferListMemBase)
pt | InsertRowsAtBoundary (TLazFixedRoundBufferListMemBase)
pt | InsertRowsAtEnd (TLazFixedRoundBufferListMemBase)
pt | InsertRowsAtStart (TLazFixedRoundBufferListMemBase)
pt | MoveBytesToOther (TLazFixedRoundBufferListMemBase)
pt | MoveRowsToOther (TLazFixedRoundBufferListMemBase)
pt | ShrinkCapacity (TLazFixedRoundBufferListMemBase)


TLazFixedRoundBufferListMemBase


TLazFixedRoundBufferListMemBase.AdjustFirstItemOffset

Declaration

Source position: lazlistclasses.pas line 431

protected procedure TLazFixedRoundBufferListMemBase.AdjustFirstItemOffset(

  ACount: Integer;

  AMask: Integer

);


TLazFixedRoundBufferListMemBase.Create

Declaration

Source position: lazlistclasses.pas line 442

public procedure TLazFixedRoundBufferListMemBase.Create(

  AItemSize: TSizeT;

  ACapacity: Integer

);


TLazFixedRoundBufferListMemBase.DeleteRows

Declaration

Source position: lazlistclasses.pas line 444

public procedure TLazFixedRoundBufferListMemBase.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazFixedRoundBufferListMemBase.DeleteRowsAtBoundary

Declaration

Source position: lazlistclasses.pas line 437

protected procedure TLazFixedRoundBufferListMemBase.DeleteRowsAtBoundary(

  AnAtStart: Boolean;

  ACount: Integer;

  AMask: Integer

);


TLazFixedRoundBufferListMemBase.DeleteRowsAtEnd

Declaration

Source position: lazlistclasses.pas line 436

protected procedure TLazFixedRoundBufferListMemBase.DeleteRowsAtEnd(

  ACount: Integer

);


TLazFixedRoundBufferListMemBase.DeleteRowsAtStart

Declaration

Source position: lazlistclasses.pas line 435

protected procedure TLazFixedRoundBufferListMemBase.DeleteRowsAtStart(

  ACount: Integer;

  AMask: Integer

);


TLazFixedRoundBufferListMemBase.GrowCapacity

Declaration

Source position: lazlistclasses.pas line 426

protected function TLazFixedRoundBufferListMemBase.GrowCapacity(

  ARequired: Integer

):Integer;


TLazFixedRoundBufferListMemBase.InsertRows

Declaration

Source position: lazlistclasses.pas line 443

public function TLazFixedRoundBufferListMemBase.InsertRows(

  AIndex: Integer;

  ACount: Integer

):TPItemT;


TLazFixedRoundBufferListMemBase.InsertRowsAtBoundary

Declaration

Source position: lazlistclasses.pas line 434

protected procedure TLazFixedRoundBufferListMemBase.InsertRowsAtBoundary(

  AnAtStart: Boolean;

  ACount: Integer;

  AMask: Integer

);


TLazFixedRoundBufferListMemBase.InsertRowsAtEnd

Declaration

Source position: lazlistclasses.pas line 433

protected procedure TLazFixedRoundBufferListMemBase.InsertRowsAtEnd(

  ACount: Integer

);


TLazFixedRoundBufferListMemBase.InsertRowsAtStart

Declaration

Source position: lazlistclasses.pas line 432

protected procedure TLazFixedRoundBufferListMemBase.InsertRowsAtStart(

  ACount: Integer;

  AMask: Integer

);


TLazFixedRoundBufferListMemBase.ItemPointerMasked

Declaration

Source position: lazlistclasses.pas line 440

protected property TLazFixedRoundBufferListMemBase.ItemPointerMasked[AnIndex: Integer,AMask: Integer] : TPItemT
  read GetItemPointerMasked;


TLazFixedRoundBufferListMemBase.Mem

Declaration

Source position: lazlistclasses.pas line 428

protected property TLazFixedRoundBufferListMemBase.Mem : TLazListClassesInternalMem
  read FMem;


TLazFixedRoundBufferListMemBase.MoveBytesToOther

Declaration

Source position: lazlistclasses.pas line 439

protected procedure TLazFixedRoundBufferListMemBase.MoveBytesToOther(

  AFromByteOffset: Integer;

  AToByteOffset: Integer;

  AByteCount: Integer;

  AByteCap: Integer;

  AnOther: TLazFixedRoundBufferListMemBase

);


TLazFixedRoundBufferListMemBase.MoveRowsToOther

Declaration

Source position: lazlistclasses.pas line 438

protected procedure TLazFixedRoundBufferListMemBase.MoveRowsToOther(

  AFromOffset: Integer;

  AToOffset: Integer;

  ACount: Integer;

  ACap: Integer;

  AnOther: TLazFixedRoundBufferListMemBase

);


TLazFixedRoundBufferListMemBase.ShrinkCapacity

Declaration

Source position: lazlistclasses.pas line 427

protected function TLazFixedRoundBufferListMemBase.ShrinkCapacity(

  ARequired: Integer

):Integer;


TLazListClassesInternalMem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 207

type TLazListClassesInternalMem = object

protected

Type

  TMemRecord = record

  FirstItem: record

    case Integer of

      1: (

          Ptr: PByte;

        );

      2: (

          Idx: Integer;

        );

  end;

  Count: Integer;

  Capacity: Cardinal;

  Data: record

  end;

end;

  PMemRecord = ^TMemRecord;

  property CapacityFast: Cardinal; [r]

public

  procedure Init;

  procedure Alloc();

  procedure Free;

  function IsAllocated;

  property Capacity: Cardinal; [rw]

  property Count: Integer; [rw]

  property DataPointer: PByte; [r]

  property FirstItemPointer: PByte; [rw]

  property FirstItemIndex: Integer; [rw]

end;

Inheritance

TLazListClassesInternalMem
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazListClassesInternalMem
pt | ro | CapacityFast
 |  | Capacity
 |  | Count
 | ro | DataPointer
 |  | FirstItemPointer
 |  | FirstItemIndex


pt | ro | CapacityFast (TLazListClassesInternalMem)
 |  | Count (TLazListClassesInternalMem)
 | ro | DataPointer (TLazListClassesInternalMem)
 |  | FirstItemIndex (TLazListClassesInternalMem)
 |  | FirstItemPointer (TLazListClassesInternalMem)


TLazListClassesInternalMem
 | Init
 | Alloc
 | Free
 | IsAllocated


Alloc (TLazListClassesInternalMem)

Free (TLazListClassesInternalMem)

Init (TLazListClassesInternalMem)

IsAllocated (TLazListClassesInternalMem)


TLazListClassesInternalMem


TLazListClassesInternalMem.Alloc

Declaration

Source position: lazlistclasses.pas line 237

public procedure TLazListClassesInternalMem.Alloc(

  AByteSize: Integer

);


TLazListClassesInternalMem.Capacity

Declaration

Source position: lazlistclasses.pas line 241

public property TLazListClassesInternalMem.Capacity : Cardinal
  read GetCapacity
  write SetCapacity;


TLazListClassesInternalMem.CapacityFast

Declaration

Source position: lazlistclasses.pas line 234

protected property TLazListClassesInternalMem.CapacityFast : Cardinal
  read GetCapacityFast;


TLazListClassesInternalMem.Count

Declaration

Source position: lazlistclasses.pas line 242

public property TLazListClassesInternalMem.Count : Integer
  read GetCount
  write SetCount;


TLazListClassesInternalMem.DataPointer

Declaration

Source position: lazlistclasses.pas line 243

public property TLazListClassesInternalMem.DataPointer : PByte
  read GetDataPointer;


TLazListClassesInternalMem.FirstItemIndex

Declaration

Source position: lazlistclasses.pas line 247

public property TLazListClassesInternalMem.FirstItemIndex : Integer
  read GetFirstItemIndex
  write SetFirstItemIndex;


TLazListClassesInternalMem.FirstItemPointer

Declaration

Source position: lazlistclasses.pas line 246

public property TLazListClassesInternalMem.FirstItemPointer : PByte
  read GetFirstItemPointer
  write SetFirstItemPointer;


TLazListClassesInternalMem.Free

Declaration

Source position: lazlistclasses.pas line 238

public procedure TLazListClassesInternalMem.Free;


TLazListClassesInternalMem.Init

Declaration

Source position: lazlistclasses.pas line 236

public procedure TLazListClassesInternalMem.Init;


TLazListClassesInternalMem.IsAllocated

Declaration

Source position: lazlistclasses.pas line 239

public function TLazListClassesInternalMem.IsAllocated: Boolean;


TLazListClassesInternalMem.PMemRecord

Declaration

Source position: lazlistclasses.pas line 219

protected type TLazListClassesInternalMem.PMemRecord = ^TMemRecord;


TLazListClassesInternalMem.TMemRecord

Declaration

Source position: lazlistclasses.pas line 209

protected type TLazListClassesInternalMem.TMemRecord = record

  FirstItem: record

    case Integer of

      1: (

          Ptr: PByte;

        );

      2: (

          Idx: Integer;

        );

  end;

  Count: Integer;

  Capacity: Cardinal;

  Data: record

  end;

end;


TLazListClassesItemSize

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 189

type generic TLazListClassesItemSize <T>= object

protected

Const

  ItemSize = SizeOf(T)

end;

Inheritance

TLazListClassesItemSize
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazListClassesItemSize


TLazListClassesItemSize.ItemSize

Declaration

Source position: lazlistclasses.pas line 192

protected const TLazListClassesItemSize.ItemSize = SizeOf(T);


TLazListClassesVarItemSize

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 198

type TLazListClassesVarItemSize = object

protected

  ItemSize: Integer;

end;

Inheritance

TLazListClassesVarItemSize
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazListClassesVarItemSize


TLazListClassesVarItemSize.ItemSize

Declaration

Source position: lazlistclasses.pas line 200

protected TLazListClassesVarItemSize.ItemSize : Integer;


TLazPagedListObj

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 508

type TLazPagedListObj = object(TLazPagedListObjParent)

public

  procedure Create();

end;

Inheritance

TLazPagedListObj

TLazPagedListObjParent
?


TLazPagedListObj


TLazPagedListObj

Create


TLazPagedListObj.Create

Declaration

Source position: lazlistclasses.pas line 510

public procedure TLazPagedListObj.Create(

  APageSizeExp: Integer;

  AnItemSize: Integer

);


TLazPagedListObjBase

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 449

type generic TLazPagedListObjBase <TPItemT,TSizeT>= object

protected

  function GrowCapacity();

  function ShrinkCapacity();

  property PagePointer []: PPageType; [r]

public

  procedure Create();

  procedure Destroy;

  procedure InsertRows();

  procedure DeleteRows();

  procedure MoveRows();

  procedure DebugDump;

  property Capacity: Integer; [rw]

  property Count: Integer; [r]

  property PageCount: Integer; [r]

  property ItemPointer []: TPItemT; [r]

  property GrowProc: TLazStorageMemGrowProc; [rw]

  property ShrinkProc: TLazStorageMemShrinkProc; [rw]

end;

Inheritance

TLazPagedListObjBase
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazPagedListObjBase
pt | ro | PagePointer
 |  | Capacity
 | ro | Count
 | ro | PageCount
 | ro | ItemPointer
 |  | GrowProc
 |  | ShrinkProc


 | ro | Count (TLazPagedListObjBase)
 |  | GrowProc (TLazPagedListObjBase)
 | ro | ItemPointer (TLazPagedListObjBase)
 | ro | PageCount (TLazPagedListObjBase)
pt | ro | PagePointer (TLazPagedListObjBase)
 |  | ShrinkProc (TLazPagedListObjBase)


TLazPagedListObjBase
pt | GrowCapacity
pt | ShrinkCapacity
 | Create
 | Destroy
 | InsertRows
 | DeleteRows
 | MoveRows
 | DebugDump


 | Create (TLazPagedListObjBase)
 | DebugDump (TLazPagedListObjBase)
 | DeleteRows (TLazPagedListObjBase)
 | Destroy (TLazPagedListObjBase)
pt | GrowCapacity (TLazPagedListObjBase)
 | InsertRows (TLazPagedListObjBase)
 | MoveRows (TLazPagedListObjBase)
pt | ShrinkCapacity (TLazPagedListObjBase)


TLazPagedListObjBase


TLazPagedListObjBase.Capacity

Declaration

Source position: lazlistclasses.pas line 498

public property TLazPagedListObjBase.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazPagedListObjBase.Count

Declaration

Source position: lazlistclasses.pas line 499

public property TLazPagedListObjBase.Count : Integer
  read FCount;


TLazPagedListObjBase.Create

Declaration

Source position: lazlistclasses.pas line 491

public procedure TLazPagedListObjBase.Create(

  APageSizeExp: Integer

);


TLazPagedListObjBase.DebugDump

Declaration

Source position: lazlistclasses.pas line 496

public procedure TLazPagedListObjBase.DebugDump;


TLazPagedListObjBase.DeleteRows

Declaration

Source position: lazlistclasses.pas line 494

public procedure TLazPagedListObjBase.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazPagedListObjBase.Destroy

Declaration

Source position: lazlistclasses.pas line 492

public procedure TLazPagedListObjBase.Destroy;


TLazPagedListObjBase.GrowCapacity

Declaration

Source position: lazlistclasses.pas line 487

protected function TLazPagedListObjBase.GrowCapacity(

  ARequiredPages: Integer

):Integer;


TLazPagedListObjBase.GrowProc

Declaration

Source position: lazlistclasses.pas line 502

public property TLazPagedListObjBase.GrowProc : TLazStorageMemGrowProc
  read FGrowProc
  write FGrowProc;


TLazPagedListObjBase.InsertRows

Declaration

Source position: lazlistclasses.pas line 493

public procedure TLazPagedListObjBase.InsertRows(

  AIndex: Integer;

  ACount: Integer

);


TLazPagedListObjBase.ItemPointer

Declaration

Source position: lazlistclasses.pas line 501

public property TLazPagedListObjBase.ItemPointer[Index: Integer] : TPItemT
  read GetItemPointer;


TLazPagedListObjBase.MoveRows

Declaration

Source position: lazlistclasses.pas line 495

public procedure TLazPagedListObjBase.MoveRows(

  AFromIndex: Integer;

  AToIndex: Integer;

  ACount: Integer

);


TLazPagedListObjBase.PageCount

Declaration

Source position: lazlistclasses.pas line 500

public property TLazPagedListObjBase.PageCount : Integer
  read GetPageCount;


TLazPagedListObjBase.PagePointer

Declaration

Source position: lazlistclasses.pas line 489

protected property TLazPagedListObjBase.PagePointer[PageIndex: Integer] : PPageType
  read GetPagePointer;


TLazPagedListObjBase.ShrinkCapacity

Declaration

Source position: lazlistclasses.pas line 488

protected function TLazPagedListObjBase.ShrinkCapacity(

  ARequiredPages: Integer

):Integer;


TLazPagedListObjBase.ShrinkProc

Declaration

Source position: lazlistclasses.pas line 503

public property TLazPagedListObjBase.ShrinkProc : TLazStorageMemShrinkProc
  read FShrinkProc
  write FShrinkProc;


TLazRoundBufferListObj

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 372

type TLazRoundBufferListObj = object()

public

  procedure Create();

end;

Inheritance

TLazRoundBufferListObj

?


TLazRoundBufferListObj


TLazRoundBufferListObj

Create


TLazRoundBufferListObj.Create

Declaration

Source position: lazlistclasses.pas line 374

public procedure TLazRoundBufferListObj.Create(

  AnItemSize: Integer

);


TLazRoundBufferListObjBase

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 334

type generic TLazRoundBufferListObjBase <TPItemT,TSizeT>= object

protected

  procedure InternalMoveUp();

  procedure InternalMoveDown();

  function GrowCapacity();

  function ShrinkCapacity();

  function SetCapacityEx();

  function InsertRowsEx();

  procedure DeleteRowsEx();

  property ItemPointerFast []: TPItemT; [r]

public

  procedure Create;

  procedure Destroy;

  function InsertRows();

  procedure DeleteRows();

  procedure MoveRows();

  procedure SwapEntries();

  procedure DebugDump;

  property Capacity: Integer; [rw]

  property Count: Integer; [r]

  property ItemPointer []: TPItemT; [r]

end;

Inheritance

TLazRoundBufferListObjBase
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazRoundBufferListObjBase
pt | ro | ItemPointerFast
 |  | Capacity
 | ro | Count
 | ro | ItemPointer


 | ro | Count (TLazRoundBufferListObjBase)
 | ro | ItemPointer (TLazRoundBufferListObjBase)
pt | ro | ItemPointerFast (TLazRoundBufferListObjBase)


TLazRoundBufferListObjBase
pt | InternalMoveUp
pt | InternalMoveDown
pt | GrowCapacity
pt | ShrinkCapacity
pt | SetCapacityEx
pt | InsertRowsEx
pt | DeleteRowsEx
 | Create
 | Destroy
 | InsertRows
 | DeleteRows
 | MoveRows
 | SwapEntries
 | DebugDump


pt | DeleteRowsEx (TLazRoundBufferListObjBase)
 | Destroy (TLazRoundBufferListObjBase)
pt | GrowCapacity (TLazRoundBufferListObjBase)
 | InsertRows (TLazRoundBufferListObjBase)
pt | InsertRowsEx (TLazRoundBufferListObjBase)
pt | InternalMoveDown (TLazRoundBufferListObjBase)
pt | InternalMoveUp (TLazRoundBufferListObjBase)
 | MoveRows (TLazRoundBufferListObjBase)
pt | SetCapacityEx (TLazRoundBufferListObjBase)
pt | ShrinkCapacity (TLazRoundBufferListObjBase)
 | SwapEntries (TLazRoundBufferListObjBase)


TLazRoundBufferListObjBase


TLazRoundBufferListObjBase.Capacity

Declaration

Source position: lazlistclasses.pas line 365

public property TLazRoundBufferListObjBase.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazRoundBufferListObjBase.Count

Declaration

Source position: lazlistclasses.pas line 366

public property TLazRoundBufferListObjBase.Count : Integer
  read GetCount;


TLazRoundBufferListObjBase.Create

Declaration

Source position: lazlistclasses.pas line 357

public procedure TLazRoundBufferListObjBase.Create;


TLazRoundBufferListObjBase.DebugDump

Declaration

Source position: lazlistclasses.pas line 363

public procedure TLazRoundBufferListObjBase.DebugDump;


TLazRoundBufferListObjBase.DeleteRows

Declaration

Source position: lazlistclasses.pas line 360

public procedure TLazRoundBufferListObjBase.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazRoundBufferListObjBase.DeleteRowsEx

Declaration

Source position: lazlistclasses.pas line 354

protected procedure TLazRoundBufferListObjBase.DeleteRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AShrinkProc: TLazStorageMemShrinkProc

);


TLazRoundBufferListObjBase.Destroy

Declaration

Source position: lazlistclasses.pas line 358

public procedure TLazRoundBufferListObjBase.Destroy;


TLazRoundBufferListObjBase.GrowCapacity

Declaration

Source position: lazlistclasses.pas line 349

protected function TLazRoundBufferListObjBase.GrowCapacity(

  ARequired: Integer

):Integer;


TLazRoundBufferListObjBase.InsertRows

Declaration

Source position: lazlistclasses.pas line 359

public function TLazRoundBufferListObjBase.InsertRows(

  AIndex: Integer;

  ACount: Integer

):TPItemT;


TLazRoundBufferListObjBase.InsertRowsEx

Declaration

Source position: lazlistclasses.pas line 353

protected function TLazRoundBufferListObjBase.InsertRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AGrowProc: TLazStorageMemGrowProc

):TPItemT;


TLazRoundBufferListObjBase.InternalMoveDown

Declaration

Source position: lazlistclasses.pas line 348

protected procedure TLazRoundBufferListObjBase.InternalMoveDown(

  AFrom: PByte;

  ATo: PByte;

  AByteCnt: Integer;

  AUpperBound: PByte

);


TLazRoundBufferListObjBase.InternalMoveUp

Declaration

Source position: lazlistclasses.pas line 347

protected procedure TLazRoundBufferListObjBase.InternalMoveUp(

  AFromEnd: PByte;

  AToEnd: PByte;

  AByteCnt: Integer;

  AByteCap: Integer

);


TLazRoundBufferListObjBase.ItemPointer

Declaration

Source position: lazlistclasses.pas line 367

public property TLazRoundBufferListObjBase.ItemPointer[Index: Integer] : TPItemT
  read GetItemPointer;


TLazRoundBufferListObjBase.ItemPointerFast

Declaration

Source position: lazlistclasses.pas line 355

protected property TLazRoundBufferListObjBase.ItemPointerFast[Index: Integer] : TPItemT
  read GetItemPointerFast;


TLazRoundBufferListObjBase.MoveRows

Declaration

Source position: lazlistclasses.pas line 361

public procedure TLazRoundBufferListObjBase.MoveRows(

  AFromIndex: Integer;

  AToIndex: Integer;

  ACount: Integer

);


TLazRoundBufferListObjBase.SetCapacityEx

Declaration

Source position: lazlistclasses.pas line 352

protected function TLazRoundBufferListObjBase.SetCapacityEx(

  AValue: Integer;

  AnInsertPos: Integer;

  AnInsertSize: Integer

):TPItemT;


TLazRoundBufferListObjBase.ShrinkCapacity

Declaration

Source position: lazlistclasses.pas line 350

protected function TLazRoundBufferListObjBase.ShrinkCapacity(

  ARequired: Integer

):Integer;


TLazRoundBufferListObjBase.SwapEntries

Declaration

Source position: lazlistclasses.pas line 362

public procedure TLazRoundBufferListObjBase.SwapEntries(

  AIndex1: Integer;

  AIndex2: Integer

);


TLazRoundBufferListObjGen

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 379

type generic TLazRoundBufferListObjGen <T>= object

protected

  function InsertRowsEx();

  procedure DeleteRowsEx();

  property ItemPointerFast []: PT; [r]

public

  procedure Create;

  procedure Destroy;

  function InsertRows();

  procedure DeleteRows();

  procedure MoveRows();

  procedure SwapEntries();

  procedure DebugDump;

  property Capacity: Integer; [rw]

  property Count: Integer; [r]

  property ItemPointer []: PT; [r]

  function IndexOf();

  property Items []: T; default; [rw]

end;

Inheritance

TLazRoundBufferListObjGen
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazRoundBufferListObjGen
pt | ro | ItemPointerFast
 |  | Capacity
 | ro | Count
 | ro | ItemPointer
 |  | Items


 | ro | Count (TLazRoundBufferListObjGen)
 | ro | ItemPointer (TLazRoundBufferListObjGen)
pt | ro | ItemPointerFast (TLazRoundBufferListObjGen)
 |  | Items (TLazRoundBufferListObjGen)


TLazRoundBufferListObjGen
pt | InsertRowsEx
pt | DeleteRowsEx
 | Create
 | Destroy
 | InsertRows
 | DeleteRows
 | MoveRows
 | SwapEntries
 | DebugDump
 | IndexOf


pt | DeleteRowsEx (TLazRoundBufferListObjGen)
 | Destroy (TLazRoundBufferListObjGen)
 | IndexOf (TLazRoundBufferListObjGen)
 | InsertRows (TLazRoundBufferListObjGen)
pt | InsertRowsEx (TLazRoundBufferListObjGen)
 | MoveRows (TLazRoundBufferListObjGen)
 | SwapEntries (TLazRoundBufferListObjGen)


TLazRoundBufferListObjGen


TLazRoundBufferListObjGen.Capacity

Declaration

Source position: lazlistclasses.pas line 406

public property TLazRoundBufferListObjGen.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazRoundBufferListObjGen.Count

Declaration

Source position: lazlistclasses.pas line 407

public property TLazRoundBufferListObjGen.Count : Integer
  read GetCount;


TLazRoundBufferListObjGen.Create

Declaration

Source position: lazlistclasses.pas line 398

public procedure TLazRoundBufferListObjGen.Create;


TLazRoundBufferListObjGen.DebugDump

Declaration

Source position: lazlistclasses.pas line 404

public procedure TLazRoundBufferListObjGen.DebugDump;


TLazRoundBufferListObjGen.DeleteRows

Declaration

Source position: lazlistclasses.pas line 401

public procedure TLazRoundBufferListObjGen.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazRoundBufferListObjGen.DeleteRowsEx

Declaration

Source position: lazlistclasses.pas line 395

protected procedure TLazRoundBufferListObjGen.DeleteRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AShrinkProc: TLazStorageMemShrinkProc

);


TLazRoundBufferListObjGen.Destroy

Declaration

Source position: lazlistclasses.pas line 399

public procedure TLazRoundBufferListObjGen.Destroy;


TLazRoundBufferListObjGen.IndexOf

Declaration

Source position: lazlistclasses.pas line 414

public function TLazRoundBufferListObjGen.IndexOf(

  AnItem: T

):Integer;


TLazRoundBufferListObjGen.InsertRows

Declaration

Source position: lazlistclasses.pas line 400

public function TLazRoundBufferListObjGen.InsertRows(

  AIndex: Integer;

  ACount: Integer

):PT;


TLazRoundBufferListObjGen.InsertRowsEx

Declaration

Source position: lazlistclasses.pas line 394

protected function TLazRoundBufferListObjGen.InsertRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AGrowProc: TLazStorageMemGrowProc

):PT;


TLazRoundBufferListObjGen.ItemPointer

Declaration

Source position: lazlistclasses.pas line 408

public property TLazRoundBufferListObjGen.ItemPointer[Index: Integer] : PT
  read GetItemPointer;


TLazRoundBufferListObjGen.ItemPointerFast

Declaration

Source position: lazlistclasses.pas line 396

protected property TLazRoundBufferListObjGen.ItemPointerFast[Index: Integer] : PT
  read GetItemPointerFast;


TLazRoundBufferListObjGen.Items

Declaration

Source position: lazlistclasses.pas line 415

public property TLazRoundBufferListObjGen.Items[Index: Integer] : T
  read Get
  write Put;
  default;


TLazRoundBufferListObjGen.MoveRows

Declaration

Source position: lazlistclasses.pas line 402

public procedure TLazRoundBufferListObjGen.MoveRows(

  AFromIndex: Integer;

  AToIndex: Integer;

  ACount: Integer

);


TLazRoundBufferListObjGen.SwapEntries

Declaration

Source position: lazlistclasses.pas line 403

public procedure TLazRoundBufferListObjGen.SwapEntries(

  AIndex1: Integer;

  AIndex2: Integer

);


TLazShiftBufferList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 516

type TLazShiftBufferList = class

public

  constructor Create();

  destructor Destroy; override;

  function Add();

  procedure Clear; virtual;

  procedure Delete();

  procedure Insert();

  property Capacity: Integer; [rw]

  property Count: Integer; [rw]

  property ItemPointer []: Pointer; [r]

end;

Inheritance

TLazShiftBufferList
|

TObject


TLazShiftBufferList
 |  | Capacity
 |  | Count
 | ro | ItemPointer


ro | ItemPointer (TLazShiftBufferList)


TLazShiftBufferList
 | Create
 | Destroy
 | Add
 | Clear
 | Delete
 | Insert


Add (TLazShiftBufferList)

Clear (TLazShiftBufferList)

Create (TLazShiftBufferList)

Delete (TLazShiftBufferList)

Destroy (TLazShiftBufferList)

Insert (TLazShiftBufferList)


TLazShiftBufferList


TLazShiftBufferList.Add

Declaration

Source position: lazlistclasses.pas line 528

public function TLazShiftBufferList.Add(

  ItemPointer: Pointer

):Integer;


TLazShiftBufferList.Capacity

Declaration

Source position: lazlistclasses.pas line 533

public property TLazShiftBufferList.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazShiftBufferList.Clear

Declaration

Source position: lazlistclasses.pas line 529

public procedure TLazShiftBufferList.Clear; virtual;


TLazShiftBufferList.Count

Declaration

Source position: lazlistclasses.pas line 534

public property TLazShiftBufferList.Count : Integer
  read GetCount
  write SetCount;


TLazShiftBufferList.Create

Declaration

Source position: lazlistclasses.pas line 525

public constructor TLazShiftBufferList.Create(

  AnItemSize: Integer

);


TLazShiftBufferList.Delete

Declaration

Source position: lazlistclasses.pas line 530

public procedure TLazShiftBufferList.Delete(

  Index: Integer

);


TLazShiftBufferList.Destroy

Declaration

Source position: lazlistclasses.pas line 526

public destructor TLazShiftBufferList.Destroy; override;


TLazShiftBufferList.Insert

Declaration

Source position: lazlistclasses.pas line 532

public procedure TLazShiftBufferList.Insert(

  Index: Integer;

  ItemPointer: Pointer

);


TLazShiftBufferList.ItemPointer

Declaration

Source position: lazlistclasses.pas line 535

public property TLazShiftBufferList.ItemPointer[Index: Integer] : Pointer
  read GetItemPointer;


TLazShiftBufferListGen

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 540

type generic TLazShiftBufferListGen <T>= class

public

  constructor Create;

  destructor Destroy; override;

  function Add();

  procedure Clear; virtual;

  procedure Delete();

  function IndexOf();

  procedure Insert();

  function Remove();

  property Capacity: Integer; [rw]

  property Count: Integer; [rw]

  property ItemPointer []: PT; [r]

  property Items []: T; default; [rw]

end;

Inheritance

TLazShiftBufferListGen
|

TObject


TLazShiftBufferListGen
 |  | Capacity
 |  | Count
 | ro | ItemPointer
 |  | Items


ro | ItemPointer (TLazShiftBufferListGen)
 | Items (TLazShiftBufferListGen)


TLazShiftBufferListGen
 | Create
 | Destroy
 | Add
 | Clear
 | Delete
 | IndexOf
 | Insert
 | Remove


Add (TLazShiftBufferListGen)

Clear (TLazShiftBufferListGen)

Create (TLazShiftBufferListGen)

Delete (TLazShiftBufferListGen)

Destroy (TLazShiftBufferListGen)

IndexOf (TLazShiftBufferListGen)

Insert (TLazShiftBufferListGen)

Remove (TLazShiftBufferListGen)


TLazShiftBufferListGen


TLazShiftBufferListGen.Add

Declaration

Source position: lazlistclasses.pas line 557

public function TLazShiftBufferListGen.Add(

  Item: T

):Integer;


TLazShiftBufferListGen.Capacity

Declaration

Source position: lazlistclasses.pas line 563

public property TLazShiftBufferListGen.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazShiftBufferListGen.Clear

Declaration

Source position: lazlistclasses.pas line 558

public procedure TLazShiftBufferListGen.Clear; virtual;


TLazShiftBufferListGen.Count

Declaration

Source position: lazlistclasses.pas line 564

public property TLazShiftBufferListGen.Count : Integer
  read GetCount
  write SetCount;


TLazShiftBufferListGen.Create

Declaration

Source position: lazlistclasses.pas line 554

public constructor TLazShiftBufferListGen.Create;


TLazShiftBufferListGen.Delete

Declaration

Source position: lazlistclasses.pas line 559

public procedure TLazShiftBufferListGen.Delete(

  Index: Integer

);


TLazShiftBufferListGen.Destroy

Declaration

Source position: lazlistclasses.pas line 555

public destructor TLazShiftBufferListGen.Destroy; override;


TLazShiftBufferListGen.IndexOf

Declaration

Source position: lazlistclasses.pas line 560

public function TLazShiftBufferListGen.IndexOf(

  Item: T

):Integer;


TLazShiftBufferListGen.Insert

Declaration

Source position: lazlistclasses.pas line 561

public procedure TLazShiftBufferListGen.Insert(

  Index: Integer;

  Item: T

);


TLazShiftBufferListGen.ItemPointer

Declaration

Source position: lazlistclasses.pas line 565

public property TLazShiftBufferListGen.ItemPointer[Index: Integer] : PT
  read GetItemPointer;


TLazShiftBufferListGen.Items

Declaration

Source position: lazlistclasses.pas line 566

public property TLazShiftBufferListGen.Items[Index: Integer] : T
  read Get
  write Put;
  default;


TLazShiftBufferListGen.Remove

Declaration

Source position: lazlistclasses.pas line 562

public function TLazShiftBufferListGen.Remove(

  Item: T

):Integer;


TLazShiftBufferListObj

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 286

type TLazShiftBufferListObj = object()

public

  procedure Create();

end;

Inheritance

TLazShiftBufferListObj

?


TLazShiftBufferListObj


TLazShiftBufferListObj

Create


TLazShiftBufferListObj.Create

Declaration

Source position: lazlistclasses.pas line 288

public procedure TLazShiftBufferListObj.Create(

  AnItemSize: Integer

);


TLazShiftBufferListObjBase

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 252

type generic TLazShiftBufferListObjBase <TPItemT,TSizeT>= object

protected

  function GrowCapacity();

  function ShrinkCapacity();

  function SetCapacityEx();

  function InsertRowsEx();

  procedure DeleteRowsEx();

  property ItemPointerFast []: TPItemT; [r]

public

  procedure Create;

  procedure Destroy;

  function InsertRows();

  procedure DeleteRows();

  procedure MoveRows();

  procedure SwapEntries();

  procedure DebugDump;

  property Capacity: Integer; [rw]

  property Count: Integer; [r]

  property ItemPointer []: TPItemT; [r]

end;

Inheritance

TLazShiftBufferListObjBase
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazShiftBufferListObjBase
pt | ro | ItemPointerFast
 |  | Capacity
 | ro | Count
 | ro | ItemPointer


 | ro | Count (TLazShiftBufferListObjBase)
 | ro | ItemPointer (TLazShiftBufferListObjBase)
pt | ro | ItemPointerFast (TLazShiftBufferListObjBase)


TLazShiftBufferListObjBase
pt | GrowCapacity
pt | ShrinkCapacity
pt | SetCapacityEx
pt | InsertRowsEx
pt | DeleteRowsEx
 | Create
 | Destroy
 | InsertRows
 | DeleteRows
 | MoveRows
 | SwapEntries
 | DebugDump


pt | DeleteRowsEx (TLazShiftBufferListObjBase)
 | Destroy (TLazShiftBufferListObjBase)
pt | GrowCapacity (TLazShiftBufferListObjBase)
 | InsertRows (TLazShiftBufferListObjBase)
pt | InsertRowsEx (TLazShiftBufferListObjBase)
 | MoveRows (TLazShiftBufferListObjBase)
pt | SetCapacityEx (TLazShiftBufferListObjBase)
pt | ShrinkCapacity (TLazShiftBufferListObjBase)
 | SwapEntries (TLazShiftBufferListObjBase)


TLazShiftBufferListObjBase


TLazShiftBufferListObjBase.Capacity

Declaration

Source position: lazlistclasses.pas line 279

public property TLazShiftBufferListObjBase.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazShiftBufferListObjBase.Count

Declaration

Source position: lazlistclasses.pas line 280

public property TLazShiftBufferListObjBase.Count : Integer
  read GetCount;


TLazShiftBufferListObjBase.Create

Declaration

Source position: lazlistclasses.pas line 271

public procedure TLazShiftBufferListObjBase.Create;


TLazShiftBufferListObjBase.DebugDump

Declaration

Source position: lazlistclasses.pas line 277

public procedure TLazShiftBufferListObjBase.DebugDump;


TLazShiftBufferListObjBase.DeleteRows

Declaration

Source position: lazlistclasses.pas line 274

public procedure TLazShiftBufferListObjBase.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazShiftBufferListObjBase.DeleteRowsEx

Declaration

Source position: lazlistclasses.pas line 268

protected procedure TLazShiftBufferListObjBase.DeleteRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AShrinkProc: TLazStorageMemShrinkProc

);


TLazShiftBufferListObjBase.Destroy

Declaration

Source position: lazlistclasses.pas line 272

public procedure TLazShiftBufferListObjBase.Destroy;


TLazShiftBufferListObjBase.GrowCapacity

Declaration

Source position: lazlistclasses.pas line 263

protected function TLazShiftBufferListObjBase.GrowCapacity(

  ARequired: Integer

):Integer;


TLazShiftBufferListObjBase.InsertRows

Declaration

Source position: lazlistclasses.pas line 273

public function TLazShiftBufferListObjBase.InsertRows(

  AIndex: Integer;

  ACount: Integer

):TPItemT;


TLazShiftBufferListObjBase.InsertRowsEx

Declaration

Source position: lazlistclasses.pas line 267

protected function TLazShiftBufferListObjBase.InsertRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AGrowProc: TLazStorageMemGrowProc

):TPItemT;


TLazShiftBufferListObjBase.ItemPointer

Declaration

Source position: lazlistclasses.pas line 281

public property TLazShiftBufferListObjBase.ItemPointer[Index: Integer] : TPItemT
  read GetItemPointer;


TLazShiftBufferListObjBase.ItemPointerFast

Declaration

Source position: lazlistclasses.pas line 269

protected property TLazShiftBufferListObjBase.ItemPointerFast[Index: Integer] : TPItemT
  read GetItemPointerFast;


TLazShiftBufferListObjBase.MoveRows

Declaration

Source position: lazlistclasses.pas line 275

public procedure TLazShiftBufferListObjBase.MoveRows(

  AFromIndex: Integer;

  AToIndex: Integer;

  ACount: Integer

);


TLazShiftBufferListObjBase.SetCapacityEx

Declaration

Source position: lazlistclasses.pas line 266

protected function TLazShiftBufferListObjBase.SetCapacityEx(

  AValue: Integer;

  AnInsertPos: Integer;

  AnInsertSize: Integer

):TPItemT;


TLazShiftBufferListObjBase.ShrinkCapacity

Declaration

Source position: lazlistclasses.pas line 264

protected function TLazShiftBufferListObjBase.ShrinkCapacity(

  ARequired: Integer

):Integer;


TLazShiftBufferListObjBase.SwapEntries

Declaration

Source position: lazlistclasses.pas line 276

public procedure TLazShiftBufferListObjBase.SwapEntries(

  AIndex1: Integer;

  AIndex2: Integer

);


TLazShiftBufferListObjGen

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlistclasses.pas line 293

type generic TLazShiftBufferListObjGen <T>= object

protected

  function InsertRowsEx();

  procedure DeleteRowsEx();

  property ItemPointerFast []: PT; [r]

public

  procedure Create;

  procedure Destroy;

  function InsertRows();

  procedure DeleteRows();

  procedure MoveRows();

  procedure SwapEntries();

  procedure DebugDump;

  property Capacity: Integer; [rw]

  property Count: Integer; [r]

  property ItemPointer []: PT; [r]

  function IndexOf();

  property Items []: T; default; [rw]

end;

Inheritance

TLazShiftBufferListObjGen
The latest version of this document can be found at lazarus-ccr.sourceforge.net .


TLazShiftBufferListObjGen
pt | ro | ItemPointerFast
 |  | Capacity
 | ro | Count
 | ro | ItemPointer
 |  | Items


 | ro | Count (TLazShiftBufferListObjGen)
 | ro | ItemPointer (TLazShiftBufferListObjGen)
pt | ro | ItemPointerFast (TLazShiftBufferListObjGen)
 |  | Items (TLazShiftBufferListObjGen)


TLazShiftBufferListObjGen
pt | InsertRowsEx
pt | DeleteRowsEx
 | Create
 | Destroy
 | InsertRows
 | DeleteRows
 | MoveRows
 | SwapEntries
 | DebugDump
 | IndexOf


pt | DeleteRowsEx (TLazShiftBufferListObjGen)
 | Destroy (TLazShiftBufferListObjGen)
 | IndexOf (TLazShiftBufferListObjGen)
 | InsertRows (TLazShiftBufferListObjGen)
pt | InsertRowsEx (TLazShiftBufferListObjGen)
 | MoveRows (TLazShiftBufferListObjGen)
 | SwapEntries (TLazShiftBufferListObjGen)


TLazShiftBufferListObjGen


TLazShiftBufferListObjGen.Capacity

Declaration

Source position: lazlistclasses.pas line 320

public property TLazShiftBufferListObjGen.Capacity : Integer
  read GetCapacity
  write SetCapacity;


TLazShiftBufferListObjGen.Count

Declaration

Source position: lazlistclasses.pas line 321

public property TLazShiftBufferListObjGen.Count : Integer
  read GetCount;


TLazShiftBufferListObjGen.Create

Declaration

Source position: lazlistclasses.pas line 312

public procedure TLazShiftBufferListObjGen.Create;


TLazShiftBufferListObjGen.DebugDump

Declaration

Source position: lazlistclasses.pas line 318

public procedure TLazShiftBufferListObjGen.DebugDump;


TLazShiftBufferListObjGen.DeleteRows

Declaration

Source position: lazlistclasses.pas line 315

public procedure TLazShiftBufferListObjGen.DeleteRows(

  AIndex: Integer;

  ACount: Integer

);


TLazShiftBufferListObjGen.DeleteRowsEx

Declaration

Source position: lazlistclasses.pas line 309

protected procedure TLazShiftBufferListObjGen.DeleteRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AShrinkProc: TLazStorageMemShrinkProc

);


TLazShiftBufferListObjGen.Destroy

Declaration

Source position: lazlistclasses.pas line 313

public procedure TLazShiftBufferListObjGen.Destroy;


TLazShiftBufferListObjGen.IndexOf

Declaration

Source position: lazlistclasses.pas line 328

public function TLazShiftBufferListObjGen.IndexOf(

  AnItem: T

):Integer;


TLazShiftBufferListObjGen.InsertRows

Declaration

Source position: lazlistclasses.pas line 314

public function TLazShiftBufferListObjGen.InsertRows(

  AIndex: Integer;

  ACount: Integer

):PT;


TLazShiftBufferListObjGen.InsertRowsEx

Declaration

Source position: lazlistclasses.pas line 308

protected function TLazShiftBufferListObjGen.InsertRowsEx(

  AIndex: Integer;

  ACount: Integer;

  AGrowProc: TLazStorageMemGrowProc

):PT;


TLazShiftBufferListObjGen.ItemPointer

Declaration

Source position: lazlistclasses.pas line 322

public property TLazShiftBufferListObjGen.ItemPointer[Index: Integer] : PT
  read GetItemPointer;


TLazShiftBufferListObjGen.ItemPointerFast

Declaration

Source position: lazlistclasses.pas line 310

protected property TLazShiftBufferListObjGen.ItemPointerFast[Index: Integer] : PT
  read GetItemPointerFast;


TLazShiftBufferListObjGen.Items

Declaration

Source position: lazlistclasses.pas line 329

public property TLazShiftBufferListObjGen.Items[Index: Integer] : T
  read Get
  write Put;
  default;


TLazShiftBufferListObjGen.MoveRows

Declaration

Source position: lazlistclasses.pas line 316

public procedure TLazShiftBufferListObjGen.MoveRows(

  AFromIndex: Integer;

  AToIndex: Integer;

  ACount: Integer

);


TLazShiftBufferListObjGen.SwapEntries

Declaration

Source position: lazlistclasses.pas line 317

public procedure TLazShiftBufferListObjGen.SwapEntries(

  AIndex1: Integer;

  AIndex2: Integer

);


TLazLoggerFile

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazlogger.pas line 116

type TLazLoggerFile = class(TLazLoggerWithGroupParam)
protected
procedure DoInit; override; |
procedure DoFinish; override;
procedure IncreaseIndent(); |
procedure DecreaseIndent(); |
procedure IndentChanged; override; |
procedure CreateIndent; virtual; |
function GetBlockHandler(); override; |
procedure ClearAllBlockHandler; |
procedure DoDbgOut(); override; |
procedure DoDebugLn(); override; |
procedure DoDebuglnStack(); override; |
property FileHandle: TLazLoggerFileHandle; [rw] |
public
constructor Create; |
destructor Destroy; override; |
procedure Assign(); override; |
function CurrentIndentLevel; override; |
property ParamForLogFileName: string; [rw] | Name of the command line option, that has the logfile's name
property EnvironmentForLogFileName: string; [rw] | Name of the environment, that has the logfile name
property OnDebugLn: TLazLoggerWriteEvent; [rw] | Event when writing a full line (Debugln, DebuglnEnter or DebuglnExit)
property OnDbgOut: TLazLoggerWriteEvent; [rw] | Event when writing without line end (DbgOut)
procedure AddBlockHandler(); override; |
procedure RemoveBlockHandler(); override; |
function BlockHandlerCount; override; |
property LogName: string; [rw] | The name of the log file
property UseStdOut: Boolean; [rw] | Enable writing to STDOUT, if LogName is not set
property CloseLogFileBetweenWrites: Boolean; [rw] | Enable opening and closing the log for each write
end;

Inheritance

TLazLoggerFile

|

TLazLoggerWithGroupParam

|

TLazLogger

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject

Description

TLazLoggerFile is a TLazLoggerWithGroupParam descendant.


TLazLoggerFile
pt |  | FileHandle
 |  | ParamForLogFileName
 |  | EnvironmentForLogFileName
 |  | LogName
 |  | UseStdOut
 |  | CloseLogFileBetweenWrites
TLazLoggerWithGroupParam
 |  | ParamForEnabledLogGroups
TLazLogger
pt | ro | IsInitialized
 |  | NestLvlIndent
 |  | MaxNestPrefixLen
 | ro | LogGroupList
 |  | UseGlobalLogGroupList
 | ro | BlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | BlockHandler (TLazLogger)
 |  | CloseLogFileBetweenWrites (TLazLoggerFile)
 |  | EnvironmentForLogFileName (TLazLoggerFile)
pt |  | FileHandle (TLazLoggerFile)
pt | ro | IsInitialized (TLazLogger)
 | ro | LogGroupList (TLazLogger)
 |  | LogName (TLazLoggerFile)
 |  | MaxNestPrefixLen (TLazLogger)
 |  | NestLvlIndent (TLazLogger)
 |  | ParamForEnabledLogGroups (TLazLoggerWithGroupParam)
 |  | ParamForLogFileName (TLazLoggerFile)
pt | ro | RefCount (TRefCountedObject)
 |  | UseGlobalLogGroupList (TLazLogger)
 |  | UseStdOut (TLazLoggerFile)


TLazLoggerFile
pt | DoInit
pt | DoFinish
pt | IncreaseIndent
pt | DecreaseIndent
pt | IndentChanged
pt | CreateIndent
pt | GetBlockHandler
pt | ClearAllBlockHandler
pt | DoDbgOut
pt | DoDebugLn
pt | DoDebuglnStack
 | Create
 | Destroy
 | Assign
 | CurrentIndentLevel
 | AddBlockHandler
 | RemoveBlockHandler
 | BlockHandlerCount
TLazLoggerWithGroupParam
 | Create
 | Assign
 | RegisterLogGroup
 | FindOrRegisterLogGroup
TLazLogger
pt | DoInit
pt | DoFinish
pt | DoFinsh
pt | IncreaseIndent
pt | DecreaseIndent
pt | IndentChanged
pt | GetBlockHandler
pt | DoDbgOut
pt | DoDebugLn
pt | DoDebuglnStack
pt | ArgsToString
 | Create
 | Destroy
 | Assign
 | Init
 | Finish
 | CurrentIndentLevel
 | RegisterLogGroup
 | FindOrRegisterLogGroup
 | AddBlockHandler
 | RemoveBlockHandler
 | BlockHandlerCount
 | DebuglnStack
 | DbgOut
 | DebugLn
 | DebugLnEnter
 | DebugLnExit
 | DumpExceptionBackTrace
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddBlockHandler (TLazLogger)
 | AddBlockHandler (TLazLoggerFile)
 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
pt | ArgsToString (TLazLogger)
 | Assign (TLazLogger)
 | Assign (TLazLoggerWithGroupParam)
 | Assign (TLazLoggerFile)
 | BlockHandlerCount (TLazLogger)
 | BlockHandlerCount (TLazLoggerFile)
pt | ClearAllBlockHandler (TLazLoggerFile)
 | Create (TRefCountedObject)
 | Create (TLazLogger)
 | Create (TLazLoggerWithGroupParam)
 | Create (TLazLoggerFile)
pt | CreateIndent (TLazLoggerFile)
 | CurrentIndentLevel (TLazLogger)
 | CurrentIndentLevel (TLazLoggerFile)
 | DbgOut (TLazLogger)
 | DebugLn (TLazLogger)
 | DebugLnEnter (TLazLogger)
 | DebugLnExit (TLazLogger)
 | DebuglnStack (TLazLogger)
pt | DecreaseIndent (TLazLogger)
pt | DecreaseIndent (TLazLoggerFile)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
 | Destroy (TLazLogger)
 | Destroy (TLazLoggerFile)
pt | DoDbgOut (TLazLogger)
pt | DoDbgOut (TLazLoggerFile)
pt | DoDebugLn (TLazLogger)
pt | DoDebugLn (TLazLoggerFile)
pt | DoDebuglnStack (TLazLogger)
pt | DoDebuglnStack (TLazLoggerFile)
pt | DoFinish (TLazLogger)
pt | DoFinish (TLazLoggerFile)
pt | DoFinsh (TLazLogger)
pt | DoFree (TRefCountedObject)
pt | DoInit (TLazLogger)
pt | DoInit (TLazLoggerFile)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | DumpExceptionBackTrace (TLazLogger)
 | FindOrRegisterLogGroup (TLazLogger)
 | FindOrRegisterLogGroup (TLazLoggerWithGroupParam)
 | Finish (TLazLogger)
pt | GetBlockHandler (TLazLogger)
pt | GetBlockHandler (TLazLoggerFile)
pt | IncreaseIndent (TLazLogger)
pt | IncreaseIndent (TLazLoggerFile)
pt | IndentChanged (TLazLogger)
pt | IndentChanged (TLazLoggerFile)
 | Init (TLazLogger)
 | RegisterLogGroup (TLazLogger)
 | RegisterLogGroup (TLazLoggerWithGroupParam)
 | ReleaseReference (TRefCountedObject)
 | RemoveBlockHandler (TLazLogger)
 | RemoveBlockHandler (TLazLoggerFile)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerFile
 | OnDebugLn
 | OnDbgOut
TLazLoggerWithGroupParam
TLazLogger
TRefCountedObject
TFreeNotifyingObject


TLazLoggerFile.AddBlockHandler

Declaration

Source position: lazlogger.pas line 183

public procedure TLazLoggerFile.AddBlockHandler(

  AHandler: TLazLoggerBlockHandler

); override;


TLazLoggerFile.Assign

Declaration

Source position: lazlogger.pas line 170

public procedure TLazLoggerFile.Assign(

  Src: TLazLogger

); override;


TLazLoggerFile.BlockHandlerCount

Declaration

Source position: lazlogger.pas line 185

public function TLazLoggerFile.BlockHandlerCount: Integer; override;


TLazLoggerFile.ClearAllBlockHandler

Declaration

Source position: lazlogger.pas line 159

protected procedure TLazLoggerFile.ClearAllBlockHandler;


TLazLoggerFile.CloseLogFileBetweenWrites

Enable opening and closing the log for each write

Declaration

Source position: lazlogger.pas line 190

public property TLazLoggerFile.CloseLogFileBetweenWrites : Boolean
  read GetCloseLogFileBetweenWrites
  write SetCloseLogFileBetweenWrites;


TLazLoggerFile.Create

Declaration

Source position: lazlogger.pas line 168

public constructor TLazLoggerFile.Create;


TLazLoggerFile.CreateIndent

Declaration

Source position: lazlogger.pas line 157

protected procedure TLazLoggerFile.CreateIndent; virtual;


TLazLoggerFile.CurrentIndentLevel

Declaration

Source position: lazlogger.pas line 171

public function TLazLoggerFile.CurrentIndentLevel: Integer; override;


TLazLoggerFile.DecreaseIndent

Declaration

Source position: lazlogger.pas line 153

protected procedure TLazLoggerFile.DecreaseIndent; override; overload;

procedure TLazLoggerFile.DecreaseIndent(

  LogEnabled: TLazLoggerLogEnabled

); override; overload;


TLazLoggerFile.Destroy

Declaration

Source position: lazlogger.pas line 169

public destructor TLazLoggerFile.Destroy; override;


TLazLoggerFile.DoDbgOut

Declaration

Source position: lazlogger.pas line 162

protected procedure TLazLoggerFile.DoDbgOut(

  s: string

); override;


TLazLoggerFile.DoDebugLn

Declaration

Source position: lazlogger.pas line 163

protected procedure TLazLoggerFile.DoDebugLn(

  s: string

); override;


TLazLoggerFile.DoDebuglnStack

Declaration

Source position: lazlogger.pas line 164

protected procedure TLazLoggerFile.DoDebuglnStack(

  const s: string

); override;


TLazLoggerFile.DoFinish

Declaration

Source position: lazlogger.pas line 150

protected procedure TLazLoggerFile.DoFinish; override;


TLazLoggerFile.DoInit

Declaration

Source position: lazlogger.pas line 149

protected procedure TLazLoggerFile.DoInit; override;


TLazLoggerFile.EnvironmentForLogFileName

Name of the environment, that has the logfile name

Declaration

Source position: lazlogger.pas line 178

public property TLazLoggerFile.EnvironmentForLogFileName : string
  read FEnvironmentForLogFileName
  write SetEnvironmentForLogFileName;

Description

If LogName is empty and con not be found from ParamForLogFileName, then the environment variable specified will be checked. LogName will be set, if found.

* will be replaced by param(0)

The default is: *_debuglog.


TLazLoggerFile.FileHandle

Declaration

Source position: lazlogger.pas line 166

protected property TLazLoggerFile.FileHandle : TLazLoggerFileHandle
  read GetFileHandle
  write SetFileHandle;


TLazLoggerFile.GetBlockHandler

Declaration

Source position: lazlogger.pas line 158

protected function TLazLoggerFile.GetBlockHandler(

  AIndex: Integer

):TLazLoggerBlockHandler; override;


TLazLoggerFile.IncreaseIndent

Declaration

Source position: lazlogger.pas line 152

protected procedure TLazLoggerFile.IncreaseIndent; override; overload;

procedure TLazLoggerFile.IncreaseIndent(

  LogEnabled: TLazLoggerLogEnabled

); override; overload;


TLazLoggerFile.IndentChanged

Declaration

Source position: lazlogger.pas line 156

protected procedure TLazLoggerFile.IndentChanged; override;


TLazLoggerFile.LogName

The name of the log file

Declaration

Source position: lazlogger.pas line 188

public property TLazLoggerFile.LogName : string
  read GetLogName
  write SetLogName;

Description

This can be set by the application. Alternatively it can be determined according to ParamForLogFileName and EnvironmentForLogFileName


TLazLoggerFile.OnDbgOut

Event when writing without line end (DbgOut)

Declaration

Source position: lazlogger.pas line 181

public property TLazLoggerFile.OnDbgOut : TLazLoggerWriteEvent
  read FOnDbgOut
  write FOnDbgOut;

Description

The event contains the text to be logged. It also has a handled var param, that can be set to True to prevent default action (writing to log).


TLazLoggerFile.OnDebugLn

Event when writing a full line (Debugln, DebuglnEnter or DebuglnExit)

Declaration

Source position: lazlogger.pas line 180

public property TLazLoggerFile.OnDebugLn : TLazLoggerWriteEvent
  read FOnDebugLn
  write FOnDebugLn;

Description

The event contains the text to be logged. It also has a handled var param, that can be set to True to prevent default action (writing to log).


TLazLoggerFile.ParamForLogFileName

Name of the command line option, that has the logfile's name

Declaration

Source position: lazlogger.pas line 174

public property TLazLoggerFile.ParamForLogFileName : string
  read FParamForLogFileName
  write SetParamForLogFileName;

Description

A param on the commandline, that may contain the name (if not already set) example/default: --debug-log=.

If LogName is empty and this is set, then the commandline will be checked for a parameter of the name specified. LogName will be set, if found. The default value is '--debug-log='. Note that the dashes and equal sign must be present.


TLazLoggerFile.RemoveBlockHandler

Declaration

Source position: lazlogger.pas line 184

public procedure TLazLoggerFile.RemoveBlockHandler(

  AHandler: TLazLoggerBlockHandler

); override;


TLazLoggerFile.UseStdOut

Enable writing to STDOUT, if LogName is not set

Declaration

Source position: lazlogger.pas line 189

public property TLazLoggerFile.UseStdOut : Boolean
  read GetUseStdOut
  write SetUseStdOut;


TLazLoggerFileHandle

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

A log file writer object

Declaration

Source position: lazlogger.pas line 37

type TLazLoggerFileHandle = class
public
constructor Create; |
destructor Destroy; override; |
procedure OpenFile; |
procedure CloseFile; |
procedure ResetWriteFailedCounter; |
procedure WriteToFile(); virtual; |
procedure WriteLnToFile(); virtual; |
property LogName: string; [rw] | The name of the log file
property UseStdOut: Boolean; [rw] | Enable writing to STDOUT, if LogName is not set
property CloseLogFileBetweenWrites: Boolean; [rw] | Enable opening and closing the log for each write
property WriteTarget: TLazLoggerWriteTarget; [r] |
property ActiveLogText: PText; [r] |
property WriteFailedCount: Integer; [r] |
property LastWriteFailed: Boolean; [r] |
end;

Inheritance

TLazLoggerFileHandle

A log file writer object
|

TObject

Description

Provides functionality to write messages to a log file. Allows filtering and changing indent level.

Can parse options from command line for log filename and filter settings.

An application can subclass the logger to add it's own functionality.


TLazLoggerFileHandle
 |  | LogName
 |  | UseStdOut
 |  | CloseLogFileBetweenWrites
 | ro | WriteTarget
 | ro | ActiveLogText
 | ro | WriteFailedCount
 | ro | LastWriteFailed


ro | ActiveLogText (TLazLoggerFileHandle)
 | CloseLogFileBetweenWrites (TLazLoggerFileHandle)
ro | LastWriteFailed (TLazLoggerFileHandle)
 | LogName (TLazLoggerFileHandle)
 | UseStdOut (TLazLoggerFileHandle)
ro | WriteFailedCount (TLazLoggerFileHandle)
ro | WriteTarget (TLazLoggerFileHandle)


TLazLoggerFileHandle
 | Create
 | Destroy
 | OpenFile
 | CloseFile
 | ResetWriteFailedCounter
 | WriteToFile
 | WriteLnToFile


CloseFile (TLazLoggerFileHandle)

Create (TLazLoggerFileHandle)

Destroy (TLazLoggerFileHandle)

OpenFile (TLazLoggerFileHandle)

ResetWriteFailedCounter (TLazLoggerFileHandle)

WriteLnToFile (TLazLoggerFileHandle)

WriteToFile (TLazLoggerFileHandle)


TLazLoggerFileHandle


TLazLoggerFileHandle.ActiveLogText

Declaration

Source position: lazlogger.pas line 66

public property TLazLoggerFileHandle.ActiveLogText : PText
  read FActiveLogText;


TLazLoggerFileHandle.CloseFile

Declaration

Source position: lazlogger.pas line 56

public procedure TLazLoggerFileHandle.CloseFile;


TLazLoggerFileHandle.CloseLogFileBetweenWrites

Enable opening and closing the log for each write

Declaration

Source position: lazlogger.pas line 64

public property TLazLoggerFileHandle.CloseLogFileBetweenWrites : Boolean
  read FCloseLogFileBetweenWrites
  write SetCloseLogFileBetweenWrites;


TLazLoggerFileHandle.Create

Declaration

Source position: lazlogger.pas line 53

public constructor TLazLoggerFileHandle.Create;


TLazLoggerFileHandle.Destroy

Declaration

Source position: lazlogger.pas line 54

public destructor TLazLoggerFileHandle.Destroy; override;


TLazLoggerFileHandle.LastWriteFailed

Declaration

Source position: lazlogger.pas line 68

public property TLazLoggerFileHandle.LastWriteFailed : Boolean
  read FLastWriteFailed;


TLazLoggerFileHandle.LogName

The name of the log file

Declaration

Source position: lazlogger.pas line 62

public property TLazLoggerFileHandle.LogName : string
  read FLogName
  write SetLogName;

Description

This can be set by the application. Alternatively it can be determined according to ParamForLogFileName and EnvironmentForLogFileName


TLazLoggerFileHandle.OpenFile

Declaration

Source position: lazlogger.pas line 55

public procedure TLazLoggerFileHandle.OpenFile;


TLazLoggerFileHandle.ResetWriteFailedCounter

Declaration

Source position: lazlogger.pas line 57

public procedure TLazLoggerFileHandle.ResetWriteFailedCounter;


TLazLoggerFileHandle.UseStdOut

Enable writing to STDOUT, if LogName is not set

Declaration

Source position: lazlogger.pas line 63

public property TLazLoggerFileHandle.UseStdOut : Boolean
  read FUseStdOut
  write FUseStdOut;


TLazLoggerFileHandle.WriteFailedCount

Declaration

Source position: lazlogger.pas line 67

public property TLazLoggerFileHandle.WriteFailedCount : Integer
  read FWriteFailedCount;


TLazLoggerFileHandle.WriteLnToFile

Declaration

Source position: lazlogger.pas line 60

public procedure TLazLoggerFileHandle.WriteLnToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); virtual;


TLazLoggerFileHandle.WriteTarget

Declaration

Source position: lazlogger.pas line 65

public property TLazLoggerFileHandle.WriteTarget : TLazLoggerWriteTarget
  read GetWriteTarget;


TLazLoggerFileHandle.WriteToFile

Declaration

Source position: lazlogger.pas line 59

public procedure TLazLoggerFileHandle.WriteToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); virtual;


TLazLoggerFileHandleMainThread

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

File operations are queued for the main thread

Declaration

Source position: lazlogger.pas line 91

type TLazLoggerFileHandleMainThread = class(TLazLoggerFileHandle)

public

  constructor Create;

  destructor Destroy; override;

  procedure WriteToFile(); override;

  procedure WriteLnToFile(); override;

end;

Inheritance

TLazLoggerFileHandleMainThread | File operations are queued for the main thread
|
TLazLoggerFileHandle | A log file writer object
|
TObject

Description

TLazLoggerFileHandleMainThread is a TLazLoggerFileHandle descendant which implements a file-based logger which queues file operations for the main thread in an application.


TLazLoggerFileHandleMainThread
TLazLoggerFileHandle
 |  | LogName
 |  | UseStdOut
 |  | CloseLogFileBetweenWrites
 | ro | WriteTarget
 | ro | ActiveLogText
 | ro | WriteFailedCount
 | ro | LastWriteFailed


TLazLoggerFileHandleMainThread
 | Create
 | Destroy
 | WriteToFile
 | WriteLnToFile
TLazLoggerFileHandle
 | Create
 | Destroy
 | OpenFile
 | CloseFile
 | ResetWriteFailedCounter
 | WriteToFile
 | WriteLnToFile


CloseFile (TLazLoggerFileHandle)

Create (TLazLoggerFileHandle)

Create (TLazLoggerFileHandleMainThread)

Destroy (TLazLoggerFileHandle)

Destroy (TLazLoggerFileHandleMainThread)

OpenFile (TLazLoggerFileHandle)

ResetWriteFailedCounter (TLazLoggerFileHandle)

WriteLnToFile (TLazLoggerFileHandle)

WriteLnToFile (TLazLoggerFileHandleMainThread)

WriteToFile (TLazLoggerFileHandle)

WriteToFile (TLazLoggerFileHandleMainThread)


TLazLoggerFileHandleMainThread

TLazLoggerFileHandle


TLazLoggerFileHandleMainThread.Create

Declaration

Source position: lazlogger.pas line 107

public constructor TLazLoggerFileHandleMainThread.Create;


TLazLoggerFileHandleMainThread.Destroy

Declaration

Source position: lazlogger.pas line 108

public destructor TLazLoggerFileHandleMainThread.Destroy; override;


TLazLoggerFileHandleMainThread.WriteLnToFile

Declaration

Source position: lazlogger.pas line 110

public procedure TLazLoggerFileHandleMainThread.WriteLnToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); override;


TLazLoggerFileHandleMainThread.WriteToFile

Declaration

Source position: lazlogger.pas line 109

public procedure TLazLoggerFileHandleMainThread.WriteToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); override;


TLazLoggerFileHandleThreadSave

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Performs file operations using a critical section

Declaration

Source position: lazlogger.pas line 77

type TLazLoggerFileHandleThreadSave = class(TLazLoggerFileHandle)

public

  constructor Create;

  destructor Destroy; override;

  procedure WriteToFile(); override;

  procedure WriteLnToFile(); override;

end;

Inheritance

TLazLoggerFileHandleThreadSave | Performs file operations using a critical section
|
TLazLoggerFileHandle | A log file writer object
|
TObject

Description

TLazLoggerFileHandleThreadSave is a TLazLoggerFileHandle descendant which implements a threaded file logger. TLazLoggerFileHandleThreadSave uses a TRTLCriticalSection class instance to lock the log file during file output operations. Requires that DoOpenFile is called by the main application thread. Otherwise the filehandle may get closed.


TLazLoggerFileHandleThreadSave
TLazLoggerFileHandle
 |  | LogName
 |  | UseStdOut
 |  | CloseLogFileBetweenWrites
 | ro | WriteTarget
 | ro | ActiveLogText
 | ro | WriteFailedCount
 | ro | LastWriteFailed


TLazLoggerFileHandleThreadSave
 | Create
 | Destroy
 | WriteToFile
 | WriteLnToFile
TLazLoggerFileHandle
 | Create
 | Destroy
 | OpenFile
 | CloseFile
 | ResetWriteFailedCounter
 | WriteToFile
 | WriteLnToFile


CloseFile (TLazLoggerFileHandle)

Create (TLazLoggerFileHandle)

Create (TLazLoggerFileHandleThreadSave)

Destroy (TLazLoggerFileHandle)

Destroy (TLazLoggerFileHandleThreadSave)

OpenFile (TLazLoggerFileHandle)

ResetWriteFailedCounter (TLazLoggerFileHandle)

WriteLnToFile (TLazLoggerFileHandle)

WriteLnToFile (TLazLoggerFileHandleThreadSave)

WriteToFile (TLazLoggerFileHandle)

WriteToFile (TLazLoggerFileHandleThreadSave)


TLazLoggerFileHandleThreadSave

TLazLoggerFileHandle


TLazLoggerFileHandleThreadSave.Create

Declaration

Source position: lazlogger.pas line 81

public constructor TLazLoggerFileHandleThreadSave.Create;


TLazLoggerFileHandleThreadSave.Destroy

Declaration

Source position: lazlogger.pas line 82

public destructor TLazLoggerFileHandleThreadSave.Destroy; override;


TLazLoggerFileHandleThreadSave.WriteLnToFile

Declaration

Source position: lazlogger.pas line 84

public procedure TLazLoggerFileHandleThreadSave.WriteLnToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); override;


TLazLoggerFileHandleThreadSave.WriteToFile

Declaration

Source position: lazlogger.pas line 83

public procedure TLazLoggerFileHandleThreadSave.WriteToFile(

  const s: string;

  ALogger: TLazLogger = Nil

); override;


TLazLogger

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerbase.pas line 102

type TLazLogger = class(TRefCountedObject)

protected

  procedure DoInit; virtual;

  procedure DoFinish; virtual;

  procedure DoFinsh; deprecated ;

  procedure IncreaseIndent();

  procedure DecreaseIndent();

  procedure IndentChanged; virtual;

  function GetBlockHandler(); virtual;

  procedure DoDbgOut(); virtual;

  procedure DoDebugLn(); virtual;

  procedure DoDebuglnStack(); virtual;

  function ArgsToString();

  property IsInitialized: Boolean; [r]

public

  constructor Create;

  destructor Destroy; override;

  procedure Assign(); virtual;

  procedure Init;

  procedure Finish;

  function CurrentIndentLevel; virtual;

  property NestLvlIndent: Integer; [rw]

  property MaxNestPrefixLen: Integer; [rw]

  function RegisterLogGroup();

  function FindOrRegisterLogGroup();

  property LogGroupList: TLazLoggerLogGroupList; [r]

  property UseGlobalLogGroupList: Boolean; [rw]

  procedure AddBlockHandler(); virtual;

  procedure RemoveBlockHandler(); virtual;

  function BlockHandlerCount; virtual;

  property BlockHandler []: TLazLoggerBlockHandler; [r]

  procedure DebuglnStack();

  procedure DbgOut();

  procedure DebugLn();

  procedure DebugLnEnter();

  procedure DebugLnExit();

  procedure DumpExceptionBackTrace;

end;

Inheritance

TLazLogger

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLogger
pt | ro | IsInitialized
 |  | NestLvlIndent
 |  | MaxNestPrefixLen
 | ro | LogGroupList
 |  | UseGlobalLogGroupList
 | ro | BlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | BlockHandler (TLazLogger)
pt | ro | IsInitialized (TLazLogger)
 | ro | LogGroupList (TLazLogger)
 |  | MaxNestPrefixLen (TLazLogger)
 |  | NestLvlIndent (TLazLogger)
pt | ro | RefCount (TRefCountedObject)
 |  | UseGlobalLogGroupList (TLazLogger)


TLazLogger
pt | DoInit
pt | DoFinish
pt | DoFinsh
pt | IncreaseIndent
pt | DecreaseIndent
pt | IndentChanged
pt | GetBlockHandler
pt | DoDbgOut
pt | DoDebugLn
pt | DoDebuglnStack
pt | ArgsToString
 | Create
 | Destroy
 | Assign
 | Init
 | Finish
 | CurrentIndentLevel
 | RegisterLogGroup
 | FindOrRegisterLogGroup
 | AddBlockHandler
 | RemoveBlockHandler
 | BlockHandlerCount
 | DebuglnStack
 | DbgOut
 | DebugLn
 | DebugLnEnter
 | DebugLnExit
 | DumpExceptionBackTrace
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


pt | ArgsToString (TLazLogger)
 | Assign (TLazLogger)
 | BlockHandlerCount (TLazLogger)
 | Create (TRefCountedObject)
 | Create (TLazLogger)
 | CurrentIndentLevel (TLazLogger)
 | DbgOut (TLazLogger)
 | DebugLn (TLazLogger)
 | DebugLnEnter (TLazLogger)
 | DebugLnExit (TLazLogger)
 | DebuglnStack (TLazLogger)
pt | DecreaseIndent (TLazLogger)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
 | Destroy (TLazLogger)
pt | DoDbgOut (TLazLogger)
pt | DoDebugLn (TLazLogger)
pt | DoDebuglnStack (TLazLogger)
pt | DoFinish (TLazLogger)
pt | DoFinsh (TLazLogger)
pt | DoFree (TRefCountedObject)
pt | DoInit (TLazLogger)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | DumpExceptionBackTrace (TLazLogger)
 | FindOrRegisterLogGroup (TLazLogger)
 | Finish (TLazLogger)
pt | GetBlockHandler (TLazLogger)
pt | IncreaseIndent (TLazLogger)
pt | IndentChanged (TLazLogger)
 | Init (TLazLogger)
 | RegisterLogGroup (TLazLogger)
 | ReleaseReference (TRefCountedObject)
 | RemoveBlockHandler (TLazLogger)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLogger

TRefCountedObject

TFreeNotifyingObject


TLazLogger.AddBlockHandler

Declaration

Source position: lazloggerbase.pas line 155

public procedure TLazLogger.AddBlockHandler(

  AHandler: TLazLoggerBlockHandler

); virtual;


TLazLogger.ArgsToString

Declaration

Source position: lazloggerbase.pas line 134

protected function TLazLogger.ArgsToString(

  Args: array of Const

):string;


TLazLogger.Assign

Declaration

Source position: lazloggerbase.pas line 139

public procedure TLazLogger.Assign(

  Src: TLazLogger

); virtual;


TLazLogger.BlockHandler

Declaration

Source position: lazloggerbase.pas line 158

public property TLazLogger.BlockHandler[AIndex: Integer] : TLazLoggerBlockHandler
  read GetBlockHandler;


TLazLogger.BlockHandlerCount

Declaration

Source position: lazloggerbase.pas line 157

public function TLazLogger.BlockHandlerCount: Integer; virtual;


TLazLogger.Create

Declaration

Source position: lazloggerbase.pas line 137

public constructor TLazLogger.Create;


TLazLogger.CurrentIndentLevel

Declaration

Source position: lazloggerbase.pas line 143

public function TLazLogger.CurrentIndentLevel: Integer; virtual;


TLazLogger.DbgOut

Declaration

Source position: lazloggerbase.pas line 162

public procedure TLazLogger.DbgOut(

  const s: string = ''

); overload;

procedure TLazLogger.DbgOut(

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLn

Declaration

Source position: lazloggerbase.pas line 172

public procedure TLazLogger.DebugLn(

  const s: string = ''

); overload;

procedure TLazLogger.DebugLn(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLnEnter

Declaration

Source position: lazloggerbase.pas line 182

public procedure TLazLogger.DebugLnEnter; overload;

procedure TLazLogger.DebugLnEnter(

  const s: string

); overload;

procedure TLazLogger.DebugLnEnter(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLnExit

Declaration

Source position: lazloggerbase.pas line 193

public procedure TLazLogger.DebugLnExit; overload;

procedure TLazLogger.DebugLnExit(

  const s: string

); overload;

procedure TLazLogger.DebugLnExit(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebuglnStack

Declaration

Source position: lazloggerbase.pas line 160

public procedure TLazLogger.DebuglnStack(

  const s: string = ''

);

procedure TLazLogger.DebuglnStack(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

);


TLazLogger.DecreaseIndent

Declaration

Source position: lazloggerbase.pas line 124

protected procedure TLazLogger.DecreaseIndent; virtual; overload;

procedure TLazLogger.DecreaseIndent(

  LogEnabled: TLazLoggerLogEnabled

); virtual; overload;


TLazLogger.Destroy

Declaration

Source position: lazloggerbase.pas line 138

public destructor TLazLogger.Destroy; override;


TLazLogger.DoDbgOut

Declaration

Source position: lazloggerbase.pas line 130

protected procedure TLazLogger.DoDbgOut(

  s: string

); virtual;


TLazLogger.DoDebugLn

Declaration

Source position: lazloggerbase.pas line 131

protected procedure TLazLogger.DoDebugLn(

  s: string

); virtual;


TLazLogger.DoDebuglnStack

Declaration

Source position: lazloggerbase.pas line 132

protected procedure TLazLogger.DoDebuglnStack(

  const s: string

); virtual;


TLazLogger.DoFinish

Declaration

Source position: lazloggerbase.pas line 120

protected procedure TLazLogger.DoFinish; virtual;


TLazLogger.DoFinsh

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

TLazLogger.DoFinsh (deprecated)

Declaration

Source position: lazloggerbase.pas line 121

protected procedure TLazLogger.DoFinsh;


TLazLogger.DoInit

Declaration

Source position: lazloggerbase.pas line 119

protected procedure TLazLogger.DoInit; virtual;


TLazLogger.DumpExceptionBackTrace

Declaration

Source position: lazloggerbase.pas line 249

public procedure TLazLogger.DumpExceptionBackTrace;


TLazLogger.FindOrRegisterLogGroup

Declaration

Source position: lazloggerbase.pas line 150

public function TLazLogger.FindOrRegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; virtual;

function TLazLogger.FindOrRegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; virtual;


TLazLogger.Finish

Declaration

Source position: lazloggerbase.pas line 141

public procedure TLazLogger.Finish;


TLazLogger.GetBlockHandler

Declaration

Source position: lazloggerbase.pas line 128

protected function TLazLogger.GetBlockHandler(

  AIndex: Integer

):TLazLoggerBlockHandler; virtual;


TLazLogger.IncreaseIndent

Declaration

Source position: lazloggerbase.pas line 123

protected procedure TLazLogger.IncreaseIndent; virtual; overload;

procedure TLazLogger.IncreaseIndent(

  LogEnabled: TLazLoggerLogEnabled

); virtual; overload;


TLazLogger.IndentChanged

Declaration

Source position: lazloggerbase.pas line 127

protected procedure TLazLogger.IndentChanged; virtual;


TLazLogger.Init

Declaration

Source position: lazloggerbase.pas line 140

public procedure TLazLogger.Init;


TLazLogger.IsInitialized

Declaration

Source position: lazloggerbase.pas line 135

protected property TLazLogger.IsInitialized : Boolean
  read FIsInitialized;


TLazLogger.LogGroupList

Declaration

Source position: lazloggerbase.pas line 152

public property TLazLogger.LogGroupList : TLazLoggerLogGroupList
  read GetLogGroupList;


TLazLogger.MaxNestPrefixLen

Declaration

Source position: lazloggerbase.pas line 145

public property TLazLogger.MaxNestPrefixLen : Integer
  read FMaxNestPrefixLen
  write SetMaxNestPrefixLen;


TLazLogger.NestLvlIndent

Declaration

Source position: lazloggerbase.pas line 144

public property TLazLogger.NestLvlIndent : Integer
  read FNestLvlIndent
  write SetNestLvlIndent;


TLazLogger.RegisterLogGroup

Declaration

Source position: lazloggerbase.pas line 148

public function TLazLogger.RegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; virtual;

function TLazLogger.RegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; virtual;


TLazLogger.RemoveBlockHandler

Declaration

Source position: lazloggerbase.pas line 156

public procedure TLazLogger.RemoveBlockHandler(

  AHandler: TLazLoggerBlockHandler

); virtual;


TLazLogger.UseGlobalLogGroupList

Declaration

Source position: lazloggerbase.pas line 153

public property TLazLogger.UseGlobalLogGroupList : Boolean
  read FUseGlobalLogGroupList
  write SetUseGlobalLogGroupList;


TLazLoggerBlockHandler

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerbase.pas line 70

type TLazLoggerBlockHandler = class(TRefCountedObject)

public

  procedure EnterBlock(); virtual; abstract;

  procedure ExitBlock(); virtual; abstract;

end;

Inheritance

TLazLoggerBlockHandler
|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerBlockHandler

TRefCountedObject

pt

ro

RefCount

TFreeNotifyingObject


TLazLoggerBlockHandler
 | EnterBlock
 | ExitBlock
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Create (TRefCountedObject)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | EnterBlock (TLazLoggerBlockHandler)
 | ExitBlock (TLazLoggerBlockHandler)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerBlockHandler

TRefCountedObject

TFreeNotifyingObject


TLazLoggerBlockHandler.EnterBlock

Declaration

Source position: lazloggerbase.pas line 72

public procedure TLazLoggerBlockHandler.EnterBlock(

  Sender: TLazLogger;

  Level: Integer

); virtual; abstract;


TLazLoggerBlockHandler.ExitBlock

Declaration

Source position: lazloggerbase.pas line 73

public procedure TLazLoggerBlockHandler.ExitBlock(

  Sender: TLazLogger;

  Level: Integer

); virtual; abstract;


TLazLoggerLogGroupList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerbase.pas line 78

type TLazLoggerLogGroupList = class(TRefCountedObject)

protected

  function Add();

  function FindOrAdd();

  procedure Remove();

public

  constructor Create;

  destructor Destroy; override;

  procedure Assign();

  function IndexOf();

  function Find();

  function Count;

  property Item []: PLazLoggerLogGroup; default; [r]

end;

Inheritance

TLazLoggerLogGroupList

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerLogGroupList
 | ro | Item
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | Item (TLazLoggerLogGroupList)
pt | ro | RefCount (TRefCountedObject)


TLazLoggerLogGroupList
pt | Add
pt | FindOrAdd
pt | Remove
 | Create
 | Destroy
 | Assign
 | IndexOf
 | Find
 | Count
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


pt | Add (TLazLoggerLogGroupList)
 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Assign (TLazLoggerLogGroupList)
 | Count (TLazLoggerLogGroupList)
 | Create (TRefCountedObject)
 | Create (TLazLoggerLogGroupList)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
 | Destroy (TLazLoggerLogGroupList)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | Find (TLazLoggerLogGroupList)
pt | FindOrAdd (TLazLoggerLogGroupList)
 | IndexOf (TLazLoggerLogGroupList)
 | ReleaseReference (TRefCountedObject)
pt | Remove (TLazLoggerLogGroupList)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerLogGroupList

TRefCountedObject

TFreeNotifyingObject


TLazLoggerLogGroupList.Add

Declaration

Source position: lazloggerbase.pas line 85

protected function TLazLoggerLogGroupList.Add(

  const AConfigName: string;

  ADefaulEnabled: Boolean = False

):PLazLoggerLogGroup;


TLazLoggerLogGroupList.Assign

Declaration

Source position: lazloggerbase.pas line 92

public procedure TLazLoggerLogGroupList.Assign(

  Src: TLazLoggerLogGroupList

);


TLazLoggerLogGroupList.Count

Declaration

Source position: lazloggerbase.pas line 96

public function TLazLoggerLogGroupList.Count: Integer;


TLazLoggerLogGroupList.Create

Declaration

Source position: lazloggerbase.pas line 90

public constructor TLazLoggerLogGroupList.Create;


TLazLoggerLogGroupList.Destroy

Declaration

Source position: lazloggerbase.pas line 91

public destructor TLazLoggerLogGroupList.Destroy; override;


TLazLoggerLogGroupList.Find

Declaration

Source position: lazloggerbase.pas line 95

public function TLazLoggerLogGroupList.Find(

  const AConfigName: string

):PLazLoggerLogGroup;


TLazLoggerLogGroupList.FindOrAdd

Declaration

Source position: lazloggerbase.pas line 86

protected function TLazLoggerLogGroupList.FindOrAdd(

  const AConfigName: string;

  ADefaulEnabled: Boolean = False

):PLazLoggerLogGroup;


TLazLoggerLogGroupList.IndexOf

Declaration

Source position: lazloggerbase.pas line 93

public function TLazLoggerLogGroupList.IndexOf(

  const AConfigName: string

):Integer;

function TLazLoggerLogGroupList.IndexOf(

  const AnEntry: PLazLoggerLogGroup

):Integer;


TLazLoggerLogGroupList.Item

Declaration

Source position: lazloggerbase.pas line 97

public property TLazLoggerLogGroupList.Item[Index: Integer] : PLazLoggerLogGroup
  read GetItem;
  default;


TLazLoggerLogGroupList.Remove

Declaration

Source position: lazloggerbase.pas line 87

protected procedure TLazLoggerLogGroupList.Remove(

  const AConfigName: string

);

procedure TLazLoggerLogGroupList.Remove(

  const AnEntry: PLazLoggerLogGroup

);


TLazLoggerNoOutput

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerbase.pas line 278

type TLazLoggerNoOutput = class(TLazLogger)

Inheritance

TLazLoggerNoOutput

|

TLazLogger

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerNoOutput
TLazLogger
pt | ro | IsInitialized
 |  | NestLvlIndent
 |  | MaxNestPrefixLen
 | ro | LogGroupList
 |  | UseGlobalLogGroupList
 | ro | BlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


TLazLoggerNoOutput
TLazLogger
pt | DoInit
pt | DoFinish
pt | DoFinsh
pt | IncreaseIndent
pt | DecreaseIndent
pt | IndentChanged
pt | GetBlockHandler
pt | DoDbgOut
pt | DoDebugLn
pt | DoDebuglnStack
pt | ArgsToString
 | Create
 | Destroy
 | Assign
 | Init
 | Finish
 | CurrentIndentLevel
 | RegisterLogGroup
 | FindOrRegisterLogGroup
 | AddBlockHandler
 | RemoveBlockHandler
 | BlockHandlerCount
 | DebuglnStack
 | DbgOut
 | DebugLn
 | DebugLnEnter
 | DebugLnExit
 | DumpExceptionBackTrace
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


TLazLoggerNoOutput

TLazLogger

TRefCountedObject

TFreeNotifyingObject


TLazLoggerWithGroupParam

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerbase.pas line 258

type TLazLoggerWithGroupParam = class(TLazLogger)

public

  constructor Create;

  procedure Assign(); override;

  function RegisterLogGroup();

  function FindOrRegisterLogGroup();

  property ParamForEnabledLogGroups: string; [rw]

end;

Inheritance

TLazLoggerWithGroupParam

|

TLazLogger

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerWithGroupParam
 |  | ParamForEnabledLogGroups
TLazLogger
pt | ro | IsInitialized
 |  | NestLvlIndent
 |  | MaxNestPrefixLen
 | ro | LogGroupList
 |  | UseGlobalLogGroupList
 | ro | BlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | BlockHandler (TLazLogger)
pt | ro | IsInitialized (TLazLogger)
 | ro | LogGroupList (TLazLogger)
 |  | MaxNestPrefixLen (TLazLogger)
 |  | NestLvlIndent (TLazLogger)
 |  | ParamForEnabledLogGroups (TLazLoggerWithGroupParam)
pt | ro | RefCount (TRefCountedObject)
 |  | UseGlobalLogGroupList (TLazLogger)


TLazLoggerWithGroupParam
 | Create
 | Assign
 | RegisterLogGroup
 | FindOrRegisterLogGroup
TLazLogger
pt | DoInit
pt | DoFinish
pt | DoFinsh
pt | IncreaseIndent
pt | DecreaseIndent
pt | IndentChanged
pt | GetBlockHandler
pt | DoDbgOut
pt | DoDebugLn
pt | DoDebuglnStack
pt | ArgsToString
 | Create
 | Destroy
 | Assign
 | Init
 | Finish
 | CurrentIndentLevel
 | RegisterLogGroup
 | FindOrRegisterLogGroup
 | AddBlockHandler
 | RemoveBlockHandler
 | BlockHandlerCount
 | DebuglnStack
 | DbgOut
 | DebugLn
 | DebugLnEnter
 | DebugLnExit
 | DumpExceptionBackTrace
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


pt | ArgsToString (TLazLogger)
 | Assign (TLazLogger)
 | Assign (TLazLoggerWithGroupParam)
 | BlockHandlerCount (TLazLogger)
 | Create (TRefCountedObject)
 | Create (TLazLogger)
 | Create (TLazLoggerWithGroupParam)
 | CurrentIndentLevel (TLazLogger)
 | DbgOut (TLazLogger)
 | DebugLn (TLazLogger)
 | DebugLnEnter (TLazLogger)
 | DebugLnExit (TLazLogger)
 | DebuglnStack (TLazLogger)
pt | DecreaseIndent (TLazLogger)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
 | Destroy (TLazLogger)
pt | DoDbgOut (TLazLogger)
pt | DoDebugLn (TLazLogger)
pt | DoDebuglnStack (TLazLogger)
pt | DoFinish (TLazLogger)
pt | DoFinsh (TLazLogger)
pt | DoFree (TRefCountedObject)
pt | DoInit (TLazLogger)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | DumpExceptionBackTrace (TLazLogger)
 | FindOrRegisterLogGroup (TLazLogger)
 | FindOrRegisterLogGroup (TLazLoggerWithGroupParam)
 | Finish (TLazLogger)
pt | GetBlockHandler (TLazLogger)
pt | IncreaseIndent (TLazLogger)
pt | IndentChanged (TLazLogger)
 | Init (TLazLogger)
 | RegisterLogGroup (TLazLogger)
 | RegisterLogGroup (TLazLoggerWithGroupParam)
 | ReleaseReference (TRefCountedObject)
 | RemoveBlockHandler (TLazLogger)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerWithGroupParam

TLazLogger

TRefCountedObject

TFreeNotifyingObject


TLazLoggerWithGroupParam.Assign

Declaration

Source position: lazloggerbase.pas line 268

public procedure TLazLoggerWithGroupParam.Assign(

  Src: TLazLogger

); override;


TLazLoggerWithGroupParam.Create

Declaration

Source position: lazloggerbase.pas line 267

public constructor TLazLoggerWithGroupParam.Create;


TLazLoggerWithGroupParam.FindOrRegisterLogGroup

Declaration

Source position: lazloggerbase.pas line 271

public function TLazLoggerWithGroupParam.FindOrRegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; override;

function TLazLoggerWithGroupParam.FindOrRegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; override;


TLazLoggerWithGroupParam.ParamForEnabledLogGroups

Declaration

Source position: lazloggerbase.pas line 275

public property TLazLoggerWithGroupParam.ParamForEnabledLogGroups : string
  read FParamForEnabledLogGroups
  write SetParamForEnabledLogGroups;


TLazLoggerWithGroupParam.RegisterLogGroup

Declaration

Source position: lazloggerbase.pas line 269

public function TLazLoggerWithGroupParam.RegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; override;

function TLazLoggerWithGroupParam.RegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; override;


TLazLogger

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerdummy.pas line 86

type TLazLogger = class(TRefCountedObject)

public

  procedure Assign(); virtual;

  procedure Init;

  procedure Finish;

  property NestLvlIndent: Integer; [rw]

  property MaxNestPrefixLen: Integer; [rw]

  function RegisterLogGroup();

  function FindOrRegisterLogGroup();

  property LogGroupList: TLazLoggerLogGroupList; [r]

  property UseGlobalLogGroupList: Boolean; [rw]

  procedure DebuglnStack();

  procedure DbgOut();

  procedure DebugLn();

  procedure DebugLnEnter();

  procedure DebugLnExit();

end;

Inheritance

TLazLogger

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLogger
 |  | NestLvlIndent
 |  | MaxNestPrefixLen
 | ro | LogGroupList
 |  | UseGlobalLogGroupList
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | LogGroupList (TLazLogger)
 |  | MaxNestPrefixLen (TLazLogger)
 |  | NestLvlIndent (TLazLogger)
pt | ro | RefCount (TRefCountedObject)
 |  | UseGlobalLogGroupList (TLazLogger)


TLazLogger
 | Assign
 | Init
 | Finish
 | RegisterLogGroup
 | FindOrRegisterLogGroup
 | DebuglnStack
 | DbgOut
 | DebugLn
 | DebugLnEnter
 | DebugLnExit
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Assign (TLazLogger)
 | Create (TRefCountedObject)
 | DbgOut (TLazLogger)
 | DebugLn (TLazLogger)
 | DebugLnEnter (TLazLogger)
 | DebugLnExit (TLazLogger)
 | DebuglnStack (TLazLogger)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | FindOrRegisterLogGroup (TLazLogger)
 | Finish (TLazLogger)
 | Init (TLazLogger)
 | RegisterLogGroup (TLazLogger)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLogger.Assign

Declaration

Source position: lazloggerdummy.pas line 96

public procedure TLazLogger.Assign(

  Src: TLazLogger

); virtual;


TLazLogger.DbgOut

Declaration

Source position: lazloggerdummy.pas line 113

public procedure TLazLogger.DbgOut(

  const s: string = ''

); overload;

procedure TLazLogger.DbgOut(

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLn

Declaration

Source position: lazloggerdummy.pas line 123

public procedure TLazLogger.DebugLn(

  const s: string = ''

); overload;

procedure TLazLogger.DebugLn(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLnEnter

Declaration

Source position: lazloggerdummy.pas line 133

public procedure TLazLogger.DebugLnEnter(

  const s: string = ''

); overload;

procedure TLazLogger.DebugLnEnter(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebugLnExit

Declaration

Source position: lazloggerdummy.pas line 143

public procedure TLazLogger.DebugLnExit(

  const s: string = ''

); overload;

procedure TLazLogger.DebugLnExit(

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure TLazLogger.DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


TLazLogger.DebuglnStack

Declaration

Source position: lazloggerdummy.pas line 111

public procedure TLazLogger.DebuglnStack(

  const s: string = ''

);

procedure TLazLogger.DebuglnStack(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

);


TLazLogger.FindOrRegisterLogGroup

Declaration

Source position: lazloggerdummy.pas line 106

public function TLazLogger.FindOrRegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; virtual;

function TLazLogger.FindOrRegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; virtual;


TLazLogger.Finish

Declaration

Source position: lazloggerdummy.pas line 98

public procedure TLazLogger.Finish;


TLazLogger.Init

Declaration

Source position: lazloggerdummy.pas line 97

public procedure TLazLogger.Init;


TLazLogger.LogGroupList

Declaration

Source position: lazloggerdummy.pas line 108

public property TLazLogger.LogGroupList : TLazLoggerLogGroupList
  read GetLogGroupList;


TLazLogger.MaxNestPrefixLen

Declaration

Source position: lazloggerdummy.pas line 101

public property TLazLogger.MaxNestPrefixLen : Integer
  read FMaxNestPrefixLen
  write SetMaxNestPrefixLen;


TLazLogger.NestLvlIndent

Declaration

Source position: lazloggerdummy.pas line 100

public property TLazLogger.NestLvlIndent : Integer
  read FNestLvlIndent
  write SetNestLvlIndent;


TLazLogger.RegisterLogGroup

Declaration

Source position: lazloggerdummy.pas line 104

public function TLazLogger.RegisterLogGroup(

  const AConfigName: string;

  ADefaulEnabled: Boolean

):PLazLoggerLogGroup; virtual;

function TLazLogger.RegisterLogGroup(

  const AConfigName: string

):PLazLoggerLogGroup; virtual;


TLazLogger.UseGlobalLogGroupList

Declaration

Source position: lazloggerdummy.pas line 109

public property TLazLogger.UseGlobalLogGroupList : Boolean
  read FUseGlobalLogGroupList
  write SetUseGlobalLogGroupList;


TLazLoggerBlockHandler

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerdummy.pas line 64

type TLazLoggerBlockHandler = class

public

  procedure IncreaseIndent; virtual; abstract;

  procedure DecreaseIndent; virtual; abstract;

end;

Inheritance

TLazLoggerBlockHandler
|

TObject


TLazLoggerBlockHandler


TLazLoggerBlockHandler
 | IncreaseIndent
 | DecreaseIndent


TLazLoggerBlockHandler.DecreaseIndent

Declaration

Source position: lazloggerdummy.pas line 67

public procedure TLazLoggerBlockHandler.DecreaseIndent; virtual; abstract;


TLazLoggerBlockHandler.IncreaseIndent

Declaration

Source position: lazloggerdummy.pas line 66

public procedure TLazLoggerBlockHandler.IncreaseIndent; virtual; abstract;


TLazLoggerLogGroupList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerdummy.pas line 72

type TLazLoggerLogGroupList = class(TRefCountedObject)

public

  procedure Assign();

  function IndexOf();

  function Find();

  function Count;

  property Item []: PLazLoggerLogGroup; default; [r]

end;

Inheritance

TLazLoggerLogGroupList

|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerLogGroupList
 | Assign
 | IndexOf
 | Find
 | Count
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Assign (TLazLoggerLogGroupList)
 | Count (TLazLoggerLogGroupList)
 | Create (TRefCountedObject)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | Find (TLazLoggerLogGroupList)
 | IndexOf (TLazLoggerLogGroupList)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerLogGroupList.Assign

Declaration

Source position: lazloggerdummy.pas line 76

public procedure TLazLoggerLogGroupList.Assign(

  Src: TLazLoggerLogGroupList

);


TLazLoggerLogGroupList.Count

Declaration

Source position: lazloggerdummy.pas line 80

public function TLazLoggerLogGroupList.Count: Integer;


TLazLoggerLogGroupList.Find

Declaration

Source position: lazloggerdummy.pas line 79

public function TLazLoggerLogGroupList.Find(

  const AConfigName: string

):PLazLoggerLogGroup;


TLazLoggerLogGroupList.IndexOf

Declaration

Source position: lazloggerdummy.pas line 77

public function TLazLoggerLogGroupList.IndexOf(

  const AConfigName: string

):Integer;

function TLazLoggerLogGroupList.IndexOf(

  const AnEntry: PLazLoggerLogGroup

):Integer;


TLazLoggerLogGroupList.Item

Declaration

Source position: lazloggerdummy.pas line 81

public property TLazLoggerLogGroupList.Item[Index: Integer] : PLazLoggerLogGroup
  read GetItem;
  default;


TLazLoggerBlockMemWatch

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerprofiling.pas line 43

type TLazLoggerBlockMemWatch = class(TLazLoggerBlockHandler)

public

  constructor Create;

  procedure EnterBlock(); override;

  procedure ExitBlock(); override;

  property MaxDepth: Integer; [rw]

  property MemDiff []: Int64; [r]

  property Nested []: Int64; [r]

end;

Inheritance

TLazLoggerBlockMemWatch
|

TLazLoggerBlockHandler
|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerBlockMemWatch
 |  | MaxDepth
 | ro | MemDiff
 | ro | Nested
TLazLoggerBlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | MemDiff (TLazLoggerBlockMemWatch)
 | ro | Nested (TLazLoggerBlockMemWatch)
pt | ro | RefCount (TRefCountedObject)


TLazLoggerBlockMemWatch
 | Create
 | EnterBlock
 | ExitBlock
TLazLoggerBlockHandler
 | EnterBlock
 | ExitBlock
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Create (TRefCountedObject)
 | Create (TLazLoggerBlockMemWatch)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | EnterBlock (TLazLoggerBlockHandler)
 | EnterBlock (TLazLoggerBlockMemWatch)
 | ExitBlock (TLazLoggerBlockHandler)
 | ExitBlock (TLazLoggerBlockMemWatch)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerBlockMemWatch

TLazLoggerBlockHandler

TRefCountedObject

TFreeNotifyingObject


TLazLoggerBlockMemWatch.Create

Declaration

Source position: lazloggerprofiling.pas line 52

public constructor TLazLoggerBlockMemWatch.Create;


TLazLoggerBlockMemWatch.EnterBlock

Declaration

Source position: lazloggerprofiling.pas line 53

public procedure TLazLoggerBlockMemWatch.EnterBlock(

  Sender: TLazLogger;

  Level: Integer

); override;


TLazLoggerBlockMemWatch.ExitBlock

Declaration

Source position: lazloggerprofiling.pas line 54

public procedure TLazLoggerBlockMemWatch.ExitBlock(

  Sender: TLazLogger;

  Level: Integer

); override;


TLazLoggerBlockMemWatch.MaxDepth

Declaration

Source position: lazloggerprofiling.pas line 55

public property TLazLoggerBlockMemWatch.MaxDepth : Integer
  read FMaxDepth
  write SetMaxDepth;


TLazLoggerBlockMemWatch.MemDiff

Declaration

Source position: lazloggerprofiling.pas line 56

public property TLazLoggerBlockMemWatch.MemDiff[ALevel: Integer] : Int64
  read GetMemDiff;


TLazLoggerBlockMemWatch.Nested

Declaration

Source position: lazloggerprofiling.pas line 57

public property TLazLoggerBlockMemWatch.Nested[ALevel: Integer] : Int64
  read GetNested;


TLazLoggerBlockTimer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazloggerprofiling.pas line 24

type TLazLoggerBlockTimer = class(TLazLoggerBlockHandler)

public

  constructor Create;

  procedure EnterBlock(); override;

  procedure ExitBlock(); override;

  property MaxDepth: Integer; [rw]

  property TimeDiff []: QWord; [r]

  property Nested []: QWord; [r]

end;

Inheritance

TLazLoggerBlockTimer
|

TLazLoggerBlockHandler
|

TRefCountedObject

|

TFreeNotifyingObject

|

TObject


TLazLoggerBlockTimer
 |  | MaxDepth
 | ro | TimeDiff
 | ro | Nested
TLazLoggerBlockHandler
TRefCountedObject
pt | ro | RefCount
TFreeNotifyingObject


 | ro | Nested (TLazLoggerBlockTimer)
pt | ro | RefCount (TRefCountedObject)
 | ro | TimeDiff (TLazLoggerBlockTimer)


TLazLoggerBlockTimer
 | Create
 | EnterBlock
 | ExitBlock
TLazLoggerBlockHandler
 | EnterBlock
 | ExitBlock
TRefCountedObject
pt | DoFree
pt | DoReferenceAdded
pt | DoReferenceReleased
 | Create
 | Destroy
 | AddReference
 | ReleaseReference
TFreeNotifyingObject
 | Destroy
 | AddFreeNotification
 | RemoveFreeNotification


 | AddFreeNotification (TFreeNotifyingObject)
 | AddReference (TRefCountedObject)
 | Create (TRefCountedObject)
 | Create (TLazLoggerBlockTimer)
 | Destroy (TFreeNotifyingObject)
 | Destroy (TRefCountedObject)
pt | DoFree (TRefCountedObject)
pt | DoReferenceAdded (TRefCountedObject)
pt | DoReferenceReleased (TRefCountedObject)
 | EnterBlock (TLazLoggerBlockHandler)
 | EnterBlock (TLazLoggerBlockTimer)
 | ExitBlock (TLazLoggerBlockHandler)
 | ExitBlock (TLazLoggerBlockTimer)
 | ReleaseReference (TRefCountedObject)
 | RemoveFreeNotification (TFreeNotifyingObject)


TLazLoggerBlockTimer

TLazLoggerBlockHandler

TRefCountedObject

TFreeNotifyingObject


TLazLoggerBlockTimer.Create

Declaration

Source position: lazloggerprofiling.pas line 33

public constructor TLazLoggerBlockTimer.Create;


TLazLoggerBlockTimer.EnterBlock

Declaration

Source position: lazloggerprofiling.pas line 34

public procedure TLazLoggerBlockTimer.EnterBlock(

  Sender: TLazLogger;

  Level: Integer

); override;


TLazLoggerBlockTimer.ExitBlock

Declaration

Source position: lazloggerprofiling.pas line 35

public procedure TLazLoggerBlockTimer.ExitBlock(

  Sender: TLazLogger;

  Level: Integer

); override;


TLazLoggerBlockTimer.MaxDepth

Declaration

Source position: lazloggerprofiling.pas line 36

public property TLazLoggerBlockTimer.MaxDepth : Integer
  read FMaxDepth
  write SetMaxDepth;


TLazLoggerBlockTimer.Nested

Declaration

Source position: lazloggerprofiling.pas line 38

public property TLazLoggerBlockTimer.Nested[ALevel: Integer] : QWord
  read GetNested;


TLazLoggerBlockTimer.TimeDiff

Declaration

Source position: lazloggerprofiling.pas line 37

public property TLazLoggerBlockTimer.TimeDiff[ALevel: Integer] : QWord
  read GetTimeDiff;


TMethodList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a list of TMethod entries

Declaration

Source position: lazmethodlist.pas line 22

type TMethodList = class
public
destructor Destroy; override; | Destructor for the class instance
function Count; | Gets the number of items included in the method list
function NextDownIndex(); | Provides access to items in the method list in reverse order
function IndexOf(); | Gets the position where the specified method is stored in the list
procedure Assign();
procedure Clear;
procedure Delete(); | Deletes the method stored at the specified position
procedure Remove(); | Removes the specified method from the items in the list
procedure Add(); | Adds the specified method to the list
procedure Insert(); | Inserts the specified method at the given position in the list
procedure Move(); | Moves the position for the specified method in the list
procedure RemoveAllMethodsOfObject(); | Removes methods from the list if they are for the specified object
procedure CallNotifyEvents(); | Performs event notifications using methods in the list
function GetReversedEnumerator; | Gets an enumerator for the list that navigates in reverse order
function GetEnumerator; | Gets an enumerator for the list
property Items []: TMethod; default; [rw] | Provides indexed access to methods in the list
property AllowDuplicates: Boolean; [rw] | Indicates if duplicate methods are allowed in the list
end;

Inheritance

TMethodList

Implements a list of TMethod entries
|

TObject

Description

TMethodList is class which implements a list of TMethod entries. TMethodList is implemented using an array of TMethod references that provide access to the Items in the list. Methods are provided to Add, Insert, Delete, and Move items in the list. Enumerators (forward and reverse) are also available for methods in the list.

TMethodList is used in the Lazarus IDE, plugins, and utilities such as: TComponentEditorDesigner, TCodeToolManager, TLazIDEInterface, TLazCompilerOptions, TDebuggerIntf, TGUITestRunner. It is also used in the implementation of Classes and Components like: TFreeNotifyingObject, TApplication, TCustomForm, TControl, TDateTimePicker, TLazSynTextArea, TSynCustomHighlighter, TSynGutterBase, and many more.

See also

#rtl.System.TMethod


TMethodList
 | Items
 | AllowDuplicates


TMethodList
 | Destroy
 | Count
 | NextDownIndex
 | IndexOf
 | Assign
 | Clear
 | Delete
 | Remove
 | Add
 | Insert
 | Move
 | RemoveAllMethodsOfObject
 | CallNotifyEvents
 | GetReversedEnumerator
 | GetEnumerator


Add (TMethodList)

Assign (TMethodList)

CallNotifyEvents (TMethodList)

Clear (TMethodList)

Count (TMethodList)

Delete (TMethodList)

Destroy (TMethodList)

GetEnumerator (TMethodList)

GetReversedEnumerator (TMethodList)

IndexOf (TMethodList)

Insert (TMethodList)

Move (TMethodList)

NextDownIndex (TMethodList)

Remove (TMethodList)

RemoveAllMethodsOfObject (TMethodList)


TMethodList


TMethodList.Add

Adds the specified method to the list

Declaration

Source position: lazmethodlist.pas line 54

public procedure TMethodList.Add(

  const AMethod: TMethod

);

procedure TMethodList.Add(

  const AMethod: TMethod;

  AsLast: Boolean

);

Arguments

AMethod

Method to add to the list

Arguments

AMethod | Method to add to the list
AsLast | Indicates if the method should be appended to the end of the list

Description

Add is an overloaded procedure used to add the TMethod instance specified in AMethod to the Items in the list. Add uses the value in AllowDuplicates to determine if the Items in the list need to be checked for duplicates prior to adding the specified method. When AllowDuplicates is False, the IndexOf method is used to locate an existing entry in Items with the method in AMethod. If the method does not exist in Items, or AllowDuplicates is True, the method in AMethod is appended to the end of the memory allocated to the Items property. ReAllocMem is used to set the new size for the memory allocation.

Add ensures the the internal member used for the Count function is incremented when necessary.

An overloaded variant of the Add method includes the AsLast parameter. AsLast indicates if the position in items where the new method is stored. When AsLast is True, the method in AMethod is appended to the end of allocated memory using the Add method. When AsLast contains False, the Insert method is called to store the new method at the beginning of allocated memory.

See also

TMethodList.AllowDuplicates | Indicates if duplicate methods are allowed in the list
TMethodList.IndexOf | Gets the position where the specified method is stored in the list
TMethodList.Count | Gets the number of items included in the method list
TMethodList.Insert | Inserts the specified method at the given position in the list


TMethodList.AllowDuplicates

Indicates if duplicate methods are allowed in the list

Declaration

Source position: lazmethodlist.pas line 64

public property TMethodList.AllowDuplicates : Boolean
  read FAllowDuplicates
  write SetAllowDuplicates;

Description

AllowDuplicates is a Boolean property that indicates if duplicate entries for any given method are allowed in the method list. The default value for the property is False, and indicates that a duplicate method entry will be rejected and an exception will be raised for the error condition.

Changing the value in the AllowDuplicates property to False causes the existing Items in the list to be examined for duplicate methods. When a duplicate method is found, the Delete method is called to remove duplicate values for any of the method in the Items property.

AllowDuplicates is used in the implementation of the Add and Insert methods, and when setting a value in the Items property.

Version info

The default value for the property was change from True to False in version 1.3.

See also

TMethodList.Add | Adds the specified method to the list
TMethodList.Insert | Inserts the specified method at the given position in the list
TMethodList.Items | Provides indexed access to methods in the list
TMethodList.Delete | Deletes the method stored at the specified position


TMethodList.Assign

Declaration

Source position: lazmethodlist.pas line 50

public procedure TMethodList.Assign(

  Source: TMethodList

);


TMethodList.CallNotifyEvents

Performs event notifications using methods in the list

Declaration

Source position: lazmethodlist.pas line 59

public procedure TMethodList.CallNotifyEvents(

  Sender: TObject

);

Arguments

Sender

Originator of the event notification(s)

Description

CallNotifyEvents is a procedure used to perform event notifications using methods stored in the Items for the list. Methods stored in Items are processed in reverse order, and cast to a TNotifyEvent type using the value in Sender as the originator of the event notification.

See also

#rtl.Classes.TNotifyEvent


TMethodList.Clear

Declaration

Source position: lazmethodlist.pas line 51

public procedure TMethodList.Clear;


TMethodList.Count

Gets the number of items included in the method list

Declaration

Source position: lazmethodlist.pas line 47

public function TMethodList.Count: Integer;

Function result

Value for the function

Description

Count is an Integer function used to get the number of Items included in the method list. The value is derived from an internal member in the class instance which gets updated in the Add and Delete methods.

See also

TMethodList.Add | Adds the specified method to the list
TMethodList.Delete | Deletes the method stored at the specified position


TMethodList.Delete

Deletes the method stored at the specified position

Declaration

Source position: lazmethodlist.pas line 52

public procedure TMethodList.Delete(

  Index: Integer

);

Arguments

Index

Ordinal position for the method to delete from the list

Description

Delete is a procedure used to delete the method stored at the specified ordinal position in the list. Delete decrements the internal member used for the Count function.

The method instance is physically removed from the list by moving memory allocated beyond the position in Index (if needed) to the requested position. ReAllocMem is called to resize allocated memory to accommodate the new number of items in the Count property.

Use Remove to delete a specific TMethod instance from the Items in the list.

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.Count | Gets the number of items included in the method list
TMethodList.Remove | Removes the specified method from the items in the list


TMethodList.Destroy

Destructor for the class instance

Declaration

Source position: lazmethodlist.pas line 46

public destructor TMethodList.Destroy; override;

Description

Destroy is the destructor for the class instance. Destroy calls ReAllocMem to reset the size for memory allocated to the Items property. Destroy calls the inherited destructor.

See also

TMethodList.Items

Provides indexed access to methods in the list


TMethodList.GetEnumerator

Gets an enumerator for the list

Declaration

Source position: lazmethodlist.pas line 61

public function TMethodList.GetEnumerator: TItemsEnumerator;

Function result

The enumerator for the list

Description

GetEnumerator is a TItemsEnumerator function used to get an enumerator for Items in the list. The enumerator provides access to the current value, and allows navigation to the next value for the enumerator. Item navigation occurs in the natural order (ascending ordinal position) in the list.

See also

TMethodList.GetReversedEnumerator

Gets an enumerator for the list that navigates in reverse order


TMethodList.GetReversedEnumerator

Gets an enumerator for the list that navigates in reverse order

Declaration

Source position: lazmethodlist.pas line 60

public function TMethodList.GetReversedEnumerator: TItemsEnumerator;

Function result

The reverse enumerator for the list

Description

GetReversedEnumerator is a TItemsEnumerator function used to get an enumerator that navigates Items in the list in reverse order. The enumerator provides access to the current value, and allows navigation to the next value for the enumerator. Item navigation occurs in reverse order (descending ordinal position) in the list.

See also

TMethodList.GetEnumerator

Gets an enumerator for the list


TMethodList.IndexOf

Gets the position where the specified method is stored in the list

Declaration

Source position: lazmethodlist.pas line 49

public function TMethodList.IndexOf(

  const AMethod: TMethod

):Integer;

Arguments

AMethod

Method to locate in the items for the list

Function result

Ordinal position for the specified method

Description

IndexOf is an Integer function used to get the ordinal position in Items where the TMethod instance in AMethod is stored.

IndexOf examines the memory allocated for the Items property. When memory has not been allocated (no methods have been added to the list), the return value is -1. Otherwise, values in the Items property are compared to the TMethod instance in AMethod. The return value is set to the ordinal position in Items where AMethod was located. The return value is in the range 0..Count-1.

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.Count | Gets the number of items included in the method list


TMethodList.Insert

Inserts the specified method at the given position in the list

Declaration

Source position: lazmethodlist.pas line 56

public procedure TMethodList.Insert(

  Index: Integer;

  const AMethod: TMethod

);

Arguments

Index | Ordinal position where the method will be inserted
AMethod | Method to insert at the specified position

Description

Insert is a procedure used to inset the specified method at the given position in Index.

Insert uses the value in AllowDuplicates to determine if the Items in the list need to be checked for duplicates prior to adding the specified method. When AllowDuplicates is False, the IndexOf method is used to locate an existing entry in Items with the method in AMethod. If the method does not exist in Items, or AllowDuplicates is True, the InternalInsert method is called to store the new method at the required position.

When Index is a valid ordinal position in Items, the Move method is called to relocate existing method entries in the list. The RaiseIndexOutOfBounds method is called if the value specified in Index is not in the range 0..Count-1.

Use Add to append a method at the end of the Items in the list.

Errors

Raises an EListError exception when Index contains an invalid ordinal position for Items in the list (not in the range 0..Count-1).

See also

TMethodList.AllowDuplicates | Indicates if duplicate methods are allowed in the list
TMethodList.Count | Gets the number of items included in the method list
TMethodList.Move | Moves the position for the specified method in the list


TMethodList.Items

Provides indexed access to methods in the list

Declaration

Source position: lazmethodlist.pas line 63

public property TMethodList.Items[Index: Integer] : TMethod
  read GetItems
  write SetItems;
  default;

Description

Items is a TMethod property that provides indexed access to methods in the list by the ordinal position specified in Index. The TMethod instance contains the Data (object reference) and Code (pointer to the method) store in the list items.

Reading a value in the Items property accesses the block of memory stored in an internal member at the position in Index. When Writing a value in the Items property, the value in AllowDuplicates is used to determine if duplicates of the TMethod value are allowed in the list. When AllowDuplicates is False, an EListError exception is raised for the error condition. The IndexOf method is called to determine if the method already exists in Items.

Items is the default property in TMethodList and provides support for enumerators using the GetEnumerator and GetReversedEnumerator methods.

Errors

Raises an EListError exception when a duplicate value is detected in the Items property.

See also

TMethodList.AllowDuplicates | Indicates if duplicate methods are allowed in the list
TMethodList.IndexOf | Gets the position where the specified method is stored in the list
TMethodList.GetEnumerator | Gets an enumerator for the list
TMethodList.GetReversedEnumerator | Gets an enumerator for the list that navigates in reverse order
#rtl.System.TMethod
EListError


TMethodList.Move

Moves the position for the specified method in the list

Declaration

Source position: lazmethodlist.pas line 57

public procedure TMethodList.Move(

  OldIndex: Integer;

  NewIndex: Integer

);

Arguments

OldIndex | Existing position for the specified method
NewIndex | New position for the specified method

Description

Move is a procedure used to relocate a method stored in Items using the specified positions arguments. OldIndex contains the existing ordinal position where the method is stored in Items. NewIndex contains the new ordinal position for the method in the Items property.

No actions are performed in the method when OldIndex and NewIndex contain the same value. RaiseIndexOutOfBounds is called to raise an exception when NewIndex does not contain a valid ordinal position for the Items property. In other words, NewIndex contains a negative value or exceeds the value from the Count function.

Move calls the System.Move method to relocate allocated memory in the Items property using the specified ordinal positions, and stores the requested method at the position in NewIndex.

Errors

Raises an EListError exception when NewIndex contains an invalid ordinal position for Items in the list (not in the range 0..Count-1).

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.Count | Gets the number of items included in the method list


TMethodList.NextDownIndex

Provides access to items in the method list in reverse order

Declaration

Source position: lazmethodlist.pas line 48

public function TMethodList.NextDownIndex(

  var Index: Integer

):Boolean;

Arguments

Index

Ordinal position for the next item

Function result

True when Index is in the range needed to access Items

Description

NextDownIndex is a Boolean function which provides access to Items in the list in reverse order. NextDownIndex ensures that the variable parameter in Index is decremented, and remains in range for the number of methods in the Items property. The return value is True when the updated value in Index is a valid ordinal position in Items. The return value is False when Index contains -1.

NextDownIndex is used in the implementation of the CallNotifyEvents method.

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.CallNotifyEvents | Performs event notifications using methods in the list


TMethodList.Remove

Removes the specified method from the items in the list

Declaration

Source position: lazmethodlist.pas line 53

public procedure TMethodList.Remove(

  const AMethod: TMethod

);

Arguments

AMethod

Method to remove from the items in the list

Description

Remove is a procedure used to remove the TMethod instance specified in AMethod from the Items in the list. Remove ensures that memory has been allocated for the list, and calls the IndexOf method to locate the specified method instance in AMethod. When it exists in the Items property, the Delete method is called to delete the method at the required ordinal position.

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.IndexOf | Gets the position where the specified method is stored in the list
TMethodList.Delete | Deletes the method stored at the specified position


TMethodList.RemoveAllMethodsOfObject

Removes methods from the list if they are for the specified object

Declaration

Source position: lazmethodlist.pas line 58

public procedure TMethodList.RemoveAllMethodsOfObject(

  const AnObject: TObject

);

Arguments

AnObject

Object compared to the entries in the list

Description

RemoveAllMethodsOfObject is a procedure used to remove methods in the Items property which belong to the object instance specified in AnObject. RemoveAllMethodsOfObject iterates over the methods in the Items property (in reverse order), and compares the object in AnObject to the TMethod.Data for each of the store Items. When they refer to the same TObject instance, the Delete method is called to remove the method from Items.

No actions are performed in the method when memory has not been allocated to the Items property using the Add or Insert methods.

See also

TMethodList.Items | Provides indexed access to methods in the list
TMethodList.Delete | Deletes the method stored at the specified position
#rtl.System.TMethod


TCodePointEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Base class for a Unicode codepoint enumerator

Declaration

Source position: lazunicode.pas line 78

type TCodePointEnumerator = class(TUnicodeEnumeratorBase)

public

  function MoveNext;

Provides navigation to the next codepoint in the enumerator

end;

Inheritance

TCodePointEnumerator | Base class for a Unicode codepoint enumerator
|
TUnicodeEnumeratorBase |
|
TObject

Description

Base class for a Unicode codepoint enumerator. TCodePointEnumerator allows traversal of Unicode codepoints. Uses UTF-8 or UTF-16 encodings depending on value in $ModeSwitch. Extends the ancestor class to provide navigation in the enumerator using the MoveNext method.


TCodePointEnumerator
TUnicodeEnumeratorBase
 | ro | Current
 | ro | CurrentCodeUnitCount


ro | Current (TUnicodeEnumeratorBase)
ro | CurrentCodeUnitCount (TUnicodeEnumeratorBase)


TCodePointEnumerator
 | MoveNext
TUnicodeEnumeratorBase
 | Create


TCodePointEnumerator

TUnicodeEnumeratorBase


TCodePointEnumerator.MoveNext

Provides navigation to the next codepoint in the enumerator

Declaration

Source position: lazunicode.pas line 80

public function TCodePointEnumerator.MoveNext: Boolean;

Function result

True when more characters (codepoints) are available

Description

Provides navigation to the next Unicode codepoint in the enumerator. The return value contains True when more characters (codepoints) are available to the enumerator. UpdateCurrent is called using the value from CodePointSize to store the value for the Current property.


TUnicodeCharacterEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an enumerator for Unicode codepoints

Declaration

Source position: lazunicode.pas line 87

type TUnicodeCharacterEnumerator = class(TUnicodeEnumeratorBase)
public
property CurrentCodePointCount: Integer; [r] | Number of bytes used for the Current codepoint
function MoveNext; | Adds support for combining diacritical marks when moving to the next codepoint
end;

Inheritance

TUnicodeCharacterEnumerator | Implements an enumerator for Unicode codepoints
|
TUnicodeEnumeratorBase |
|
TObject

Description

Implements an enumerator for Unicode codepoints. TUnicodeCharacterEnumerator allows traversal of characters (codepoints) in a Unicode-encoded string. Values use either UTF-16 or UTF-8 encoding depending on the value for $ModeSwitch. An overridden MoveNext method is provided to handle combining diacritical marks in the Unicode codepoints.


TUnicodeCharacterEnumerator
 | ro | CurrentCodePointCount
TUnicodeEnumeratorBase
 | ro | Current
 | ro | CurrentCodeUnitCount


ro | Current (TUnicodeEnumeratorBase)
ro | CurrentCodePointCount (TUnicodeCharacterEnumerator)
ro | CurrentCodeUnitCount (TUnicodeEnumeratorBase)


TUnicodeCharacterEnumerator
 | MoveNext
TUnicodeEnumeratorBase
 | Create


TUnicodeCharacterEnumerator

TUnicodeEnumeratorBase


TUnicodeCharacterEnumerator.CurrentCodePointCount

Number of bytes used for the Current codepoint

Declaration

Source position: lazunicode.pas line 91

public property TUnicodeCharacterEnumerator.CurrentCodePointCount : Integer
  read fCurrentCodePointCount;

Description

CurrentCodePointCount is a read-only Integer property that indicates the number of bytes used for the Current codepoint. CurrentCodePointCount is updated in the MoveNext method, and includes any combining diacritical marks found in the codepoints.


TUnicodeCharacterEnumerator.MoveNext

Adds support for combining diacritical marks when moving to the next codepoint

Declaration

Source position: lazunicode.pas line 92

public function TUnicodeCharacterEnumerator.MoveNext: Boolean;

Function result

True when more characters (codepoints) are available to the enumerator

Description

MoveNext is an overridden method which adds support for combining diacritical marks when moving to the next codepoint for the enumerator. The return value is True when more characters (codepoints) are available to the enumerator. MoveNext updates the value in CurrentCodeUnitCount, and includes combining diacritical marks in the byte count. MoveNext calls UpdateCurrent to store the value for the Current property.

Remark: MoveNext does not call the inherited method.


TUnicodeEnumeratorBase

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: lazunicode.pas line 60

type TUnicodeEnumeratorBase = class
public
constructor Create(); | Constructor for the class instance
property Current: string; [r] | Byte values for the current codepoint in the enumerator
property CurrentCodeUnitCount: Integer; [r] | Number of bytes in the Current codepoint
end;

Inheritance

TUnicodeEnumeratorBase

|

TObject

Description

Base class for a Unicode character enumerator.


TUnicodeEnumeratorBase
 | ro | Current
 | ro | CurrentCodeUnitCount


TUnicodeEnumeratorBase

Create


TUnicodeEnumeratorBase


TUnicodeEnumeratorBase.Create

Constructor for the class instance

Declaration

Source position: lazunicode.pas line 70

public constructor TUnicodeEnumeratorBase.Create(

  const A: string

);

Arguments

A

Unicode string for the enumerator

Description

Create initializes internal member variable used to access byte values for Unicode codepoints. A is the string with codepoints traversed using the enumerator.


TUnicodeEnumeratorBase.Current

Byte values for the current codepoint in the enumerator

Declaration

Source position: lazunicode.pas line 71

public property TUnicodeEnumeratorBase.Current : string
  read fCurrent;

Description

Current is a read-only String property which provides access to the byte values for the current codepoint in the enumerator. Current is updated in UpdateCurrent when the MoveNext method is called.


TUnicodeEnumeratorBase.CurrentCodeUnitCount

Number of bytes in the Current codepoint

Declaration

Source position: lazunicode.pas line 72

public property TUnicodeEnumeratorBase.CurrentCodeUnitCount : Integer
  read fCurrentCodeUnitCount;

Description

CurrentCodeUnitCount is a read-only Integer property which contains the number of bytes needed for the codepoint in Current. CurrentCodeUnitCount is updated in UpdateCurrent when MoveNext is called.


TMemoryStreamUTF8

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a memory stream which supports file names with UTF-8 encoding

Declaration

Source position: lazutf8classes.pas line 36

type TMemoryStreamUTF8 = class(TMemoryStream)
public
procedure LoadFromFile(); | Loads the content in the stream from the specified file
procedure SaveToFile(); | Stores the content in the stream to the specified file
end;

Inheritance

TMemoryStreamUTF8

Implements a memory stream which supports file names with UTF-8 encoding

|

TMemoryStream
|

TCustomMemoryStream
|

TStream
|

TObject

Description

TMemoryStreamUTF8 is a TMemoryStream descendant that stores its data in memory. TMemoryStreamUTF8 extends the ancestor to include methods used to load and save its memory content using files names that may contain UTF-8-encoded characters.


TMemoryStreamUTF8
TMemoryStream
 |  | Capacity
TCustomMemoryStream
 | ro | Memory
TStream
 |  | Position
 |  | Size
TObject


 | Capacity (TMemoryStream)
ro | Memory (TCustomMemoryStream)
 | Position (TStream)
 | Size (TStream)


TMemoryStreamUTF8
 | LoadFromFile
 | SaveToFile
TMemoryStream
 | SetCapacity
 | Realloc
 | Destroy
 | Clear
 | LoadFromStream
 | LoadFromFile
 | SetSize
 | Write
TCustomMemoryStream
 | GetSize
 | GetPosition
 | SetPointer
 | Read
 | Seek
 | SaveToStream
 | SaveToFile
TStream
 | InvalidSeek
 | Discard
 | DiscardLarge
 | FakeSeekForward
 | GetPosition
 | SetPosition
 | GetSize
 | SetSize64
 | SetSize
 | ReadNotImplemented
 | WriteNotImplemented
 | Read
 | Write
 | Seek
 | ReadBuffer
 | WriteBuffer
 | CopyFrom
 | ReadComponent
 | ReadComponentRes
 | WriteComponent
 | WriteComponentRes
 | WriteDescendent
 | WriteDescendentRes
 | WriteResourceHeader
 | FixupResourceHeader
 | ReadResHeader
 | ReadByte
 | ReadWord
 | ReadDWord
 | ReadQWord
 | ReadAnsiString
 | WriteByte
 | WriteWord
 | WriteDWord
 | WriteQWord
 | WriteAnsiString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Clear (TMemoryStream)

CopyFrom (TStream)

Create (TObject)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Destroy (TMemoryStream)

Discard (TStream)

DiscardLarge (TStream)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FakeSeekForward (TStream)

FieldAddress (TObject)

FixupResourceHeader (TStream)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

GetPosition (TStream)

GetPosition (TCustomMemoryStream)

GetSize (TStream)

GetSize (TCustomMemoryStream)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

InvalidSeek (TStream)

LoadFromFile (TMemoryStream)

LoadFromFile (TMemoryStreamUTF8)

LoadFromStream (TMemoryStream)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

Read (TStream)

Read (TCustomMemoryStream)

ReadAnsiString (TStream)

ReadBuffer (TStream)

ReadByte (TStream)

ReadComponent (TStream)

ReadComponentRes (TStream)

ReadDWord (TStream)

ReadNotImplemented (TStream)

ReadQWord (TStream)

ReadResHeader (TStream)

ReadWord (TStream)

Realloc (TMemoryStream)

SafeCallException (TObject)

SaveToFile (TCustomMemoryStream)

SaveToFile (TMemoryStreamUTF8)

SaveToStream (TCustomMemoryStream)

Seek (TStream)

Seek (TCustomMemoryStream)

SetCapacity (TMemoryStream)

SetPointer (TCustomMemoryStream)

SetPosition (TStream)

SetSize (TStream)

SetSize (TMemoryStream)

SetSize64 (TStream)

StringMessageTable (TObject)

ToString (TObject)

UnitName (TObject)

Write (TStream)

Write (TMemoryStream)

WriteAnsiString (TStream)

WriteBuffer (TStream)

WriteByte (TStream)

WriteComponent (TStream)

WriteComponentRes (TStream)

WriteDescendent (TStream)

WriteDescendentRes (TStream)

WriteDWord (TStream)

WriteNotImplemented (TStream)

WriteQWord (TStream)

WriteResourceHeader (TStream)

WriteWord (TStream)


TMemoryStreamUTF8

TMemoryStream

TCustomMemoryStream

TStream

TObject


TStringListUTF8

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a UTF-8-enabled string list

Declaration

Source position: lazutf8classes.pas line 26

type TStringListUTF8 = class(TStringList)
protected
function DoCompareText(); override; | Compares UTF-8-encoded lines in the string list
public
procedure LoadFromFile(); override; | Loads the content in the string list from the specified file
procedure SaveToFile(); override; | Saves the content in the string to the specified file name
end;

Inheritance

TStringListUTF8

Implements a UTF-8-enabled string list

|

TStringList
|

TStrings
|

TPersistent,IFPObserved
|

TObject

Description

TStringListUTF8 is a TStringList descendant that implements a string list that can store data which uses UTF-8 encoding. TStringListUTF8 provides an overridden method used to sort items in the list using UTF-8 string comparisons. TStringListUTF8 can also load and save files which have UTF-8-encoded file names.


TStringListUTF8
TStringList
 |  | Duplicates
 |  | Sorted
 |  | CaseSensitive
 |  | OwnsObjects
 |  | SortStyle
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


ro | Count (TStrings)
 | DelimitedText (TStrings)
 | Delimiter (TStrings)
 | Duplicates (TStringList)
 | LineBreak (TStrings)
ro | Names (TStrings)
 | NameValueSeparator (TStrings)
 | Objects (TStrings)
 | OwnsObjects (TStringList)
 | QuoteChar (TStrings)
 | SkipLastLineBreak (TStrings)
 | Sorted (TStringList)
 | SortStyle (TStringList)
 | StrictDelimiter (TStrings)
 | Strings (TStrings)
 | StringsAdapter (TStrings)
 | Text (TStrings)
 | TextLineBreakStyle (TStrings)
ro | UpdateCount (TStrings)
 | ValueFromIndex (TStrings)
 | Values (TStrings)


TStringListUTF8
pt | DoCompareText
 | LoadFromFile
 | SaveToFile
TStringList
 | ExchangeItemsInt
 | GetSorted
 | Grow
 | InternalClear
 | QuickSort
 | SetSorted
 | SetCaseSensitive
 | SetSortStyle
 | ExchangeItems
 | Changed
 | Changing
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | Put
 | PutObject
 | SetCapacity
 | SetUpdateState
 | InsertItem
 | DoCompareText
 | CompareStrings
 | Destroy
 | Add
 | Clear
 | Delete
 | Exchange
 | Find
 | IndexOf
 | Insert
 | Sort
 | CustomSort
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TStrings)
 | Add (TStringList)
 | AddObject (TStrings)
 | AddStrings (TStrings)
 | AddText (TStrings)
 | AfterConstruction (TObject)
 | Append (TStrings)
 | Assign (TPersistent)
 | Assign (TStrings)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeginUpdate (TStrings)
 | Changed (TStringList)
 | Changing (TStringList)
 | CheckSpecialChars (TStrings)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TStrings)
 | Clear (TStringList)
 | CompareStrings (TStringList)
 | Create (TObject)
 | CustomSort (TStringList)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TStrings)
 | Delete (TStrings)
 | Delete (TStringList)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TStrings)
 | Destroy (TStringList)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoCompareText (TStrings)
 | DoCompareText (TStringList)
pt | DoCompareText (TStringListUTF8)
 | DoSetTextStr (TStrings)
 | EndUpdate (TStrings)
 | Equals (TObject)
 | Equals (TStrings)
 | Error (TStrings)
 | Exchange (TStrings)
 | Exchange (TStringList)
 | ExchangeItems (TStringList)
 | ExchangeItemsInt (TStringList)
 | ExtractName (TStrings)
 | FieldAddress (TObject)
 | Find (TStringList)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | Get (TStrings)
 | Get (TStringList)
 | GetCapacity (TStrings)
 | GetCapacity (TStringList)
 | GetCommaText (TStrings)
 | GetCount (TStrings)
 | GetCount (TStringList)
 | GetDelimitedText (TStrings)
 | GetDelimiter (TStrings)
 | GetEnumerator (TStrings)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLBS (TStrings)
 | GetLineBreak (TStrings)
 | GetName (TStrings)
 | GetNamePath (TPersistent)
 | GetNameValue (TStrings)
 | GetNameValueSeparator (TStrings)
 | GetNextLine (TStrings)
 | GetNextLinebreak (TStrings)
 | GetObject (TStrings)
 | GetObject (TStringList)
 | GetOwner (TPersistent)
 | GetQuoteChar (TStrings)
 | GetSkipLastLineBreak (TStrings)
 | GetSorted (TStringList)
 | GetText (TStrings)
 | GetTextStr (TStrings)
 | GetValue (TStrings)
 | GetValueFromIndex (TStrings)
 | Grow (TStringList)
 | IndexOf (TStrings)
 | IndexOf (TStringList)
 | IndexOfName (TStrings)
 | IndexOfObject (TStrings)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TStrings)
 | Insert (TStringList)
 | InsertItem (TStringList)
 | InsertObject (TStrings)
 | InstanceSize (TObject)
 | InternalClear (TStringList)
 | LoadFromFile (TStrings)
 | LoadFromFile (TStringListUTF8)
 | LoadFromStream (TStrings)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TStrings)
 | newinstance (TObject)
 | Put (TStrings)
 | Put (TStringList)
 | PutObject (TStrings)
 | PutObject (TStringList)
 | QuickSort (TStringList)
 | ReadData (TStrings)
 | SafeCallException (TObject)
 | SaveToFile (TStrings)
 | SaveToFile (TStringListUTF8)
 | SaveToStream (TStrings)
 | SetCapacity (TStrings)
 | SetCapacity (TStringList)
 | SetCaseSensitive (TStringList)
 | SetCommaText (TStrings)
 | SetDelimitedText (TStrings)
 | SetDelimiter (TStrings)
 | SetLBS (TStrings)
 | SetLineBreak (TStrings)
 | SetNameValueSeparator (TStrings)
 | SetQuoteChar (TStrings)
 | SetSkipLastLineBreak (TStrings)
 | SetSorted (TStringList)
 | SetSortStyle (TStringList)
 | SetStringsAdapter (TStrings)
 | SetText (TStrings)
 | SetTextStr (TStrings)
 | SetUpdateState (TStrings)
 | SetUpdateState (TStringList)
 | SetValue (TStrings)
 | SetValueFromIndex (TStrings)
 | Sort (TStringList)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | WriteData (TStrings)


TStringListUTF8
TStringList
 | OnChange
 | OnChanging
TStrings
TPersistent
TObject


TStringListUTF8.DoCompareText

Compares UTF-8-encoded lines in the string list

Declaration

Source position: lazutf8classes.pas line 28

protected function TStringListUTF8.DoCompareText(

  const s1: string;

  const s2: string

):PtrInt; override;

Arguments

s1 | First string value for the comparison
s2 | Second string value for the comparison

Function result

Value from the string comparison

Description

DoCompareText is PtrInt function used to compare the specified values using UTF-8 string comparison routines. DoCompareText uses the value in CaseSensitive to determine the routine used for the comparison. When CaseSensitive contains True, the UTF8CompareStr is used. Otherwise, UTF8CompareText is called. The return value contains the result from the routine.


TXMLObjectReader

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz_xmlstreaming.pas line 100

type TXMLObjectReader = class(TAbstractObjectReader)

public

  constructor Create();

  destructor Destroy; override;

  function GetRootClassName();

  function NextValue; override;

  function ReadValue; override;

  procedure BeginRootComponent; override;

  procedure BeginComponent(); override;

  function BeginProperty; override;

  procedure ReadBinary(); override;

  function ReadFloat; override;

  function ReadSingle; override;

  function ReadCurrency; override;

  function ReadDate; override;

  function ReadIdent(); override;

  function ReadInt8; override;

  function ReadInt16; override;

  function ReadInt32; override;

  function ReadInt64; override;

  function ReadSet(); override;

  function ReadStr; override;

  function ReadString(); override;

  function ReadWideString; override;

  function ReadUnicodeString; override;

  procedure SkipComponent(); override;

  procedure SkipValue; override;

  procedure Read(); override;

  property Doc: TDOMDocument; [r]

  property Element: TDOMElement; [r]

  property ElementPosition: Integer; [r]

end;

Inheritance

TXMLObjectReader

|

TAbstractObjectReader
|

TObject


TXMLObjectReader
 | ro | Doc
 | ro | Element
 | ro | ElementPosition
TAbstractObjectReader
TObject


ro | Doc (TXMLObjectReader)
ro | Element (TXMLObjectReader)
ro | ElementPosition (TXMLObjectReader)


TXMLObjectReader
 | Create
 | Destroy
 | GetRootClassName
 | NextValue
 | ReadValue
 | BeginRootComponent
 | BeginComponent
 | BeginProperty
 | ReadBinary
 | ReadFloat
 | ReadSingle
 | ReadCurrency
 | ReadDate
 | ReadIdent
 | ReadInt8
 | ReadInt16
 | ReadInt32
 | ReadInt64
 | ReadSet
 | ReadStr
 | ReadString
 | ReadWideString
 | ReadUnicodeString
 | SkipComponent
 | SkipValue
 | Read
TAbstractObjectReader
 | NextValue
 | ReadValue
 | BeginRootComponent
 | BeginComponent
 | BeginProperty
 | Read
 | ReadBinary
 | ReadFloat
 | ReadSingle
 | ReadDate
 | ReadCurrency
 | ReadIdent
 | ReadInt8
 | ReadInt16
 | ReadInt32
 | ReadInt64
 | ReadSet
 | ReadSignature
 | ReadStr
 | ReadString
 | ReadWideString
 | ReadUnicodeString
 | SkipComponent
 | SkipValue
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AfterConstruction (TObject)

BeforeDestruction (TObject)

BeginComponent (TAbstractObjectReader)

BeginComponent (TXMLObjectReader)

BeginProperty (TAbstractObjectReader)

BeginProperty (TXMLObjectReader)

BeginRootComponent (TAbstractObjectReader)

BeginRootComponent (TXMLObjectReader)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Create (TObject)

Create (TXMLObjectReader)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

Destroy (TObject)

Destroy (TXMLObjectReader)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

FieldAddress (TObject)

Free (TObject)

FreeInstance (TObject)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

GetRootClassName (TXMLObjectReader)

InheritsFrom (TObject)

InitInstance (TObject)

InstanceSize (TObject)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

NextValue (TAbstractObjectReader)

NextValue (TXMLObjectReader)

Read (TAbstractObjectReader)

Read (TXMLObjectReader)

ReadBinary (TAbstractObjectReader)

ReadBinary (TXMLObjectReader)

ReadCurrency (TAbstractObjectReader)

ReadCurrency (TXMLObjectReader)

ReadDate (TAbstractObjectReader)

ReadDate (TXMLObjectReader)

ReadFloat (TAbstractObjectReader)

ReadFloat (TXMLObjectReader)

ReadIdent (TAbstractObjectReader)

ReadIdent (TXMLObjectReader)

ReadInt16 (TAbstractObjectReader)

ReadInt16 (TXMLObjectReader)

ReadInt32 (TAbstractObjectReader)

ReadInt32 (TXMLObjectReader)

ReadInt64 (TAbstractObjectReader)

ReadInt64 (TXMLObjectReader)

ReadInt8 (TAbstractObjectReader)

ReadInt8 (TXMLObjectReader)

ReadSet (TAbstractObjectReader)

ReadSet (TXMLObjectReader)

ReadSignature (TAbstractObjectReader)

ReadSingle (TAbstractObjectReader)

ReadSingle (TXMLObjectReader)

ReadStr (TAbstractObjectReader)

ReadStr (TXMLObjectReader)

ReadString (TAbstractObjectReader)

ReadString (TXMLObjectReader)

ReadUnicodeString (TAbstractObjectReader)

ReadUnicodeString (TXMLObjectReader)

ReadValue (TAbstractObjectReader)

ReadValue (TXMLObjectReader)

ReadWideString (TAbstractObjectReader)

ReadWideString (TXMLObjectReader)

SafeCallException (TObject)

SkipComponent (TAbstractObjectReader)

SkipComponent (TXMLObjectReader)

SkipValue (TAbstractObjectReader)

SkipValue (TXMLObjectReader)

StringMessageTable (TObject)

ToString (TObject)

UnitName (TObject)


TXMLObjectReader

TAbstractObjectReader

TObject


TXMLObjectReader.BeginComponent

Declaration

Source position: laz_xmlstreaming.pas line 117

public procedure TXMLObjectReader.BeginComponent(

  var Flags: TFilerFlags;

  var AChildPos: Integer;

  var CompClassName: string;

  var CompName: string

); override;


TXMLObjectReader.BeginProperty

Declaration

Source position: laz_xmlstreaming.pas line 119

public function TXMLObjectReader.BeginProperty: string; override;


TXMLObjectReader.BeginRootComponent

Declaration

Source position: laz_xmlstreaming.pas line 116

public procedure TXMLObjectReader.BeginRootComponent; override;


TXMLObjectReader.Create

Declaration

Source position: laz_xmlstreaming.pas line 108

public constructor TXMLObjectReader.Create(

  ADoc: TDOMDocument;

  const APath: string

);


TXMLObjectReader.Destroy

Declaration

Source position: laz_xmlstreaming.pas line 109

public destructor TXMLObjectReader.Destroy; override;


TXMLObjectReader.Doc

Declaration

Source position: laz_xmlstreaming.pas line 147

public property TXMLObjectReader.Doc : TDOMDocument
  read FDoc;


TXMLObjectReader.Element

Declaration

Source position: laz_xmlstreaming.pas line 148

public property TXMLObjectReader.Element : TDOMElement
  read FElement;


TXMLObjectReader.ElementPosition

Declaration

Source position: laz_xmlstreaming.pas line 149

public property TXMLObjectReader.ElementPosition : Integer
  read FElementPosition;


TXMLObjectReader.GetRootClassName

Declaration

Source position: laz_xmlstreaming.pas line 111

public function TXMLObjectReader.GetRootClassName(

  out IsInherited: Boolean

):string;


TXMLObjectReader.NextValue

Declaration

Source position: laz_xmlstreaming.pas line 114

public function TXMLObjectReader.NextValue: TValueType; override;


TXMLObjectReader.Read

Declaration

Source position: laz_xmlstreaming.pas line 144

public procedure TXMLObjectReader.Read(

  var Buf;

  Count: LongInt

); override;


TXMLObjectReader.ReadBinary

Declaration

Source position: laz_xmlstreaming.pas line 121

public procedure TXMLObjectReader.ReadBinary(

  const DestData: TMemoryStream

); override;


TXMLObjectReader.ReadCurrency

Declaration

Source position: laz_xmlstreaming.pas line 124

public function TXMLObjectReader.ReadCurrency: Currency; override;


TXMLObjectReader.ReadDate

Declaration

Source position: laz_xmlstreaming.pas line 125

public function TXMLObjectReader.ReadDate: TDateTime; override;


TXMLObjectReader.ReadFloat

Declaration

Source position: laz_xmlstreaming.pas line 122

public function TXMLObjectReader.ReadFloat: Extended; override;


TXMLObjectReader.ReadIdent

Declaration

Source position: laz_xmlstreaming.pas line 126

public function TXMLObjectReader.ReadIdent(

  ValueType: TValueType

):string; override;


TXMLObjectReader.ReadInt8

Declaration

Source position: laz_xmlstreaming.pas line 127

public function TXMLObjectReader.ReadInt8: ShortInt; override;


TXMLObjectReader.ReadInt16

Declaration

Source position: laz_xmlstreaming.pas line 128

public function TXMLObjectReader.ReadInt16: SmallInt; override;


TXMLObjectReader.ReadInt32

Declaration

Source position: laz_xmlstreaming.pas line 129

public function TXMLObjectReader.ReadInt32: LongInt; override;


TXMLObjectReader.ReadInt64

Declaration

Source position: laz_xmlstreaming.pas line 130

public function TXMLObjectReader.ReadInt64: Int64; override;


TXMLObjectReader.ReadSet

Declaration

Source position: laz_xmlstreaming.pas line 131

public function TXMLObjectReader.ReadSet(

  SetType: Pointer

):Integer; override;


TXMLObjectReader.ReadSingle

Declaration

Source position: laz_xmlstreaming.pas line 123

public function TXMLObjectReader.ReadSingle: Single; override;


TXMLObjectReader.ReadStr

Declaration

Source position: laz_xmlstreaming.pas line 132

public function TXMLObjectReader.ReadStr: string; override;


TXMLObjectReader.ReadString

Declaration

Source position: laz_xmlstreaming.pas line 133

public function TXMLObjectReader.ReadString(

  StringType: TValueType

):string; override;


TXMLObjectReader.ReadUnicodeString

Declaration

Source position: laz_xmlstreaming.pas line 139

public function TXMLObjectReader.ReadUnicodeString: UnicodeString; override;


TXMLObjectReader.ReadValue

Declaration

Source position: laz_xmlstreaming.pas line 115

public function TXMLObjectReader.ReadValue: TValueType; override;


TXMLObjectReader.ReadWideString

Declaration

Source position: laz_xmlstreaming.pas line 134

public function TXMLObjectReader.ReadWideString: WideString; override;


TXMLObjectReader.SkipComponent

Declaration

Source position: laz_xmlstreaming.pas line 141

public procedure TXMLObjectReader.SkipComponent(

  SkipComponentInfos: Boolean

); override;


TXMLObjectReader.SkipValue

Declaration

Source position: laz_xmlstreaming.pas line 142

public procedure TXMLObjectReader.SkipValue; override;


TXMLObjectReaderClass

Declaration

Source position: laz_xmlstreaming.pas line 151

type TXMLObjectReaderClass = class of TXMLObjectReader;


TXMLObjectWriter

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz_xmlstreaming.pas line 42

type TXMLObjectWriter = class(TAbstractObjectWriter)

protected

  function GetPropertyElement();

public

  constructor Create();

  procedure BeginCollection; override;

  procedure BeginComponent(); override;

  procedure BeginList; override;

  procedure EndList; override;

  procedure BeginProperty(); override;

  procedure EndProperty; override;

  procedure WriteBinary(); override;

  procedure WriteBoolean(); override;

  procedure WriteFloat(); override;

  procedure WriteSingle(); override;

  procedure WriteCurrency(); override;

  procedure WriteDate(); override;

  procedure WriteIdent(); override;

  procedure WriteInteger(); override;

  procedure WriteMethodName(); override;

  procedure WriteSet(); override;

  procedure WriteString(); override;

  procedure WriteWideString(); override;

  procedure WriteUInt64(); override;

  procedure WriteUnicodeString(); override;

  procedure WriteVariant(); override;

  procedure Write(); override;

  property Doc: TDOMDocument; [r]

end;

Inheritance

TXMLObjectWriter

|

TAbstractObjectWriter
|

TObject


TXMLObjectWriter

ro

Doc

TAbstractObjectWriter

TObject


ro

Doc (TXMLObjectWriter)


TXMLObjectWriter
pt | GetPropertyElement
 | Create
 | BeginCollection
 | BeginComponent
 | BeginList
 | EndList
 | BeginProperty
 | EndProperty
 | WriteBinary
 | WriteBoolean
 | WriteFloat
 | WriteSingle
 | WriteCurrency
 | WriteDate
 | WriteIdent
 | WriteInteger
 | WriteMethodName
 | WriteSet
 | WriteString
 | WriteWideString
 | WriteUInt64
 | WriteUnicodeString
 | WriteVariant
 | Write
TAbstractObjectWriter
 | BeginCollection
 | BeginComponent
 | WriteSignature
 | BeginList
 | EndList
 | BeginProperty
 | EndProperty
 | Write
 | WriteBinary
 | WriteBoolean
 | WriteFloat
 | WriteSingle
 | WriteDate
 | WriteCurrency
 | WriteIdent
 | WriteInteger
 | WriteUInt64
 | WriteVariant
 | WriteMethodName
 | WriteSet
 | WriteString
 | WriteWideString
 | WriteUnicodeString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | AfterConstruction (TObject)
 | BeforeDestruction (TObject)
 | BeginCollection (TAbstractObjectWriter)
 | BeginCollection (TXMLObjectWriter)
 | BeginComponent (TAbstractObjectWriter)
 | BeginComponent (TXMLObjectWriter)
 | BeginList (TAbstractObjectWriter)
 | BeginList (TXMLObjectWriter)
 | BeginProperty (TAbstractObjectWriter)
 | BeginProperty (TXMLObjectWriter)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Create (TObject)
 | Create (TXMLObjectWriter)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | Destroy (TObject)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | EndList (TAbstractObjectWriter)
 | EndList (TXMLObjectWriter)
 | EndProperty (TAbstractObjectWriter)
 | EndProperty (TXMLObjectWriter)
 | Equals (TObject)
 | FieldAddress (TObject)
 | Free (TObject)
 | FreeInstance (TObject)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
pt | GetPropertyElement (TXMLObjectWriter)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | InstanceSize (TObject)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
 | SafeCallException (TObject)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | Write (TAbstractObjectWriter)
 | Write (TXMLObjectWriter)
 | WriteBinary (TAbstractObjectWriter)
 | WriteBinary (TXMLObjectWriter)
 | WriteBoolean (TAbstractObjectWriter)
 | WriteBoolean (TXMLObjectWriter)
 | WriteCurrency (TAbstractObjectWriter)
 | WriteCurrency (TXMLObjectWriter)
 | WriteDate (TAbstractObjectWriter)
 | WriteDate (TXMLObjectWriter)
 | WriteFloat (TAbstractObjectWriter)
 | WriteFloat (TXMLObjectWriter)
 | WriteIdent (TAbstractObjectWriter)
 | WriteIdent (TXMLObjectWriter)
 | WriteInteger (TAbstractObjectWriter)
 | WriteInteger (TXMLObjectWriter)
 | WriteMethodName (TAbstractObjectWriter)
 | WriteMethodName (TXMLObjectWriter)
 | WriteSet (TAbstractObjectWriter)
 | WriteSet (TXMLObjectWriter)
 | WriteSignature (TAbstractObjectWriter)
 | WriteSingle (TAbstractObjectWriter)
 | WriteSingle (TXMLObjectWriter)
 | WriteString (TAbstractObjectWriter)
 | WriteString (TXMLObjectWriter)
 | WriteUInt64 (TAbstractObjectWriter)
 | WriteUInt64 (TXMLObjectWriter)
 | WriteUnicodeString (TAbstractObjectWriter)
 | WriteUnicodeString (TXMLObjectWriter)
 | WriteVariant (TAbstractObjectWriter)
 | WriteVariant (TXMLObjectWriter)
 | WriteWideString (TAbstractObjectWriter)
 | WriteWideString (TXMLObjectWriter)


TXMLObjectWriter

TAbstractObjectWriter

TObject


TXMLObjectWriter.BeginCollection

Declaration

Source position: laz_xmlstreaming.pas line 60

public procedure TXMLObjectWriter.BeginCollection; override;


TXMLObjectWriter.BeginComponent

Declaration

Source position: laz_xmlstreaming.pas line 61

public procedure TXMLObjectWriter.BeginComponent(

  Component: TComponent;

  Flags: TFilerFlags;

  ChildPos: Integer

); override;


TXMLObjectWriter.BeginList

Declaration

Source position: laz_xmlstreaming.pas line 63

public procedure TXMLObjectWriter.BeginList; override;


TXMLObjectWriter.BeginProperty

Declaration

Source position: laz_xmlstreaming.pas line 65

public procedure TXMLObjectWriter.BeginProperty(

  const PropName: string

); override;


TXMLObjectWriter.Create

Declaration

Source position: laz_xmlstreaming.pas line 54

public constructor TXMLObjectWriter.Create(

  ADoc: TDOMDocument;

  const APath: string;

  Append: Boolean

);


TXMLObjectWriter.Doc

Declaration

Source position: laz_xmlstreaming.pas line 93

public property TXMLObjectWriter.Doc : TDOMDocument
  read FDoc;


TXMLObjectWriter.EndList

Declaration

Source position: laz_xmlstreaming.pas line 64

public procedure TXMLObjectWriter.EndList; override;


TXMLObjectWriter.EndProperty

Declaration

Source position: laz_xmlstreaming.pas line 66

public procedure TXMLObjectWriter.EndProperty; override;


TXMLObjectWriter.GetPropertyElement

Declaration

Source position: laz_xmlstreaming.pas line 52

protected function TXMLObjectWriter.GetPropertyElement(

  const TypeName: string

):TDOMElement;


TXMLObjectWriter.Write

Declaration

Source position: laz_xmlstreaming.pas line 90

public procedure TXMLObjectWriter.Write(

  const Buffer;

  Count: LongInt

); override;


TXMLObjectWriter.WriteBinary

Declaration

Source position: laz_xmlstreaming.pas line 68

public procedure TXMLObjectWriter.WriteBinary(

  const Buffer;

  Count: LongInt

); override;


TXMLObjectWriter.WriteBoolean

Declaration

Source position: laz_xmlstreaming.pas line 69

public procedure TXMLObjectWriter.WriteBoolean(

  Value: Boolean

); override;


TXMLObjectWriter.WriteCurrency

Declaration

Source position: laz_xmlstreaming.pas line 73

public procedure TXMLObjectWriter.WriteCurrency(

  const Value: Currency

); override;


TXMLObjectWriter.WriteDate

Declaration

Source position: laz_xmlstreaming.pas line 74

public procedure TXMLObjectWriter.WriteDate(

  const Value: TDateTime

); override;


TXMLObjectWriter.WriteFloat

Declaration

Source position: laz_xmlstreaming.pas line 71

public procedure TXMLObjectWriter.WriteFloat(

  const Value: Extended

); override;


TXMLObjectWriter.WriteIdent

Declaration

Source position: laz_xmlstreaming.pas line 75

public procedure TXMLObjectWriter.WriteIdent(

  const Ident: string

); override;


TXMLObjectWriter.WriteInteger

Declaration

Source position: laz_xmlstreaming.pas line 76

public procedure TXMLObjectWriter.WriteInteger(

  Value: Int64

); override;


TXMLObjectWriter.WriteMethodName

Declaration

Source position: laz_xmlstreaming.pas line 77

public procedure TXMLObjectWriter.WriteMethodName(

  const Name: string

); override;


TXMLObjectWriter.WriteSet

Declaration

Source position: laz_xmlstreaming.pas line 78

public procedure TXMLObjectWriter.WriteSet(

  Value: LongInt;

  SetType: Pointer

); override;


TXMLObjectWriter.WriteSingle

Declaration

Source position: laz_xmlstreaming.pas line 72

public procedure TXMLObjectWriter.WriteSingle(

  const Value: Single

); override;


TXMLObjectWriter.WriteString

Declaration

Source position: laz_xmlstreaming.pas line 79

public procedure TXMLObjectWriter.WriteString(

  const Value: string

); override;


TXMLObjectWriter.WriteUInt64

Declaration

Source position: laz_xmlstreaming.pas line 85

public procedure TXMLObjectWriter.WriteUInt64(

  Value: QWord

); override;


TXMLObjectWriter.WriteUnicodeString

Declaration

Source position: laz_xmlstreaming.pas line 86

public procedure TXMLObjectWriter.WriteUnicodeString(

  const Value: UnicodeString

); override;


TXMLObjectWriter.WriteVariant

Declaration

Source position: laz_xmlstreaming.pas line 87

public procedure TXMLObjectWriter.WriteVariant(

  const VarValue: Variant

); override;


TXMLObjectWriter.WriteWideString

Declaration

Source position: laz_xmlstreaming.pas line 80

public procedure TXMLObjectWriter.WriteWideString(

  const Value: WideString

); override;


TXMLObjectWriterClass

Declaration

Source position: laz_xmlstreaming.pas line 95

type TXMLObjectWriterClass = class of TXMLObjectWriter;


TXMLObjectWriterStackEl

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: laz_xmlstreaming.pas line 33

type TXMLObjectWriterStackEl = class

public

  Element: TDOMElement;

  Parent: TDOMElement;

  ElemType: TXMLObjectWriterStackElType;

  PropertyName: string;

end;

Inheritance

TXMLObjectWriterStackEl

|

TObject


TXMLObjectWriterStackEl


TXMLObjectWriterStackEl.Element

Declaration

Source position: laz_xmlstreaming.pas line 35

public TXMLObjectWriterStackEl.Element : TDOMElement;


TXMLObjectWriterStackEl.ElemType

Declaration

Source position: laz_xmlstreaming.pas line 36

public TXMLObjectWriterStackEl.ElemType : TXMLObjectWriterStackElType;


TXMLObjectWriterStackEl.Parent

Declaration

Source position: laz_xmlstreaming.pas line 35

public TXMLObjectWriterStackEl.Parent : TDOMElement;


TXMLObjectWriterStackEl.PropertyName

Declaration

Source position: laz_xmlstreaming.pas line 37

public TXMLObjectWriterStackEl.PropertyName : string;


TXMLObjectWriterStackElType

Declaration

Source position: laz_xmlstreaming.pas line 31

type TXMLObjectWriterStackElType = (

  elUnknown,

  elPropertyList,

  elChildrenList

);


TLookupStringList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an unsorted StringList with a fast lookup feature

Declaration

Source position: lookupstringlist.pas line 38

type TLookupStringList = class(TStringList)
protected
procedure InsertItem(); override; | Adds a new value to the items and the string map with duplicate enforcement
public
constructor Create; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure Assign(); override; | Implements object persistence in the class
procedure Clear; override; | Clears the content stored in the class instance
procedure Delete(); override; | Deletes the value at the specified position
function Add(); override; | Adds the specified value to the Strings in the list
function AddObject(); override; | Adds the specified values to the Strings and Objects in the list
function Contains(); | Determines if the specified value already exists in the string map
function Find(); override; | Locates the specified value in the Strings property
function IndexOf(); override; | Gets the position in Strings where the specified value is stored
end;

Inheritance

TLookupStringList

Implements an unsorted StringList with a fast lookup feature

|

TStringList
|

TStrings
|

TPersistent,IFPObserved
|

TObject

Description

TLookupStringList is a TStringList descendant that implements an unsorted StringList with a fast lookup feature. Internally it uses a map container to store the strings which are used in the Contains, IndexOf and Find methods. The map container does not reserve too much memory because the strings are reference counted and not copied.

All Duplicates property values are fully supported, including dupIgnore and dupError, unlike in unsorted TStringList class.

This class is useful only when you must preserve the order in list, but also need to do fast lookups to see if a string exists, or must prevent duplicates.

Authors: Juha Manninen / Antônio Galvão


TLookupStringList
TStringList
 |  | Duplicates
 |  | Sorted
 |  | CaseSensitive
 |  | OwnsObjects
 |  | SortStyle
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


TLookupStringList
pt | InsertItem
 | Create
 | Destroy
 | Assign
 | Clear
 | Delete
 | Add
 | AddObject
 | Contains
 | Find
 | IndexOf
TStringList
 | ExchangeItemsInt
 | GetSorted
 | Grow
 | InternalClear
 | QuickSort
 | SetSorted
 | SetCaseSensitive
 | SetSortStyle
 | ExchangeItems
 | Changed
 | Changing
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | Put
 | PutObject
 | SetCapacity
 | SetUpdateState
 | InsertItem
 | DoCompareText
 | CompareStrings
 | Destroy
 | Add
 | Clear
 | Delete
 | Exchange
 | Find
 | IndexOf
 | Insert
 | Sort
 | CustomSort
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TStrings)
 | Add (TStringList)
 | Add (TLookupStringList)
 | AddObject (TStrings)
 | AddObject (TLookupStringList)
 | AddStrings (TStrings)
 | AddText (TStrings)
 | AfterConstruction (TObject)
 | Append (TStrings)
 | Assign (TPersistent)
 | Assign (TStrings)
 | Assign (TLookupStringList)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeginUpdate (TStrings)
 | Changed (TStringList)
 | Changing (TStringList)
 | CheckSpecialChars (TStrings)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TStrings)
 | Clear (TStringList)
 | Clear (TLookupStringList)
 | CompareStrings (TStringList)
 | Contains (TLookupStringList)
 | Create (TObject)
 | Create (TLookupStringList)
 | CustomSort (TStringList)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TStrings)
 | Delete (TStrings)
 | Delete (TStringList)
 | Delete (TLookupStringList)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TStrings)
 | Destroy (TStringList)
 | Destroy (TLookupStringList)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoCompareText (TStrings)
 | DoCompareText (TStringList)
 | DoSetTextStr (TStrings)
 | EndUpdate (TStrings)
 | Equals (TObject)
 | Equals (TStrings)
 | Error (TStrings)
 | Exchange (TStrings)
 | Exchange (TStringList)
 | ExchangeItems (TStringList)
 | ExchangeItemsInt (TStringList)
 | ExtractName (TStrings)
 | FieldAddress (TObject)
 | Find (TStringList)
 | Find (TLookupStringList)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | Get (TStrings)
 | Get (TStringList)
 | GetCapacity (TStrings)
 | GetCapacity (TStringList)
 | GetCommaText (TStrings)
 | GetCount (TStrings)
 | GetCount (TStringList)
 | GetDelimitedText (TStrings)
 | GetDelimiter (TStrings)
 | GetEnumerator (TStrings)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLBS (TStrings)
 | GetLineBreak (TStrings)
 | GetName (TStrings)
 | GetNamePath (TPersistent)
 | GetNameValue (TStrings)
 | GetNameValueSeparator (TStrings)
 | GetNextLine (TStrings)
 | GetNextLinebreak (TStrings)
 | GetObject (TStrings)
 | GetObject (TStringList)
 | GetOwner (TPersistent)
 | GetQuoteChar (TStrings)
 | GetSkipLastLineBreak (TStrings)
 | GetSorted (TStringList)
 | GetText (TStrings)
 | GetTextStr (TStrings)
 | GetValue (TStrings)
 | GetValueFromIndex (TStrings)
 | Grow (TStringList)
 | IndexOf (TStrings)
 | IndexOf (TStringList)
 | IndexOf (TLookupStringList)
 | IndexOfName (TStrings)
 | IndexOfObject (TStrings)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TStrings)
 | Insert (TStringList)
 | InsertItem (TStringList)
pt | InsertItem (TLookupStringList)
 | InsertObject (TStrings)
 | InstanceSize (TObject)
 | InternalClear (TStringList)
 | LoadFromFile (TStrings)
 | LoadFromStream (TStrings)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TStrings)
 | newinstance (TObject)
 | Put (TStrings)
 | Put (TStringList)
 | PutObject (TStrings)
 | PutObject (TStringList)
 | QuickSort (TStringList)
 | ReadData (TStrings)
 | SafeCallException (TObject)
 | SaveToFile (TStrings)
 | SaveToStream (TStrings)
 | SetCapacity (TStrings)
 | SetCapacity (TStringList)
 | SetCaseSensitive (TStringList)
 | SetCommaText (TStrings)
 | SetDelimitedText (TStrings)
 | SetDelimiter (TStrings)
 | SetLBS (TStrings)
 | SetLineBreak (TStrings)
 | SetNameValueSeparator (TStrings)
 | SetQuoteChar (TStrings)
 | SetSkipLastLineBreak (TStrings)
 | SetSorted (TStringList)
 | SetSortStyle (TStringList)
 | SetStringsAdapter (TStrings)
 | SetText (TStrings)
 | SetTextStr (TStrings)
 | SetUpdateState (TStrings)
 | SetUpdateState (TStringList)
 | SetValue (TStrings)
 | SetValueFromIndex (TStrings)
 | Sort (TStringList)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | WriteData (TStrings)


TLookupStringList
TStringList
 | OnChange
 | OnChanging
TStrings
TPersistent
TObject


TLookupStringList.Contains

Determines if the specified value already exists in the string map

Declaration

Source position: lookupstringlist.pas line 51

public function TLookupStringList.Contains(

  const S: string

):Boolean;

Arguments

S

Value to locate in the string map

Function result

True when the value is already stored in the TStringMap for the class

Description

Contains is a Boolean function used to determine if the specified value already exists in the internal string map for the string list. The return value is True when S is already stored in the TStringMap for the class.

Contains is called from the Add, InsertItem, and IndexOf methods.


TBaseMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements the base class for a map for unique IDs to arbitrary data

Declaration

Source position: maps.pp line 87

type TBaseMap = class(TPersistent)
protected
procedure InternalAdd(); | Adds a map item with the specified ID and Data to the AVL Tree
function InternalGetData(); | Gets the data stored in the specified map item
function InternalGetDataPtr(); | Gets a Pointer to the data for the specified map item
function InternalGetId(); | Get the ID value for the specified map item
function InternalSetData(); | Stores the data for the specified map item
procedure ReleaseData(); virtual; | Frees resources allocated for the data in the map item
public
constructor Create(); | Constructor for the class instance
procedure Clear; | Clears all map items in the AVL Tree
function Count; | Gets the number of map items in the AVL Tree
function Delete(); | Deletes the specified map item from the AVL Tree
destructor Destroy; override; | Destructor for the class instance
end;

Inheritance

TBaseMap

Implements the base class for a map for unique IDs to arbitrary data

|

TPersistent,IFPObserved
|

TObject

Description

Implements the base class that is a map for unique IDs to arbitrary data. The ID-to-Data mapping is stored in an Average Level Binary Tree for fast indexing. The map also maintains a linked list between the ordered items for fast iteration through its elements. The ID can be signed or unsigned, with a size of 1, 2, 4, 8, 16 or 32 bytes. The data can be of any (constant) size.

Use a descendant class, such as TMap, which includes methods to Add items and to read or write their arbitrary data values.

Author: Marc Weustink


TBaseMap

TPersistent

TObject


TBaseMap
pt | InternalAdd
pt | InternalGetData
pt | InternalGetDataPtr
pt | InternalGetId
pt | InternalSetData
pt | ReleaseData
 | Create
 | Clear
 | Count
 | Delete
 | Destroy
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TBaseMap)
 | Count (TBaseMap)
 | Create (TObject)
 | Create (TBaseMap)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | Delete (TBaseMap)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TBaseMap)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | FieldAddress (TObject)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetNamePath (TPersistent)
 | GetOwner (TPersistent)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | InstanceSize (TObject)
pt | InternalAdd (TBaseMap)
pt | InternalGetData (TBaseMap)
pt | InternalGetDataPtr (TBaseMap)
pt | InternalGetId (TBaseMap)
pt | InternalSetData (TBaseMap)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
pt | ReleaseData (TBaseMap)
 | SafeCallException (TObject)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)


TBaseMap.Clear

Clears all map items in the AVL Tree

Declaration

Source position: maps.pp line 111

public procedure TBaseMap.Clear;


TBaseMap.Count

Gets the number of map items in the AVL Tree

Declaration

Source position: maps.pp line 112

public function TBaseMap.Count: SizeInt;


TBaseMap.Create

Constructor for the class instance

Declaration

Source position: maps.pp line 110

public constructor TBaseMap.Create(

  AIdType: TMapIdType;

  ADataSize: Cardinal

);


TBaseMap.Delete

Deletes the specified map item from the AVL Tree

Declaration

Source position: maps.pp line 113

public function TBaseMap.Delete(

  const AId

):Boolean;


TBaseMap.Destroy

Destructor for the class instance

Declaration

Source position: maps.pp line 114

public destructor TBaseMap.Destroy; override;


TBaseMap.InternalAdd

Adds a map item with the specified ID and Data to the AVL Tree

Declaration

Source position: maps.pp line 103

protected procedure TBaseMap.InternalAdd(

  const AId;

  const AData

);

Arguments

AId | ID for the new map item
AData | Data for the new map item

Description

InternalAdd is a procedure used to add a map item with the specified ID and Data to the AVL Tree. InternalAdd raises an EListError exception if AId already exists in the internal AVL Tree, and no actions are performed in the method.

InternalAdd allocates and populates memory used for the TMapItem and its arbitrary data, and adds the new item to the internal AVL Tree. InternalAdd updates the pointers to the previous and next map items in the linked list.

Do not call InternalAdd directly. Use a descendant class, such as TMap, which implements the Add method.

Errors

Raises an EListError exception when a duplicate ID is found in the AVL Tree. Raised with the message in DUPLICATE_ID.


TBaseMap.InternalGetData

Gets the data stored in the specified map item

Declaration

Source position: maps.pp line 104

protected function TBaseMap.InternalGetData(

  AItem: PMapItem;

  out AData

):Boolean;

Arguments

AItem | Map item to examine n the method
AData | Data stored in the specified map item

Function result

True when the specified map item is a valid pointer

Description

InternalGetData is a Boolean function used to get the data stored in the specified map item. AItem is the map item examined in the method, and must contain a valid pointer. The return value is set to False, and no actions are performed in the method, when AItem contains Nil. The return value is True when a pointer has been assigned to AItem.

InternalGetData skips the ID value in AItem, and stores the Data for the map item in AData. The size arguments passed in the constructor are used when reading the ID and Data values. Please note that no validation is performed for the arbitrary byte values read into AData.

Do not call InternalGetData directly. Use the public methods in the class, or a descendant class like TMap which implements the GetData method.

See also

#LazUtils.Maps.TMap.GetData

Gets the Data for the map item with the specified ID


TBaseMap.InternalGetDataPtr

Gets a Pointer to the data for the specified map item

Declaration

Source position: maps.pp line 105

protected function TBaseMap.InternalGetDataPtr(

  AItem: PMapItem

):Pointer;

Arguments

AItem

Map item examined in the method

Function result

Pointer to the data for the specified map item

Description

InternalGetDataPtr is a function used to get a Pointer to the data for the specified map item. AItem is a Pointer to the map item examined in the method. The return value is set to Nil when AItem has not been assigned, and no actions are performed in the method.

InternalGetDataPtr sets the Pointer in the return value to the position in AItem immediately after the ID value. InternalGetDataPtr is used in the implementation of methods like Delete and FreeData.

Do not call InternalGetDataPtr directly. Use one of the public methods in the class, or a descendant class like TMap which implements the GetDataPtr method.

See also

TBaseMap.Delete | Deletes the specified map item from the AVL Tree
#LazUtils.Maps.TMap.GetDataPtr | Gets a Pointer to the data for the specified map item


TBaseMap.InternalGetId

Get the ID value for the specified map item

Declaration

Source position: maps.pp line 106

protected function TBaseMap.InternalGetId(

  AItem: PMapItem;

  out AID

):Boolean;

Arguments

AItem | Map item examined in the method
AID | Value for the ID in the specified map item

Function result

False if the specified map item is not a valid Pointer

Description

InternalGetId is a Boolean function used to get the ID value for the specified map item. AItem is a Pointer to the map item examined in the method. The return value is False if AItem has not been assigned (contains Nil), and no actions are performed in the method.

InternalGetId stores the ID value from AItem in the AID parameter. The number of bytes used for the ID is specified using a TMapIdType value in the constructor for the class.

InternalGetID is used primarily in the implementation of TBaseMapIterator and descendant classes.


TBaseMap.InternalSetData

Stores the data for the specified map item

Declaration

Source position: maps.pp line 107

protected function TBaseMap.InternalSetData(

  AItem: PMapItem;

  const AData

):Boolean;


TBaseMap.ReleaseData

Frees resources allocated for the data in the map item

Declaration

Source position: maps.pp line 108

protected procedure TBaseMap.ReleaseData(

  ADataPtr: Pointer

); virtual;


TBaseMapIterator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Specifies the interface used for map item iterators

Declaration

Source position: maps.pp line 119

type TBaseMapIterator = class(TObject)
protected
procedure InternalCreate(); | Initializes the iterator for specified the map
function InternalLocate(); | True when a matching map item is found
procedure Validate; | Validates the AVL Tree and the Current item in the iterator
procedure ValidateMap; | Ensures that the map for the iterator is still valid
property Current: PMapItem; [r] | Current map item for the iterator
public
destructor Destroy; override; | Destructor for the class instance
procedure First; | Moves to the first item in the linked list
procedure Next; | Moves to the next item in the linked list
procedure Previous; | Moves to the previous item in the linked list
procedure Last; | Moves to the last item in the linked list
function Valid; | Indicates if the map for the iterator has been freed
property BOM: Boolean; [r] | True when the iterator is at the beginning of the linked list for the map
property EOM: Boolean; [r] | True when the iterator is at the end of the linked list for the map
end;

Inheritance

TBaseMapIterator

Specifies the interface used for map item iterators
|

TObject


TBaseMapIterator
pt | ro | Current
 | ro | BOM
 | ro | EOM


 | ro | BOM (TBaseMapIterator)
pt | ro | Current (TBaseMapIterator)
 | ro | EOM (TBaseMapIterator)


TBaseMapIterator
pt | InternalCreate
pt | InternalLocate
pt | Validate
pt | ValidateMap
 | Destroy
 | First
 | Next
 | Previous
 | Last
 | Valid


pt | InternalCreate (TBaseMapIterator)
pt | InternalLocate (TBaseMapIterator)
 | Last (TBaseMapIterator)
 | Next (TBaseMapIterator)
 | Previous (TBaseMapIterator)
 | Valid (TBaseMapIterator)
pt | Validate (TBaseMapIterator)
pt | ValidateMap (TBaseMapIterator)


TBaseMapIterator


TBaseMapIterator.BOM

True when the iterator is at the beginning of the linked list for the map

Declaration

Source position: maps.pp line 144

public property TBaseMapIterator.BOM : Boolean
  read FBOM;

Description

BOM is a read-only Boolean property that indicates if the iterator is at the beginning of the linked list for the map, or the value in Current is Nil. The value in BOM is updated when navigation methods for the iterator are used, such as: First, Next, Previous, Last, and Locate.


TBaseMapIterator.Current

Current map item for the iterator

Declaration

Source position: maps.pp line 135

protected property TBaseMapIterator.Current : PMapItem
  read FCurrent;

Description

Current is a read-only PMapItem property that contains a Pointer to the current map item for the iterator. The value in Current is updated in navigation methods for the iterator, such as: First, Next, Previous, Last, and Locate. The value in Current may also be updated in methods like Validate and ValidateMap.


TBaseMapIterator.Destroy

Destructor for the class instance

Declaration

Source position: maps.pp line 137

public destructor TBaseMapIterator.Destroy; override;


TBaseMapIterator.EOM

True when the iterator is at the end of the linked list for the map

Declaration

Source position: maps.pp line 145

public property TBaseMapIterator.EOM : Boolean
  read FEOM;


TBaseMapIterator.First

Moves to the first item in the linked list

Declaration

Source position: maps.pp line 138

public procedure TBaseMapIterator.First;


TBaseMapIterator.InternalCreate

Initializes the iterator for specified the map

Declaration

Source position: maps.pp line 131

protected procedure TBaseMapIterator.InternalCreate(

  AMap: TBaseMap

);

Arguments

AMap

Map for the iterator class instance

Description

InternalCreate is a procedure used to initialize the iterator for specified the map. InternalCreate calls the inherited Create method to create the class instance, and sets values needed for internal members in the class. The following properties are updated in the iterator:

Current
Set to the first map item in the linked list
BOM
Set to True when Current is Nil
EOM
Set to True when Current is Nil

InternalCreate is called from the Create method for the class instance.


TBaseMapIterator.InternalLocate

True when a matching map item is found

Declaration

Source position: maps.pp line 132

protected function TBaseMapIterator.InternalLocate(

  const AId

):Boolean;

Arguments

AId

Map item to locate in the method

Function result

True when the map item exists in the map

Description

InternalLocate is a Boolean function used to locate the specified map item in the AVL Tree for the map. AID contains a pointer to the map item and its ID and Data values. The return value is True when a matching map item is found.

InternalLocate calls ValidateMap to ensure that the map is still valid for the iterator. An EInvalidOperation is raised in ValidateMap if the structure is not assigned (contains Nil).

InternalLocate compares the map item in AId to the nodes in the AVL Tree for the map. The internal Invalid flag is set to True if a map item in the linked list has been removed, or when the map has been freed. The values in the following properties are updated to reflect the position and state for the iterator:

BOM
True when the item in Current is Nil
EOM
True when the item in Current is Nil
Current
Node in the AVL Tree where the item is stored, or the value from Last when the item is not found

Do not call InternalLocate directly. It is called from descendant classes which implement the Locate method.


TBaseMapIterator.Last

Moves to the last item in the linked list

Declaration

Source position: maps.pp line 141

public procedure TBaseMapIterator.Last;


TBaseMapIterator.Next

Moves to the next item in the linked list

Declaration

Source position: maps.pp line 139

public procedure TBaseMapIterator.Next;


TBaseMapIterator.Previous

Moves to the previous item in the linked list

Declaration

Source position: maps.pp line 140

public procedure TBaseMapIterator.Previous;


TBaseMapIterator.Valid

Indicates if the map for the iterator has been freed

Declaration

Source position: maps.pp line 142

public function TBaseMapIterator.Valid: Boolean;

Function result

False when the map for the iterator has been freed

Description

Valid is a Boolean function used to determine if the map for the iterator is still valid. The return value is False when the map class instance has been freed (contains Nil).


TBaseMapIterator.Validate

Validates the AVL Tree and the Current item in the iterator

Declaration

Source position: maps.pp line 133

protected procedure TBaseMapIterator.Validate;

Description

Validate is a procedure used to validate the nodes in the AVL tree for the map, and the Current item for the iterator. Validate calls ValidateMap to check the nodes in the AVL Tree. It updates the values in Current and Invalid as the nodes are processed. Validate raises an EInvalidOperation exception if the value in Current is Nil, or the Invalid flag is set.

Errors

EInvalidOperation
Raised when Current is unassigned with the message 'No current item'.
EInvalidOperation
Raised when the Invalid flag is set with the message 'Current item removed'.


TBaseMapIterator.ValidateMap

Ensures that the map for the iterator is still valid

Declaration

Source position: maps.pp line 134

protected procedure TBaseMapIterator.ValidateMap;

Description

ValidateMap is a procedure used to ensure that the map class for the iterator is still valid. An EInvalidOperation exception is raised if the class instance is unassigned (contains Nil).

Errors

EInvalidOperation is raised if the map class instance is unassigned (contains Nil). Raised with the message 'Map destroyed'.


TMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a map for unique IDs to arbitrary data

Declaration

Source position: maps.pp line 150

type TMap = class(TBaseMap)
public
procedure Add(); | Adds a map item with the specified ID and Data values
function HasId(); | Checks for the specified ID is in the AVL Tree for the map
function GetData(); | Gets the Data for the map item with the specified ID
function GetDataPtr(); | Gets a Pointer to the data for the specified map item
function SetData(); | Stores the data for the specified map item
end;

Inheritance

TMap | Implements a map for unique IDs to arbitrary data
|
TBaseMap | Implements the base class for a map for unique IDs to arbitrary data
|
TPersistent,IFPObserved
|
TObject

Description

Implements a map for unique IDs to arbitrary data. The ID-to-Data mapping is stored in an Average Level Binary Tree for fast indexing. The map also maintains a linked list between the ordered items for fast iteration through its elements. The ID can be signed or unsigned, with a size of 1, 2, 4, 8, 16 or 32 bytes. The data can be of any (constant) size.

TMap extends the ancestor class to include public methods which Add map items, and read or write their arbitrary data values.

Author: Marc Weustink


TMap

TBaseMap

TPersistent

TObject


TMap
 | Add
 | HasId
 | GetData
 | GetDataPtr
 | SetData
TBaseMap
pt | InternalAdd
pt | InternalGetData
pt | InternalGetDataPtr
pt | InternalGetId
pt | InternalSetData
pt | ReleaseData
 | Create
 | Clear
 | Count
 | Delete
 | Destroy
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TMap)
 | AfterConstruction (TObject)
 | Assign (TPersistent)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TBaseMap)
 | Count (TBaseMap)
 | Create (TObject)
 | Create (TBaseMap)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | Delete (TBaseMap)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TBaseMap)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | FieldAddress (TObject)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | GetData (TMap)
 | GetDataPtr (TMap)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetNamePath (TPersistent)
 | GetOwner (TPersistent)
 | HasId (TMap)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | InstanceSize (TObject)
pt | InternalAdd (TBaseMap)
pt | InternalGetData (TBaseMap)
pt | InternalGetDataPtr (TBaseMap)
pt | InternalGetId (TBaseMap)
pt | InternalSetData (TBaseMap)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
pt | ReleaseData (TBaseMap)
 | SafeCallException (TObject)
 | SetData (TMap)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)


TMap.HasId

Checks for the specified ID is in the AVL Tree for the map

Declaration

Source position: maps.pp line 155

public function TMap.HasId(

  const AID

):Boolean;

Arguments

AID

Map item to locate in the AVL Tree

Function result

True when the AVL Tree contains a node for the specified map item

Description

HasId is a Boolean function used to locate the specified map item in the AVL Tree for the map. HasId calls the FindNode method to located the value in AId. The return value is True when FindNode returns a value other than Nil.


TMapID

Declaration

Source position: maps.pp line 53

type TMapID = record
case TMapIdType of
itu1: (
U1: Byte; | Unsigned Byte value for the ID (1 Byte)
);
its1: (
S1: ShortInt; |
);
itu2: (
U2: Word; | Unsigned Word value for the ID (2 Bytes)
);
its2: (
S2: SmallInt; | Signed SmallInt value for the ID (2 Bytes)
);
itu4: (
U4: LongWord; | Unsigned LongWord value for the ID (4 Bytes)
);
its4: (
S4: LongInt; | Signed LongInt value for the ID (4 Bytes)
);
itu8: (
U8: QWord; | Unsigned QWord value for the ID (8 Bytes)
);
its8: (
S8: Int64; | Signed Int64 value for the ID (8 Bytes)
);
itu16: (
U16H: QWord; | Unsigned QWords (Low and High) (16 Bytes) (with Endian byte order)
U16L: QWord; |
);
its16: (
S16H: Int64; |
S16L: QWord; | Signed QWord (Low) and Int64 (High) (16 Bytes) (with Endian byte order)
);
itu32: (
U32HH: QWord; | Unsigned QWords (LL, LH, HL, HH) (32 Bytes) (with Endian byte order)
U32HL: QWord; | Unsigned QWords (LL, LH, HL, HH) (32 Bytes) (with Endian byte order)
U32LH: QWord; | Unsigned QWords (LL, LH, HL, HH) (32 Bytes) (with Endian byte order)
U32LL: QWord; | Unsigned QWords (LL, LH, HL, HH) (32 Bytes) (with Endian byte order)
);
its32: (
S32HH: Int64; | Signed QWords (LL, LH, HL) and signed Int64 (HH) (with Endian byte order)
S32HL: QWord; | Signed QWords (LL, LH, HL) and signed Int64 (HH) (with Endian byte order)
S32LH: QWord; | Signed QWords (LL, LH, HL) and signed Int64 (HH) (with Endian byte order)
S32LL: QWord; | Signed QWords (LL, LH, HL) and signed Int64 (HH) (with Endian byte order)
);
end;

Description

TMapID is a record type used to provide access to the byte values in the ID for a map association. Members are provided in TMapID to represent each byte in the signed or unsigned value used in the ID.

Values in the TMapIdType enumeration indicate which members in the variable structure are needed for the ID value. In other words, assigning an unsigned Byte value to the ID yields access to the U1 member. Assigning a signed ShortInt value to ID, yields access to the S1 member. Et. al.

The implementation for 16- and 32-byte ID values is platform- or OS-specific, and takes into account the Endian byte order for the values.

TMapID is the type used for the ID member in TMapItem.


TMapIdType

Identifies the data type used for map IDs

Declaration

Source position: maps.pp line 32

type TMapIdType = (
itu1, | 1 byte unsigned value (Byte)
its1, | 1 byte signed value (ShortInt)
itu2, | 2 byte unsigned value (Word)
its2, | 2 byte signed value (SmallInt)
itu4, | 4 byte unsigned value (LongWord)
its4, | 4 byte signed value (LongInt)
itu8, | 8 byte unsigned value (QWord)
its8, | 8 byte signed value (Int64)
itu16, | 16 byte unsigned value (Low and High QWords)
its16, | 16 byte signed value (Low QWord and High Int64)
itu32, | 32 byte unsigned value (4 QWord values)
its32 | 32 byte signed value (3 QWord values and Int64)
);

Description

TMapIdType is an enumeration type with values that identify the native data type used in map ID values. TMapIdType is used in TMapID and as an argument in the TBaseMap.Create method.

See also

TMapID |
TBaseMap.Create | Constructor for the class instance


TMapItem

Represents the ID and order of items in the linked list for the map

Declaration

Source position: maps.pp line 76

type TMapItem = packed record
Link: TMapLink; | Provides navigation to the previous and next map items in the linked list
ID: TMapID; | Represents the ID for the map item
end;

Description

TMapItem is a packed record type with members that represent the ID in the map, and navigation for the linked list of items. Data for the map item is written immediately following the packed record structure


TMapIterator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an iterator for items in a map

Declaration

Source position: maps.pp line 163

type TMapIterator = class(TBaseMapIterator)
public
constructor Create(); | Constructor for the class instance
function DataPtr; | Gets the Pointer to the Data in a map item
procedure GetData(); | Gets the Data for a map item
procedure GetID(); | Gets the ID for a map item
function Locate(); | Locates a map item with the specified ID
procedure SetData(); | Sets the Data for a map item
end;

Inheritance

TMapIterator | Implements an iterator for items in a map
|
TBaseMapIterator | Specifies the interface used for map item iterators
|
TObject

Description

TMapIterator is a TBaseMapIterator descendant that implements an iterator for items in a map. TMapIterator provides methods to initialize the iterator for a map. It also provides methods to read the IDs for map items, and to read and write the Data in map items. TMapIterator also provides an implementation of the Locate method.


TMapIterator
TBaseMapIterator
pt | ro | Current
 | ro | BOM
 | ro | EOM


TMapIterator
 | Create
 | DataPtr
 | GetData
 | GetID
 | Locate
 | SetData
TBaseMapIterator
pt | InternalCreate
pt | InternalLocate
pt | Validate
pt | ValidateMap
 | Destroy
 | First
 | Next
 | Previous
 | Last
 | Valid


 | Create (TMapIterator)
 | DataPtr (TMapIterator)
 | Destroy (TBaseMapIterator)
 | First (TBaseMapIterator)
 | GetData (TMapIterator)
 | GetID (TMapIterator)
pt | InternalCreate (TBaseMapIterator)
pt | InternalLocate (TBaseMapIterator)
 | Last (TBaseMapIterator)
 | Locate (TMapIterator)
 | Next (TBaseMapIterator)
 | Previous (TBaseMapIterator)
 | SetData (TMapIterator)
 | Valid (TBaseMapIterator)
pt | Validate (TBaseMapIterator)
pt | ValidateMap (TBaseMapIterator)


TMapIterator

TBaseMapIterator


TTypedMap

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a map with support for reference counted Type Information in the Data

Declaration

Source position: maps.pp line 177

type TTypedMap = class(TBaseMap)
protected
function InternalSetData(); |
procedure ReleaseData(); override; |
public
procedure Add(); |
constructor Create(); | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
function HasId(); |
function GetData(); | Gets the Data for the specified map item
function GetDataPtr(); | Gets a Pointer to the Data for the specified map item
function SetData(); | Stores the Data for the specified map item
end;

Inheritance

TTypedMap | Implements a map with support for reference counted Type Information in the Data
|
TBaseMap | Implements the base class for a map for unique IDs to arbitrary data
|
TPersistent,IFPObserved
|
TObject

Description

TTypedMap is a TBaseMap map descendant that implements a map with support for reference counted Type Information in the Data for map items.


TTypedMap

TBaseMap

TPersistent

TObject


TTypedMap
pt | InternalSetData
pt | ReleaseData
 | Add
 | Create
 | Destroy
 | HasId
 | GetData
 | GetDataPtr
 | SetData
TBaseMap
pt | InternalAdd
pt | InternalGetData
pt | InternalGetDataPtr
pt | InternalGetId
pt | InternalSetData
pt | ReleaseData
 | Create
 | Clear
 | Count
 | Delete
 | Destroy
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TTypedMap)
 | AfterConstruction (TObject)
 | Assign (TPersistent)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TBaseMap)
 | Count (TBaseMap)
 | Create (TObject)
 | Create (TBaseMap)
 | Create (TTypedMap)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | Delete (TBaseMap)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TBaseMap)
 | Destroy (TTypedMap)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | Equals (TObject)
 | FieldAddress (TObject)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | GetData (TTypedMap)
 | GetDataPtr (TTypedMap)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetNamePath (TPersistent)
 | GetOwner (TPersistent)
 | HasId (TTypedMap)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | InstanceSize (TObject)
pt | InternalAdd (TBaseMap)
pt | InternalGetData (TBaseMap)
pt | InternalGetDataPtr (TBaseMap)
pt | InternalGetId (TBaseMap)
pt | InternalSetData (TBaseMap)
pt | InternalSetData (TTypedMap)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | newinstance (TObject)
pt | ReleaseData (TBaseMap)
pt | ReleaseData (TTypedMap)
 | SafeCallException (TObject)
 | SetData (TTypedMap)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)


TTypedMap.Create

Constructor for the class instance

Declaration

Source position: maps.pp line 185

public constructor TTypedMap.Create(

  AIdType: TMapIdType;

  ATypeInfo: PTypeInfo

);


TTypedMapIterator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an iterator for items in a map

Declaration

Source position: maps.pp line 195

type TTypedMapIterator = class(TBaseMapIterator)
public
constructor Create(); | Constructor for the class instance
procedure GetData(); | Gets the Data for the map item
procedure GetID(); | Gets the ID for the map item
function Locate(); | Locates a map item with the specified ID
procedure SetData(); | Stores the Data for the map item
end;

Inheritance

TTypedMapIterator | Implements an iterator for items in a map
|
TBaseMapIterator | Specifies the interface used for map item iterators
|
TObject

Description

TTypedMapIterator is a TMapIterator descendant that implements an iterator for map items with reference counted Type Information for their Data. TTypedMapIterator provides methods to initialize the iterator for a map. It also provides methods to read the IDs for map items, and to read and write the Data in map items. TTypedMapIterator also provides an implementation of the Locate method.


TTypedMapIterator
TBaseMapIterator
pt | ro | Current
 | ro | BOM
 | ro | EOM


TTypedMapIterator
 | Create
 | GetData
 | GetID
 | Locate
 | SetData
TBaseMapIterator
pt | InternalCreate
pt | InternalLocate
pt | Validate
pt | ValidateMap
 | Destroy
 | First
 | Next
 | Previous
 | Last
 | Valid


 | Create (TTypedMapIterator)
 | Destroy (TBaseMapIterator)
 | First (TBaseMapIterator)
 | GetData (TTypedMapIterator)
 | GetID (TTypedMapIterator)
pt | InternalCreate (TBaseMapIterator)
pt | InternalLocate (TBaseMapIterator)
 | Last (TBaseMapIterator)
 | Locate (TTypedMapIterator)
 | Next (TBaseMapIterator)
 | Previous (TBaseMapIterator)
 | SetData (TTypedMapIterator)
 | Valid (TBaseMapIterator)
pt | Validate (TBaseMapIterator)
pt | ValidateMap (TBaseMapIterator)


TTypedMapIterator

TBaseMapIterator


TTypedMapIterator.Create

Constructor for the class instance

Declaration

Source position: maps.pp line 199

public constructor TTypedMapIterator.Create(

  AMap: TTypedMap

);


TTypedMapIterator.GetData

Gets the Data for the map item

Declaration

Source position: maps.pp line 200

public procedure TTypedMapIterator.GetData(

  out AData

);


TTypedMapIterator.GetID

Gets the ID for the map item

Declaration

Source position: maps.pp line 201

public procedure TTypedMapIterator.GetID(

  out AID

);


TTypedMapIterator.Locate

Locates a map item with the specified ID

Declaration

Source position: maps.pp line 202

public function TTypedMapIterator.Locate(

  const AId

):Boolean;


TTypedMapIterator.SetData

Stores the Data for the map item

Declaration

Source position: maps.pp line 203

public procedure TTypedMapIterator.SetData(

  const AData

);


TMask

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

The TMask class represents a mask.

Declaration

Source position: masks.pas line 43

type TMask = class
public
constructor Create(); deprecated ; | Creates new mask for matching.
destructor Destroy; override; |
function Matches(); | Test if a filename matches the mask.
function MatchesWindowsMask(); | Test if a filename matches the mask. Implements some special rules for a Windows© filesystem comparison.
end;

Inheritance

TMask

The TMask class represents a mask.
|

TObject

Description

A mask is a compare pattern build of wildcards, sets and literal characters.

Each literal character must match a single character in the string. Case sensitivity depends on the option moCaseSensitive.
A set starts with "[" and ends with "]". Each element of a set is a literal character and or a range. A range is defined as first-last literal charcter. One character of a set must match a single character in the string. A set [!...] matches if the character is not in the set. The option moDisableSets disables set processing.
Wildcards are * and ?. An asterisk matches any number of characters. A question mark matches a single character.

'Hello world' matches to the mask 'H?ll[xoy] w*d'.


TMask


TMask
 | Create
 | Destroy
 | Matches
 | MatchesWindowsMask


Create (TMask)

Destroy (TMask)

Matches (TMask)

MatchesWindowsMask (TMask)


TMask.Create

Creates new mask for matching.

Declaration

Source position: masks.pas line 51

public constructor TMask.Create(

  const AValue: string;

  const CaseSensitive: Boolean

);

constructor TMask.Create(

  const AValue: string;

  const AOptions: TMaskOptions = []

);

Description

Creates new mask for matching.


TMask.Destroy

Declaration

Source position: masks.pas line 53

public destructor TMask.Destroy; override;


TMask.Matches

Test if a filename matches the mask.

Declaration

Source position: masks.pas line 55

public function TMask.Matches(

  const AFileName: string

):Boolean;


TMask.MatchesWindowsMask

Test if a filename matches the mask. Implements some special rules for a Windows© filesystem comparison.

Declaration

Source position: masks.pas line 56

public function TMask.MatchesWindowsMask(

  const AFileName: string

):Boolean;


TMaskChar

Declaration

Source position: masks.pas line 28

type TMaskChar = record

  case CharType: TMaskCharType of

    mcChar: (

        CharValue: TUtf8Char;

      );

    mcCharSet: (

        Negative: Boolean;

        SetValue: PCharSet;

      );

    mcAnyChar, mcAnyText: (

      );

end;


TMaskCharType

Declaration

Source position: masks.pas line 19

type TMaskCharType = (

  mcChar,

  mcCharSet,

  mcAnyChar,

  mcAnyText

);


TMaskList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

The TMaskList class represents a list of masks.

Declaration

Source position: masks.pas line 68

type TMaskList = class
public
constructor Create(); deprecated ; | Creates new list of masks from passed value, each item is separated by the parameter Separator.
destructor Destroy; override; |
function Matches(); | Test if the file name matches at least one of mask list items.
function MatchesWindowsMask(); | Test if the file name matches at least one of mask list items. Implements some special rules for a Windows© filesystem comparison.
property Count: Integer; [r] | The count of mask list items.
property Items []: TMask; [r] | The items of mask list.
end;

Inheritance

TMaskList

The TMaskList class represents a list of masks.
|

TObject


TMaskList
 | ro | Count
 | ro | Items


ro | Count (TMaskList)
ro | Items (TMaskList)


TMaskList
 | Create
 | Destroy
 | Matches
 | MatchesWindowsMask


Create (TMaskList)

Destroy (TMaskList)

Matches (TMaskList)

MatchesWindowsMask (TMaskList)


TMaskList


TMaskList.Count

The count of mask list items.

Declaration

Source position: masks.pas line 81

public property TMaskList.Count : Integer
  read GetCount;


TMaskList.Create

Creates new list of masks from passed value, each item is separated by the parameter Separator.

Declaration

Source position: masks.pas line 74

public constructor TMaskList.Create(

  const AValue: string;

  ASeparator: Char;

  const CaseSensitive: Boolean

);

constructor TMaskList.Create(

  const AValue: string;

  ASeparator: Char = ';';

  const AOptions: TMaskOptions = []

);


TMaskList.Destroy

Declaration

Source position: masks.pas line 76

public destructor TMaskList.Destroy; override;


TMaskList.Items

The items of mask list.

Declaration

Source position: masks.pas line 82

public property TMaskList.Items[Index: Integer] : TMask
  read GetItem;


TMaskList.Matches

Test if the file name matches at least one of mask list items.

Declaration

Source position: masks.pas line 78

public function TMaskList.Matches(

  const AFileName: string

):Boolean;


TMaskList.MatchesWindowsMask

Test if the file name matches at least one of mask list items. Implements some special rules for a Windows© filesystem comparison.

Declaration

Source position: masks.pas line 79

public function TMaskList.MatchesWindowsMask(

  const AFileName: string

):Boolean;


TParseStringList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

The TParseStringList class is used to parse text into the list of strings.

Declaration

Source position: masks.pas line 61

type TParseStringList = class(TStringList)

public

  constructor Create();

Creates new string list by parsing passed text according to separators.

end;

Inheritance

TParseStringList

The TParseStringList class is used to parse text into the list of strings.
|

TStringList
|

TStrings
|

TPersistent,IFPObserved
|

TObject


TParseStringList
TStringList
 |  | Duplicates
 |  | Sorted
 |  | CaseSensitive
 |  | OwnsObjects
 |  | SortStyle
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


TParseStringList
 | Create
TStringList
 | ExchangeItemsInt
 | GetSorted
 | Grow
 | InternalClear
 | QuickSort
 | SetSorted
 | SetCaseSensitive
 | SetSortStyle
 | ExchangeItems
 | Changed
 | Changing
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | Put
 | PutObject
 | SetCapacity
 | SetUpdateState
 | InsertItem
 | DoCompareText
 | CompareStrings
 | Destroy
 | Add
 | Clear
 | Delete
 | Exchange
 | Find
 | IndexOf
 | Insert
 | Sort
 | CustomSort
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


Add (TStrings)

Add (TStringList)

AddObject (TStrings)

AddStrings (TStrings)

AddText (TStrings)

AfterConstruction (TObject)

Append (TStrings)

Assign (TPersistent)

Assign (TStrings)

AssignError (TPersistent)

AssignTo (TPersistent)

BeforeDestruction (TObject)

BeginUpdate (TStrings)

Changed (TStringList)

Changing (TStringList)

CheckSpecialChars (TStrings)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

Clear (TStrings)

Clear (TStringList)

CompareStrings (TStringList)

Create (TObject)

Create (TParseStringList)

CustomSort (TStringList)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

DefineProperties (TPersistent)

DefineProperties (TStrings)

Delete (TStrings)

Delete (TStringList)

Destroy (TObject)

Destroy (TPersistent)

Destroy (TStrings)

Destroy (TStringList)

Dispatch (TObject)

DispatchStr (TObject)

DoCompareText (TStrings)

DoCompareText (TStringList)

DoSetTextStr (TStrings)

EndUpdate (TStrings)

Equals (TObject)

Equals (TStrings)

Error (TStrings)

Exchange (TStrings)

Exchange (TStringList)

ExchangeItems (TStringList)

ExchangeItemsInt (TStringList)

ExtractName (TStrings)

FieldAddress (TObject)

Find (TStringList)

FPOAttachObserver (TPersistent)

FPODetachObserver (TPersistent)

FPONotifyObservers (TPersistent)

Free (TObject)

FreeInstance (TObject)

Get (TStrings)

Get (TStringList)

GetCapacity (TStrings)

GetCapacity (TStringList)

GetCommaText (TStrings)

GetCount (TStrings)

GetCount (TStringList)

GetDelimitedText (TStrings)

GetDelimiter (TStrings)

GetEnumerator (TStrings)

GetHashCode (TObject)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

GetLBS (TStrings)

GetLineBreak (TStrings)

GetName (TStrings)

GetNamePath (TPersistent)

GetNameValue (TStrings)

GetNameValueSeparator (TStrings)

GetNextLine (TStrings)

GetNextLinebreak (TStrings)

GetObject (TStrings)

GetObject (TStringList)

GetOwner (TPersistent)

GetQuoteChar (TStrings)

GetSkipLastLineBreak (TStrings)

GetSorted (TStringList)

GetText (TStrings)

GetTextStr (TStrings)

GetValue (TStrings)

GetValueFromIndex (TStrings)

Grow (TStringList)

IndexOf (TStrings)

IndexOf (TStringList)

IndexOfName (TStrings)

IndexOfObject (TStrings)

InheritsFrom (TObject)

InitInstance (TObject)

Insert (TStrings)

Insert (TStringList)

InsertItem (TStringList)

InsertObject (TStrings)

InstanceSize (TObject)

InternalClear (TStringList)

LoadFromFile (TStrings)

LoadFromStream (TStrings)

MethodAddress (TObject)

MethodName (TObject)

Move (TStrings)

newinstance (TObject)

Put (TStrings)

Put (TStringList)

PutObject (TStrings)

PutObject (TStringList)

QuickSort (TStringList)

ReadData (TStrings)

SafeCallException (TObject)

SaveToFile (TStrings)

SaveToStream (TStrings)

SetCapacity (TStrings)

SetCapacity (TStringList)

SetCaseSensitive (TStringList)

SetCommaText (TStrings)

SetDelimitedText (TStrings)

SetDelimiter (TStrings)

SetLBS (TStrings)

SetLineBreak (TStrings)

SetNameValueSeparator (TStrings)

SetQuoteChar (TStrings)

SetSkipLastLineBreak (TStrings)

SetSorted (TStringList)

SetSortStyle (TStringList)

SetStringsAdapter (TStrings)

SetText (TStrings)

SetTextStr (TStrings)

SetUpdateState (TStrings)

SetUpdateState (TStringList)

SetValue (TStrings)

SetValueFromIndex (TStrings)

Sort (TStringList)

StringMessageTable (TObject)

ToString (TObject)

UnitName (TObject)

WriteData (TStrings)


TParseStringList
TStringList
 | OnChange
 | OnChanging
TStrings
TPersistent
TObject


TParseStringList.Create

Creates new string list by parsing passed text according to separators.

Declaration

Source position: masks.pas line 63

public constructor TParseStringList.Create(

  const AText: string;

  const ASeparators: string

);


TObjectArray

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implement an array of items with their associated objects

Declaration

Source position: objectlists.pas line 51

type generic TObjectArray <TItem,TObj>= class
protected
function Get(); | Gets the value for the Items property
procedure Put(); | Sets the value for the Items property
function GetObject(); | Gets the value for the Objects property
procedure PutObject(); | Sets the value for the Objects property
procedure SetCapacity(); | Sets the value for the Capacity property
procedure SetCount(); | Sets the value for the Count property
procedure Grow; | Increases the storage Capacity for the class instance
procedure Shrink; | Decreases the Capacity and allocated storage for the class instance
public
destructor Destroy; override;
function Add(); | Adds the specified item
function AddObject(); | Adds the specified item and its associated object to the storage in the class instance
procedure Clear; virtual; | Removes all item/object associations stored in the List
procedure Delete(); | Deletes an item/object association stored at the specified position in the List
procedure Exchange(); | Swaps the item/object associations at the specified positions in List
function First; | Gets the first TItem class instance in the List, or Nil when empty
function IndexOf(); | Gets the ordinal position in List where the specified TItem instance is stored
procedure Insert(); | Inserts a new association at the specified position in List
procedure InsertObject(); | Inserts an item/object association at the specified position in the List
function Last; | Gets the last TItem instance in the List, or Nil when empty
procedure Move(); | Relocates the association stored at the position in CurIndex to the position in NewIndex
procedure Assign(); | Assigns TItem class instances specified in SrcList to the List storage in the class
function Remove(); | Removes the association with the specified TItem class instance
procedure Pack; | Removes all associations where the Item class instance is unassigned (contains Nil)
property Capacity: Integer; [rw] | Specifies the number of associations that can be stored in the List
property Count: Integer; [rw] | Number of item/object associations currently stored in the List
property Items []: TItem; default; [rw] | Provides indexed access to the TItem class instances stored in the List
property Objects []: TObj; [rw] | Provides indexed access to the TObj class instances stored in the List
property List: P2Pointer; [r] | Provides access to the list which implements the storage for the item/object associations in the class instance
end;

Inheritance

TObjectArray

Implement an array of items with their associated objects

|

TObject

Description

TObjectArray is a generic type used to implement an array of items and their associated objects. TObjectArray allows the association to be defined using the TItem and TObj class types. Internally, it uses a list of records with pointers to the Items and Objects stored in the class. Properties and methods are provided to maintain and access the entries in the class instance, and the allocated storage for the array type.

See also

T2Pointer |
P2Pointer | Pointer to the T2Pointer record type


TObjectArray
 |  | Capacity
 |  | Count
 |  | Items
 |  | Objects
 | ro | List


ro | List (TObjectArray)
 | Objects (TObjectArray)


TObjectArray
pt | Get
pt | Put
pt | GetObject
pt | PutObject
pt | SetCapacity
pt | SetCount
pt | Grow
pt | Shrink
 | Destroy
 | Add
 | AddObject
 | Clear
 | Delete
 | Exchange
 | First
 | IndexOf
 | Insert
 | InsertObject
 | Last
 | Move
 | Assign
 | Remove
 | Pack


 | Add (TObjectArray)
 | AddObject (TObjectArray)
 | Assign (TObjectArray)
 | Clear (TObjectArray)
 | Delete (TObjectArray)
 | Destroy (TObjectArray)
 | Exchange (TObjectArray)
 | First (TObjectArray)
pt | Get (TObjectArray)
pt | GetObject (TObjectArray)
pt | Grow (TObjectArray)
 | IndexOf (TObjectArray)
 | Insert (TObjectArray)
 | InsertObject (TObjectArray)
 | Last (TObjectArray)
 | Move (TObjectArray)
 | Pack (TObjectArray)
pt | Put (TObjectArray)
pt | PutObject (TObjectArray)
 | Remove (TObjectArray)
pt | SetCapacity (TObjectArray)
pt | SetCount (TObjectArray)
pt | Shrink (TObjectArray)


TObjectArray


TObjectArray.Add

Adds the specified item

Declaration

Source position: objectlists.pas line 67

public function TObjectArray.Add(

  Item: TItem

):Integer;

Arguments

Item

Item added in the method

Function result

Ordinal position in storage when the item was added

Description

Add is an Integer function used to add the item specified in Item to the storage for the class instance. Add calls the AddObject method to store the value in Item. The associated object is unassigned (Nil) in the method. Use AddObject to store an Item and its associated object.

The return value contains the ordinal position in List where the Item was stored.

See also

TObjectArray.AddObject | Adds the specified item and its associated object to the storage in the class instance
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Count | Number of item/object associations currently stored in the List


TObjectArray.AddObject

Adds the specified item and its associated object to the storage in the class instance

Declaration

Source position: objectlists.pas line 68

public function TObjectArray.AddObject(

  Item: TItem;

  Associated: TObj

):Integer;

Arguments

Item | Item stored in the association
Associated | Object stored in the association

Function result

Ordinal position where the association for the item and the object was stored

Description

AddObject is an Integer function which adds the specified item and its associated object to the storage in the class instance. AddObject calls the Grow method to increase storage in the class instance when Count reaches the value in Capacity.

AddObject uses the List property to store the values in Item and Associated to the corresponding properties at the position in Count. The value in Count is incremented prior to exiting from the method.

Use Add to store an Item with an unassigned associated object.

Use methods like Delete, Remove, and Clear to remove one or all associations stored in List.

Use the indexed Items and Objects properties to access values stored in an association at a specific position.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Count | Number of item/object associations currently stored in the List
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.Add | Adds the specified item
TObjectArray.InsertObject | Inserts an item/object association at the specified position in the List
TObjectArray.Delete | Deletes an item/object association stored at the specified position in the List
TObjectArray.Remove | Removes the association with the specified TItem class instance
TObjectArray.Clear | Removes all item/object associations stored in the List
TObjectArray.Items | Provides indexed access to the TItem class instances stored in the List
TObjectArray.Objects | Provides indexed access to the TObj class instances stored in the List


TObjectArray.Assign

Assigns TItem class instances specified in SrcList to the List storage in the class

Declaration

Source position: objectlists.pas line 78

public procedure TObjectArray.Assign(

  SrcList: TList

);

Arguments

SrcList

TList with the TItem class instances stored in the method

Description

Assign is a procedure used to stored TItem class instances in SrcList to the List storage for the class. Assign calls the Clear method to remove all existing item/object associations stored in List.

Assign sets the the value in Count to the the length in SrcList. The method iterates over the values in the TList instance, and stores the TItem instances in the corresponding positions in List. The associated object for all entries in List is unassigned (Nil).

See also

TObjectArray.Clear | Removes all item/object associations stored in the List
TObjectArray.Count | Number of item/object associations currently stored in the List
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
T2Pointer |


TObjectArray.Capacity

Specifies the number of associations that can be stored in the List

Declaration

Source position: objectlists.pas line 81

public property TObjectArray.Capacity : Integer
  read FCapacity
  write SetCapacity;

Description

Capacity is an Integer property which specifies the number of item/object associations that can be stored in the List. Changing the value in Capacity causes the memory in List to be reallocated to accommodate the new capacity value. The value in Count may also be affected when the value in Capacity is reduced.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Count | Number of item/object associations currently stored in the List
T2Pointer |


TObjectArray.Clear

Removes all item/object associations stored in the List

Declaration

Source position: objectlists.pas line 69

public procedure TObjectArray.Clear; virtual;

Description

Clear is a procedure used to remove all item/object associations stored in the List. Clear sets the values in Count and Capacity to zero (0), and calls ReallocMem to set the allocated memory size in List to zero (0).

Use Delete or Remove to delete a single association by its position or item content.

See also

TObjectArray.Count | Number of item/object associations currently stored in the List
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Delete | Deletes an item/object association stored at the specified position in the List
TObjectArray.Remove | Removes the association with the specified TItem class instance


TObjectArray.Count

Number of item/object associations currently stored in the List

Declaration

Source position: objectlists.pas line 82

public property TObjectArray.Count : Integer
  read FCount
  write SetCount;

Description

Count is an Integer property which indicates the number of item/object associations currently stored in the List. Changing the value in Count causes Capacity to be updated when Count exceeds the value in Capacity.

The value in Count is maintained in method which add or remove item/object associations in List, such as: Add, AddObject, Insert, InsertObject, Delete, Remove, Clear and Pack.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.Add | Adds the specified item
TObjectArray.AddObject | Adds the specified item and its associated object to the storage in the class instance
TObjectArray.Insert | Inserts a new association at the specified position in List
TObjectArray.InsertObject | Inserts an item/object association at the specified position in the List
TObjectArray.Delete | Deletes an item/object association stored at the specified position in the List
TObjectArray.Remove | Removes the association with the specified TItem class instance
TObjectArray.Clear | Removes all item/object associations stored in the List
TObjectArray.Pack | Removes all associations where the Item class instance is unassigned (contains Nil)


TObjectArray.Delete

Deletes an item/object association stored at the specified position in the List

Declaration

Source position: objectlists.pas line 70

public procedure TObjectArray.Delete(

  Index: Integer

);

Arguments

Index

Ordinal position in List for the association deleted in the method

Description

Delete is a procedure used to deletes an item/object association stored at the specified position in the List. When List has a length greater than the value in Index+1, the Move routine in the System.pp unit is called to relocate any associations that occur after the position requested.

Delete decrements the value in Count. The Shrink method is called when Capacity is larger than four (4) times the new value in Count.

Use Remove to delete an association with a specific TItem class instance.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.Count | Number of item/object associations currently stored in the List
TObjectArray.Shrink | Decreases the Capacity and allocated storage for the class instance
TObjectArray.Remove | Removes the association with the specified TItem class instance


TObjectArray.Destroy

Declaration

Source position: objectlists.pas line 66

public destructor TObjectArray.Destroy; override;


TObjectArray.Exchange

Swaps the item/object associations at the specified positions in List

Declaration

Source position: objectlists.pas line 71

public procedure TObjectArray.Exchange(

  Index1: Integer;

  Index2: Integer

);

Arguments

Index1 | Ordinal position for the first item/object association
Index2 | Ordinal position for the second item/object association

Description

Exchange is a procedure used to swap the item/object associations in the List at the ordinal positions specified in Index1 and Index2.

Use Move to change the location for an item/object association, and reorder the List as needed.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Move | Relocates the association stored at the position in CurIndex to the position in NewIndex
T2Pointer |


TObjectArray.First

Gets the first TItem class instance in the List, or Nil when empty

Declaration

Source position: objectlists.pas line 72

public function TObjectArray.First: TItem;

Function result

TItem class instance at the first position in the List

Description

First is a TItem function used to get the class instance stored in the first association. First uses the List to access the T2Pointer stored in element zero (0) for the array.

The return value is the Item in the association cast to the TItem class type used for the generic class specialization. When Count contains zero (0), the return value is Nil.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Count | Number of item/object associations currently stored in the List
T2Pointer |


TObjectArray.Get

Gets the value for the Items property

Declaration

Source position: objectlists.pas line 57

protected function TObjectArray.Get(

  Index: Integer

):TItem;

Arguments

Index

Ordinal position for the requested item

Function result

TItem value for the property

See also

TObjectArray.Items | Provides indexed access to the TItem class instances stored in the List
TObjectArray.Put | Sets the value for the Items property


TObjectArray.GetObject

Gets the value for the Objects property

Declaration

Source position: objectlists.pas line 59

protected function TObjectArray.GetObject(

  Index: Integer

):TObj;

Arguments

Index

Ordinal position for the requested object

Function result

TObj value for the property

See also

TObjectArray.Objects | Provides indexed access to the TObj class instances stored in the List
TObjectArray.PutObject | Sets the value for the Objects property


TObjectArray.Grow

Increases the storage Capacity for the class instance

Declaration

Source position: objectlists.pas line 63

protected procedure TObjectArray.Grow;

Description

Grow increases the storage Capacity (number of item/object associations) for the class instance. Grow ensures that Capacity has a minimum of size of five (5). Otherwise, the number of associations is always increased by doubling the value in the Capacity property, which in turn, reallocates the storage space needed for the List.

Grow is used in the implementation of the AddObject and InsertObject methods. To avoid rampant memory consumption in large lists, caused by doubling the value in Capacity, explicitly set the value in Capacity to a reasonable size prior to calling the Add, AddObject, Insert, or InsertObject methods.

See also

TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Add | Adds the specified item
TObjectArray.AddObject | Adds the specified item and its associated object to the storage in the class instance
TObjectArray.Insert | Inserts a new association at the specified position in List
TObjectArray.InsertObject | Inserts an item/object association at the specified position in the List


TObjectArray.IndexOf

Gets the ordinal position in List where the specified TItem instance is stored

Declaration

Source position: objectlists.pas line 73

public function TObjectArray.IndexOf(

  Item: TItem

):Integer;

Arguments

Item

TItem instance to locate in the List of associations

Function result

Ordinal position for the requested TItem instance

Description

IndexOf is an Integer function used to get the ordinal position in List where the TItem instance specified in Item is stored. IndexOf iterates over the storage in List in reverse order.

The return value contains the ordinal position where the T2Pointer.Item member and the Item argument contain the same class instance. The return value is -1 when Item is not located in the associations stored in List.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
T2Pointer |


TObjectArray.Insert

Inserts a new association at the specified position in List

Declaration

Source position: objectlists.pas line 74

public procedure TObjectArray.Insert(

  Index: Integer;

  Item: TItem

);

Arguments

Index | Ordinal position where the association is inserted
Item | TItem instance used in the inserted association

Description

Insert is a procedure used to insert a new association at the specified position in List. Item contains the TItem class instance for the association. The object for the association is always set to Nil in the method.

Use InsertObject to insert a new association using both an item and an object.

Use Add or AddObject to append a new item/object association.

See also

TObjectArray.InsertObject | Inserts an item/object association at the specified position in the List
TObjectArray.AddObject | Adds the specified item and its associated object to the storage in the class instance
TObjectArray.Add | Adds the specified item
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
T2Pointer |


TObjectArray.InsertObject

Inserts an item/object association at the specified position in the List

Declaration

Source position: objectlists.pas line 75

public procedure TObjectArray.InsertObject(

  Index: Integer;

  Item: TItem;

  Associated: TObj

);

Arguments

Index | Ordinal position in List where the association is inserted
Item | TItem instance for the new association
Associated | TObj instance for the association


TObjectArray.Items

Provides indexed access to the TItem class instances stored in the List

Declaration

Source position: objectlists.pas line 83

public property TObjectArray.Items[Index: Integer] : TItem
  read Get
  write Put;
  default;

Description

Items is an indexed property which provides access to the TItem class instances stored in the List.

See also

TObjectArray.Get | Gets the value for the Items property
TObjectArray.Put | Sets the value for the Items property
TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance


TObjectArray.Last

Gets the last TItem instance in the List, or Nil when empty

Declaration

Source position: objectlists.pas line 76

public function TObjectArray.Last: TItem;

Function result

TItem instance stored at the last position in List

Description

Last is a TItem function used to get the last item instance in the allocated storage in List. Last uses the value in Count to determine the position for the last item/object association. When Count is zero (0), the List is empty and the return value is set to Nil.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.Count | Number of item/object associations currently stored in the List
T2Pointer |


TObjectArray.List

Provides access to the list which implements the storage for the item/object associations in the class instance

Declaration

Source position: objectlists.pas line 85

public property TObjectArray.List : P2Pointer
  read FList;

Description

List is a read-only P2Pointer property which provides access to the list which implements the storage for the class instance. It is organized as pointers to a sequence of T2Pointer records. To access the record, and its Item and Object properties, use a subscript in the range 0..Count-1. For example:

// type TMyObjStrsArr = specialize TObjectArray<TMyObject, TStrings>;
// var aObjArr: TMyObjStrsArr;
// var lFound: Boolean;

lFound := False;
for iPos := 0 to aObjArr.Count-1 do
begin
   lFound :=  (aObjArr.List[iPos].Item.Name = 'Foo');
   if lFound then break;
end;
Exit(lFound);

Content in the record can be accessed using the indexed Items and Objects properties as well.

See also

TObjectArray.Items | Provides indexed access to the TItem class instances stored in the List
TObjectArray.Objects | Provides indexed access to the TObj class instances stored in the List
T2Pointer |
P2Pointer | Pointer to the T2Pointer record type


TObjectArray.Move

Relocates the association stored at the position in CurIndex to the position in NewIndex

Declaration

Source position: objectlists.pas line 77

public procedure TObjectArray.Move(

  CurIndex: Integer;

  NewIndex: Integer

);

Arguments

CurIndex | Ordinal position where the association is currently stored
NewIndex | Ordinal position where the association is moved

Description

Move is a procedure used to relocate the association stored at the position in CurIndex to the position in NewIndex. No actions are performed in the method when CurIndex and Index contain the same value.

Move gets the T2Pointer stored at the position in CurIndex from the List. Move call the Move routine in the System.pp unit to relocate any associations stored between the positions in CurIndex and NewIndex. The relocated associations are moved towards the end of List when CurIndex is greater than NewIndex.

The T2Pointer is reassigned to the position in NewIndex.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
T2Pointer |


TObjectArray.Objects

Provides indexed access to the TObj class instances stored in the List

Declaration

Source position: objectlists.pas line 84

public property TObjectArray.Objects[Index: Integer] : TObj
  read GetObject
  write PutObject;

Description

Objects is an indexed property used to provide access to the TObj class instances stored in the List.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.GetObject | Gets the value for the Objects property
TObjectArray.PutObject | Sets the value for the Objects property


TObjectArray.Pack

Removes all associations where the Item class instance is unassigned (contains Nil)

Declaration

Source position: objectlists.pas line 80

public procedure TObjectArray.Pack;

Description

Pack is a procedure used to remove all associations where the Item class instance is unassigned (contains Nil). Pack iterates over the allocated storage in List to determine if the T2Pointer.Item member is unassigned. When an an unassigned item is found, subsequent associations are moved into the storage position(s) for any unused items. Pack updates the value in the Count property to reflect the new number of associations in List.


TObjectArray.Put

Sets the value for the Items property

Declaration

Source position: objectlists.pas line 58

protected procedure TObjectArray.Put(

  Index: Integer;

  const AValue: TItem

);

Arguments

Index | Ordinal position for the updated item
AValue | New TItem value for the property

See also

TObjectArray.Items

Provides indexed access to the TItem class instances stored in the List


TObjectArray.PutObject

Sets the value for the Objects property

Declaration

Source position: objectlists.pas line 60

protected procedure TObjectArray.PutObject(

  Index: Integer;

  const AValue: TObj

);

Arguments

Index | Ordinal position for the updated object
AValue | New TObj value for the property

See also

TObjectArray.Objects | Provides indexed access to the TObj class instances stored in the List
TObjectArray.GetObject | Gets the value for the Objects property


TObjectArray.Remove

Removes the association with the specified TItem class instance

Declaration

Source position: objectlists.pas line 79

public function TObjectArray.Remove(

  Item: TItem

):Integer;

Arguments

Item

TItem class instance to locate in the List

Function result

Ordinal position for the association removed in the method

Description

Remove is an Integer function used to delete the item/object association with the specified TItem class instance. The return value contains the result returned from IndexOf. The return value is -1 when Item is not found in List. When Item exists in List, the Delete method is called to remove the association at the position in the return value.

See also

TObjectArray.List | Provides access to the list which implements the storage for the item/object associations in the class instance
TObjectArray.IndexOf | Gets the ordinal position in List where the specified TItem instance is stored
TObjectArray.Delete | Deletes an item/object association stored at the specified position in the List


TObjectArray.SetCapacity

Sets the value for the Capacity property

Declaration

Source position: objectlists.pas line 61

protected procedure TObjectArray.SetCapacity(

  const AValue: Integer

);

Arguments

AValue

New value for the property

Description

SetCapacity calls ReallocMem to ensure that List contains enough memory for the number of T2Pointer instances specified in AValue. The Count property is also updated in the method (when needed) to reflect the new value for the property.

See also

TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.Count | Number of item/object associations currently stored in the List


TObjectArray.SetCount

Sets the value for the Count property

Declaration

Source position: objectlists.pas line 62

protected procedure TObjectArray.SetCount(

  const AValue: Integer

);

Arguments

AValue

New value for the property

Description

SetCount calls SetCapacity when the new value for the property is larger than the existing value in Capacity.

See also

TObjectArray.Count | Number of item/object associations currently stored in the List
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.SetCapacity | Sets the value for the Capacity property


TObjectArray.Shrink

Decreases the Capacity and allocated storage for the class instance

Declaration

Source position: objectlists.pas line 64

protected procedure TObjectArray.Shrink;

Description

Shrink is a procedure used to decrease the Capacity (and subsequently) the allocated storage for the class instance. Shrink always halves the value in the Capacity property. It is called from the Delete method when Capacity has at least four (4) times the number of associations in the Count property.

See also

TObjectArray.Delete | Deletes an item/object association stored at the specified position in the List
TObjectArray.Capacity | Specifies the number of associations that can be stored in the List
TObjectArray.SetCapacity | Sets the value for the Capacity property
TObjectArray.Count | Number of item/object associations currently stored in the List


TStringHashList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: stringhashlist.pas line 41

type TStringHashList = class(TObject)

protected

  function HashOf();

  procedure Insert();

public

  constructor Create();

  destructor Destroy; override;

  function Add();

  procedure Clear;

  function Find();

  function Remove();

  property CaseSensitive: Boolean; [rw]

  property Count: Integer; [r]

  property Data []: Pointer; default; [rw]

  property List: PStringHashItemList; [r]

end;

Inheritance

TStringHashList

|

TObject


TStringHashList
 |  | CaseSensitive
 | ro | Count
 |  | Data
 | ro | List


ro | Count (TStringHashList)
 | Data (TStringHashList)
ro | List (TStringHashList)


TStringHashList
pt | HashOf
pt | Insert
 | Create
 | Destroy
 | Add
 | Clear
 | Find
 | Remove


 | Add (TStringHashList)
 | Clear (TStringHashList)
 | Create (TStringHashList)
 | Destroy (TStringHashList)
 | Find (TStringHashList)
pt | HashOf (TStringHashList)
pt | Insert (TStringHashList)
 | Remove (TStringHashList)


TStringHashList


TStringHashList.Add

Declaration

Source position: stringhashlist.pas line 60

public function TStringHashList.Add(

  const S: string

):Integer;

function TStringHashList.Add(

  const S: string;

  ItemData: Pointer

):Integer;


TStringHashList.CaseSensitive

Declaration

Source position: stringhashlist.pas line 67

public property TStringHashList.CaseSensitive : Boolean
  read fCaseSensitive
  write SetCaseSensitive;


TStringHashList.Clear

Declaration

Source position: stringhashlist.pas line 62

public procedure TStringHashList.Clear;


TStringHashList.Count

Declaration

Source position: stringhashlist.pas line 68

public property TStringHashList.Count : Integer
  read FCount;


TStringHashList.Create

Declaration

Source position: stringhashlist.pas line 58

public constructor TStringHashList.Create(

  CaseSensitivity: Boolean

);


TStringHashList.Data

Declaration

Source position: stringhashlist.pas line 69

public property TStringHashList.Data[S: string] : Pointer
  read GetData
  write SetData;
  default;


TStringHashList.Destroy

Declaration

Source position: stringhashlist.pas line 59

public destructor TStringHashList.Destroy; override;


TStringHashList.Find

Declaration

Source position: stringhashlist.pas line 63

public function TStringHashList.Find(

  const S: string

):Integer;

function TStringHashList.Find(

  const S: string;

  Data: Pointer

):Integer;


TStringHashList.HashOf

Declaration

Source position: stringhashlist.pas line 55

protected function TStringHashList.HashOf(

  const Key: string

):Cardinal;


TStringHashList.Insert

Declaration

Source position: stringhashlist.pas line 56

protected procedure TStringHashList.Insert(

  Index: Integer;

  Item: PStringHashItem

);


TStringHashList.List

Declaration

Source position: stringhashlist.pas line 70

public property TStringHashList.List : PStringHashItemList
  read FList;


TStringHashList.Remove

Declaration

Source position: stringhashlist.pas line 65

public function TStringHashList.Remove(

  const S: string

):Integer;

function TStringHashList.Remove(

  const S: string;

  Data: Pointer

):Integer;


TCustomMemoStrings

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: textstrings.pas line 45

type TCustomMemoStrings = class(TStrings)

protected

  procedure DoReadData(); virtual;

  procedure DoWriteData(); virtual;

  procedure DefineProperties(); override;

end;

Inheritance

TCustomMemoStrings
|

TStrings
|

TPersistent,IFPObserved
|

TObject


TCustomMemoStrings
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


ro | Count (TStrings)
 | DelimitedText (TStrings)
 | Delimiter (TStrings)
 | LineBreak (TStrings)
ro | Names (TStrings)
 | NameValueSeparator (TStrings)
 | Objects (TStrings)
 | QuoteChar (TStrings)
 | SkipLastLineBreak (TStrings)
 | StrictDelimiter (TStrings)
 | Strings (TStrings)
 | StringsAdapter (TStrings)
 | Text (TStrings)
 | TextLineBreakStyle (TStrings)
ro | UpdateCount (TStrings)
 | ValueFromIndex (TStrings)
 | Values (TStrings)


TCustomMemoStrings
pt | DoReadData
pt | DoWriteData
pt | DefineProperties
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TStrings)
 | AddObject (TStrings)
 | AddStrings (TStrings)
 | AddText (TStrings)
 | AfterConstruction (TObject)
 | Append (TStrings)
 | Assign (TPersistent)
 | Assign (TStrings)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeginUpdate (TStrings)
 | CheckSpecialChars (TStrings)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TStrings)
 | Create (TObject)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TStrings)
pt | DefineProperties (TCustomMemoStrings)
 | Delete (TStrings)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TStrings)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoCompareText (TStrings)
pt | DoReadData (TCustomMemoStrings)
 | DoSetTextStr (TStrings)
pt | DoWriteData (TCustomMemoStrings)
 | EndUpdate (TStrings)
 | Equals (TObject)
 | Equals (TStrings)
 | Error (TStrings)
 | Exchange (TStrings)
 | ExtractName (TStrings)
 | FieldAddress (TObject)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | Get (TStrings)
 | GetCapacity (TStrings)
 | GetCommaText (TStrings)
 | GetCount (TStrings)
 | GetDelimitedText (TStrings)
 | GetDelimiter (TStrings)
 | GetEnumerator (TStrings)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLBS (TStrings)
 | GetLineBreak (TStrings)
 | GetName (TStrings)
 | GetNamePath (TPersistent)
 | GetNameValue (TStrings)
 | GetNameValueSeparator (TStrings)
 | GetNextLine (TStrings)
 | GetNextLinebreak (TStrings)
 | GetObject (TStrings)
 | GetOwner (TPersistent)
 | GetQuoteChar (TStrings)
 | GetSkipLastLineBreak (TStrings)
 | GetText (TStrings)
 | GetTextStr (TStrings)
 | GetValue (TStrings)
 | GetValueFromIndex (TStrings)
 | IndexOf (TStrings)
 | IndexOfName (TStrings)
 | IndexOfObject (TStrings)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TStrings)
 | InsertObject (TStrings)
 | InstanceSize (TObject)
 | LoadFromFile (TStrings)
 | LoadFromStream (TStrings)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TStrings)
 | newinstance (TObject)
 | Put (TStrings)
 | PutObject (TStrings)
 | ReadData (TStrings)
 | SafeCallException (TObject)
 | SaveToFile (TStrings)
 | SaveToStream (TStrings)
 | SetCapacity (TStrings)
 | SetCommaText (TStrings)
 | SetDelimitedText (TStrings)
 | SetDelimiter (TStrings)
 | SetLBS (TStrings)
 | SetLineBreak (TStrings)
 | SetNameValueSeparator (TStrings)
 | SetQuoteChar (TStrings)
 | SetSkipLastLineBreak (TStrings)
 | SetStringsAdapter (TStrings)
 | SetText (TStrings)
 | SetTextStr (TStrings)
 | SetUpdateState (TStrings)
 | SetValue (TStrings)
 | SetValueFromIndex (TStrings)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | WriteData (TStrings)


TCustomMemoStrings

TStrings

TPersistent

TObject


TCustomMemoStrings.DefineProperties

Declaration

Source position: textstrings.pas line 49

protected procedure TCustomMemoStrings.DefineProperties(

  Filer: TFiler

); override;


TCustomMemoStrings.DoReadData

Declaration

Source position: textstrings.pas line 47

protected procedure TCustomMemoStrings.DoReadData(

  Reader: TReader

); virtual;


TCustomMemoStrings.DoWriteData

Declaration

Source position: textstrings.pas line 48

protected procedure TCustomMemoStrings.DoWriteData(

  Writer: TWriter

); virtual;


TTextStrings

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: textstrings.pas line 52

type TTextStrings = class(TCustomMemoStrings)

protected

  FArraysValid: Boolean;

  FLineCount: Integer;

  FLineCapacity: Integer;

  FLineRanges: PTextLineRange;

  FText: string;

  FUpdateCount: Integer;

  FChangedWhileUpdate: Boolean;

  function GetTextStr; override;

  procedure SetTextStr(); override;

  procedure BuildArrays; virtual;

  function GetCount; override;

  procedure Changed; virtual;

  procedure Changing; virtual;

  function Get(); override;

  procedure ClearArrays;

  function GetObject(); override;

  procedure Put(); override;

  procedure PutObject(); override;

  function GetLineLen();

  function GetLineEnd();

  function CountLineEndings();

public

  constructor Create;

  destructor Destroy; override;

  procedure Clear; override;

  procedure SetText(); override;

  procedure Insert(); override;

  procedure Delete(); override;

  procedure Exchange(); override;

  procedure Move(); override;

  procedure MakeTextBufferUnique;

  procedure BeginUpdate;

  procedure EndUpdate;

  function GetText; override;

  function IndexOf(); override;

  function Add(); override;

  function AddObject(); override;

  procedure AddStrings(); override;

  procedure LoadFromFile(); override;

  procedure SaveToFile(); override;

  property Text: string; [rw]

  property OnChange: TNotifyEvent; [rw]

  property OnChanging: TNotifyEvent; [rw]

end;

Inheritance

TTextStrings
|

TCustomMemoStrings
|

TStrings
|

TPersistent,IFPObserved
|

TObject


TTextStrings
 |  | Text
TCustomMemoStrings
TStrings
 | ro | UpdateCount
 |  | TextLineBreakStyle
 |  | Delimiter
 |  | DelimitedText
 |  | LineBreak
 |  | StrictDelimiter
 |  | QuoteChar
 |  | NameValueSeparator
 |  | ValueFromIndex
 |  | Capacity
 |  | CommaText
 | ro | Count
 | ro | Names
 |  | Objects
 |  | Values
 |  | Strings
 |  | Text
 |  | StringsAdapter
 |  | SkipLastLineBreak
TPersistent
TObject


ro | Count (TStrings)
 | DelimitedText (TStrings)
 | Delimiter (TStrings)
 | LineBreak (TStrings)
ro | Names (TStrings)
 | NameValueSeparator (TStrings)
 | Objects (TStrings)
 | QuoteChar (TStrings)
 | SkipLastLineBreak (TStrings)
 | StrictDelimiter (TStrings)
 | Strings (TStrings)
 | StringsAdapter (TStrings)
 | Text (TStrings)
 | Text (TTextStrings)
 | TextLineBreakStyle (TStrings)
ro | UpdateCount (TStrings)
 | ValueFromIndex (TStrings)
 | Values (TStrings)


TTextStrings
pt | GetTextStr
pt | SetTextStr
pt | BuildArrays
pt | GetCount
pt | Changed
pt | Changing
pt | Get
pt | ClearArrays
pt | GetObject
pt | Put
pt | PutObject
pt | GetLineLen
pt | GetLineEnd
pt | CountLineEndings
 | Create
 | Destroy
 | Clear
 | SetText
 | Insert
 | Delete
 | Exchange
 | Move
 | MakeTextBufferUnique
 | BeginUpdate
 | EndUpdate
 | GetText
 | IndexOf
 | Add
 | AddObject
 | AddStrings
 | LoadFromFile
 | SaveToFile
TCustomMemoStrings
pt | DoReadData
pt | DoWriteData
pt | DefineProperties
TStrings
 | GetCommaText
 | GetName
 | GetValue
 | GetLBS
 | SetLBS
 | ReadData
 | SetCommaText
 | SetStringsAdapter
 | SetValue
 | SetDelimiter
 | SetQuoteChar
 | SetNameValueSeparator
 | WriteData
 | DoSetTextStr
 | GetDelimiter
 | GetNameValueSeparator
 | GetQuoteChar
 | GetLineBreak
 | SetLineBreak
 | GetSkipLastLineBreak
 | SetSkipLastLineBreak
 | DefineProperties
 | Error
 | Get
 | GetCapacity
 | GetCount
 | GetObject
 | GetTextStr
 | Put
 | PutObject
 | SetCapacity
 | SetTextStr
 | SetUpdateState
 | DoCompareText
 | GetDelimitedText
 | SetDelimitedText
 | GetValueFromIndex
 | SetValueFromIndex
 | CheckSpecialChars
 | GetNextLine
 | GetNextLinebreak
 | Destroy
 | Add
 | AddObject
 | Append
 | AddStrings
 | AddText
 | Assign
 | BeginUpdate
 | Clear
 | Delete
 | EndUpdate
 | Equals
 | Exchange
 | GetEnumerator
 | GetText
 | IndexOf
 | IndexOfName
 | IndexOfObject
 | Insert
 | InsertObject
 | LoadFromFile
 | LoadFromStream
 | Move
 | SaveToFile
 | SaveToStream
 | SetText
 | GetNameValue
 | ExtractName
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


 | Add (TStrings)
 | Add (TTextStrings)
 | AddObject (TStrings)
 | AddObject (TTextStrings)
 | AddStrings (TStrings)
 | AddStrings (TTextStrings)
 | AddText (TStrings)
 | AfterConstruction (TObject)
 | Append (TStrings)
 | Assign (TPersistent)
 | Assign (TStrings)
 | AssignError (TPersistent)
 | AssignTo (TPersistent)
 | BeforeDestruction (TObject)
 | BeginUpdate (TStrings)
 | BeginUpdate (TTextStrings)
pt | BuildArrays (TTextStrings)
pt | Changed (TTextStrings)
pt | Changing (TTextStrings)
 | CheckSpecialChars (TStrings)
 | ClassInfo (TObject)
 | ClassName (TObject)
 | ClassNameIs (TObject)
 | ClassParent (TObject)
 | ClassType (TObject)
 | CleanupInstance (TObject)
 | Clear (TStrings)
 | Clear (TTextStrings)
pt | ClearArrays (TTextStrings)
pt | CountLineEndings (TTextStrings)
 | Create (TObject)
 | Create (TTextStrings)
 | DefaultHandler (TObject)
 | DefaultHandlerStr (TObject)
 | DefineProperties (TPersistent)
 | DefineProperties (TStrings)
pt | DefineProperties (TCustomMemoStrings)
 | Delete (TStrings)
 | Delete (TTextStrings)
 | Destroy (TObject)
 | Destroy (TPersistent)
 | Destroy (TStrings)
 | Destroy (TTextStrings)
 | Dispatch (TObject)
 | DispatchStr (TObject)
 | DoCompareText (TStrings)
pt | DoReadData (TCustomMemoStrings)
 | DoSetTextStr (TStrings)
pt | DoWriteData (TCustomMemoStrings)
 | EndUpdate (TStrings)
 | EndUpdate (TTextStrings)
 | Equals (TObject)
 | Equals (TStrings)
 | Error (TStrings)
 | Exchange (TStrings)
 | Exchange (TTextStrings)
 | ExtractName (TStrings)
 | FieldAddress (TObject)
 | FPOAttachObserver (TPersistent)
 | FPODetachObserver (TPersistent)
 | FPONotifyObservers (TPersistent)
 | Free (TObject)
 | FreeInstance (TObject)
 | Get (TStrings)
pt | Get (TTextStrings)
 | GetCapacity (TStrings)
 | GetCommaText (TStrings)
 | GetCount (TStrings)
pt | GetCount (TTextStrings)
 | GetDelimitedText (TStrings)
 | GetDelimiter (TStrings)
 | GetEnumerator (TStrings)
 | GetHashCode (TObject)
 | GetInterface (TObject)
 | GetInterfaceByStr (TObject)
 | GetInterfaceEntry (TObject)
 | GetInterfaceEntryByStr (TObject)
 | GetInterfaceTable (TObject)
 | GetInterfaceWeak (TObject)
 | GetLBS (TStrings)
 | GetLineBreak (TStrings)
pt | GetLineEnd (TTextStrings)
pt | GetLineLen (TTextStrings)
 | GetName (TStrings)
 | GetNamePath (TPersistent)
 | GetNameValue (TStrings)
 | GetNameValueSeparator (TStrings)
 | GetNextLine (TStrings)
 | GetNextLinebreak (TStrings)
 | GetObject (TStrings)
pt | GetObject (TTextStrings)
 | GetOwner (TPersistent)
 | GetQuoteChar (TStrings)
 | GetSkipLastLineBreak (TStrings)
 | GetText (TStrings)
 | GetText (TTextStrings)
 | GetTextStr (TStrings)
pt | GetTextStr (TTextStrings)
 | GetValue (TStrings)
 | GetValueFromIndex (TStrings)
 | IndexOf (TStrings)
 | IndexOf (TTextStrings)
 | IndexOfName (TStrings)
 | IndexOfObject (TStrings)
 | InheritsFrom (TObject)
 | InitInstance (TObject)
 | Insert (TStrings)
 | Insert (TTextStrings)
 | InsertObject (TStrings)
 | InstanceSize (TObject)
 | LoadFromFile (TStrings)
 | LoadFromFile (TTextStrings)
 | LoadFromStream (TStrings)
 | MakeTextBufferUnique (TTextStrings)
 | MethodAddress (TObject)
 | MethodName (TObject)
 | Move (TStrings)
 | Move (TTextStrings)
 | newinstance (TObject)
 | Put (TStrings)
pt | Put (TTextStrings)
 | PutObject (TStrings)
pt | PutObject (TTextStrings)
 | ReadData (TStrings)
 | SafeCallException (TObject)
 | SaveToFile (TStrings)
 | SaveToFile (TTextStrings)
 | SaveToStream (TStrings)
 | SetCapacity (TStrings)
 | SetCommaText (TStrings)
 | SetDelimitedText (TStrings)
 | SetDelimiter (TStrings)
 | SetLBS (TStrings)
 | SetLineBreak (TStrings)
 | SetNameValueSeparator (TStrings)
 | SetQuoteChar (TStrings)
 | SetSkipLastLineBreak (TStrings)
 | SetStringsAdapter (TStrings)
 | SetText (TStrings)
 | SetText (TTextStrings)
 | SetTextStr (TStrings)
pt | SetTextStr (TTextStrings)
 | SetUpdateState (TStrings)
 | SetValue (TStrings)
 | SetValueFromIndex (TStrings)
 | StringMessageTable (TObject)
 | ToString (TObject)
 | UnitName (TObject)
 | WriteData (TStrings)


TTextStrings
 | OnChange
 | OnChanging
TCustomMemoStrings
TStrings
TPersistent
TObject


TTextStrings.Add

Declaration

Source position: textstrings.pas line 92

public function TTextStrings.Add(

  const S: string

):Integer; override;


TTextStrings.AddObject

Declaration

Source position: textstrings.pas line 93

public function TTextStrings.AddObject(

  const S: string;

  AObject: TObject

):Integer; override;


TTextStrings.AddStrings

Declaration

Source position: textstrings.pas line 94

public procedure TTextStrings.AddStrings(

  TheStrings: TStrings

); override;


TTextStrings.BeginUpdate

Declaration

Source position: textstrings.pas line 88

public procedure TTextStrings.BeginUpdate;


TTextStrings.BuildArrays

Declaration

Source position: textstrings.pas line 66

protected procedure TTextStrings.BuildArrays; virtual;


TTextStrings.Changed

Declaration

Source position: textstrings.pas line 68

protected procedure TTextStrings.Changed; virtual;


TTextStrings.Changing

Declaration

Source position: textstrings.pas line 69

protected procedure TTextStrings.Changing; virtual;


TTextStrings.Clear

Declaration

Source position: textstrings.pas line 81

public procedure TTextStrings.Clear; override;


TTextStrings.ClearArrays

Declaration

Source position: textstrings.pas line 71

protected procedure TTextStrings.ClearArrays;


TTextStrings.CountLineEndings

Declaration

Source position: textstrings.pas line 77

protected function TTextStrings.CountLineEndings(

  const s: string

):Integer;


TTextStrings.Create

Declaration

Source position: textstrings.pas line 79

public constructor TTextStrings.Create;


TTextStrings.Delete

Declaration

Source position: textstrings.pas line 84

public procedure TTextStrings.Delete(

  Index: Integer

); override;


TTextStrings.Destroy

Declaration

Source position: textstrings.pas line 80

public destructor TTextStrings.Destroy; override;


TTextStrings.EndUpdate

Declaration

Source position: textstrings.pas line 89

public procedure TTextStrings.EndUpdate;


TTextStrings.Exchange

Declaration

Source position: textstrings.pas line 85

public procedure TTextStrings.Exchange(

  Index1: Integer;

  Index2: Integer

); override;


TTextStrings.FArraysValid

Declaration

Source position: textstrings.pas line 57

protected TTextStrings.FArraysValid : Boolean;


TTextStrings.FChangedWhileUpdate

Declaration

Source position: textstrings.pas line 63

protected TTextStrings.FChangedWhileUpdate : Boolean;


TTextStrings.FLineCapacity

Declaration

Source position: textstrings.pas line 59

protected TTextStrings.FLineCapacity : Integer;


TTextStrings.FLineCount

Declaration

Source position: textstrings.pas line 58

protected TTextStrings.FLineCount : Integer;


TTextStrings.FLineRanges

Declaration

Source position: textstrings.pas line 60

protected TTextStrings.FLineRanges : PTextLineRange;


TTextStrings.FText

Declaration

Source position: textstrings.pas line 61

protected TTextStrings.FText : string;


TTextStrings.FUpdateCount

Declaration

Source position: textstrings.pas line 62

protected TTextStrings.FUpdateCount : Integer;


TTextStrings.Get

Declaration

Source position: textstrings.pas line 70

protected function TTextStrings.Get(

  Index: Integer

):string; override;


TTextStrings.GetCount

Declaration

Source position: textstrings.pas line 67

protected function TTextStrings.GetCount: Integer; override;


TTextStrings.GetLineEnd

Declaration

Source position: textstrings.pas line 76

protected function TTextStrings.GetLineEnd(

  Index: Integer;

  IncludeNewLineChars: Boolean

):Integer;


TTextStrings.GetLineLen

Declaration

Source position: textstrings.pas line 75

protected function TTextStrings.GetLineLen(

  Index: Integer;

  IncludeNewLineChars: Boolean

):Integer;


TTextStrings.GetObject

Declaration

Source position: textstrings.pas line 72

protected function TTextStrings.GetObject(

  Index: Integer

):TObject; override;


TTextStrings.GetText

Declaration

Source position: textstrings.pas line 90

public function TTextStrings.GetText: PChar; override;


TTextStrings.GetTextStr

Declaration

Source position: textstrings.pas line 64

protected function TTextStrings.GetTextStr: string; override;


TTextStrings.IndexOf

Declaration

Source position: textstrings.pas line 91

public function TTextStrings.IndexOf(

  const S: string

):Integer; override;


TTextStrings.Insert

Declaration

Source position: textstrings.pas line 83

public procedure TTextStrings.Insert(

  Index: Integer;

  const S: string

); override;


TTextStrings.LoadFromFile

Declaration

Source position: textstrings.pas line 95

public procedure TTextStrings.LoadFromFile(

  const FileName: string

); override;


TTextStrings.MakeTextBufferUnique

Declaration

Source position: textstrings.pas line 87

public procedure TTextStrings.MakeTextBufferUnique;


TTextStrings.Move

Declaration

Source position: textstrings.pas line 86

public procedure TTextStrings.Move(

  CurIndex: Integer;

  NewIndex: Integer

); override;


TTextStrings.OnChange

Declaration

Source position: textstrings.pas line 99

public property TTextStrings.OnChange : TNotifyEvent
  read FOnChange
  write FOnChange;


TTextStrings.OnChanging

Declaration

Source position: textstrings.pas line 100

public property TTextStrings.OnChanging : TNotifyEvent
  read FOnChanging
  write FOnChanging;


TTextStrings.Put

Declaration

Source position: textstrings.pas line 73

protected procedure TTextStrings.Put(

  Index: Integer;

  const S: string

); override;


TTextStrings.PutObject

Declaration

Source position: textstrings.pas line 74

protected procedure TTextStrings.PutObject(

  Index: Integer;

  AnObject: TObject

); override;


TTextStrings.SaveToFile

Declaration

Source position: textstrings.pas line 96

public procedure TTextStrings.SaveToFile(

  const FileName: string

); override;


TTextStrings.SetText

Declaration

Source position: textstrings.pas line 82

public procedure TTextStrings.SetText(

  TheText: PChar

); override;


TTextStrings.SetTextStr

Declaration

Source position: textstrings.pas line 65

protected procedure TTextStrings.SetTextStr(

  const AValue: string

); override;


TTextStrings.Text

Declaration

Source position: textstrings.pas line 98

public property TTextStrings.Text : string
  read FText
  write SetTextStr;


EPOFileError

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: translations.pas line 181

type EPOFileError = class(Exception)

public

  ResFileName: string;

  POFileName: string;

end;

Inheritance

EPOFileError

|

Exception
|

TObject


EPOFileError
Exception
 | HelpContext
 | Message
TObject


EPOFileError
Exception
 | Create
 | CreateFmt
 | CreateRes
 | CreateResFmt
 | CreateHelp
 | CreateFmtHelp
 | CreateResHelp
 | CreateResFmtHelp
 | ToString
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


EPOFileError

Exception

TObject


EPOFileError.POFileName

Declaration

Source position: translations.pas line 184

public EPOFileError.POFileName : string;


EPOFileError.ResFileName

Declaration

Source position: translations.pas line 183

public EPOFileError.ResFileName : string;


TPOFile

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: translations.pas line 113

type TPOFile = class

protected

  FItems: TFPList;

  FIdentifierLowToItem: TStringToPointerTree;

  FOriginalToItem: TStringHashList;

  FCharSet: string;

  FHeader: TPOFileItem;

  FAllEntries: Boolean;

  FTag: Integer;

  FModified: Boolean;

  FHelperList: TStringList;

  FPoName: string;

  function Remove();

  function GetCount;

  procedure SetCharSet();

  function GetPoItem();

  procedure ReadPOText();

public

  constructor Create();

  destructor Destroy; override;

  function Translate();

  property CharSet: string; [r]

  procedure Report();

  procedure CreateHeader;

  procedure UpdateStrings();

  procedure SaveToStrings();

  procedure SaveToFile();

  procedure UpdateItem();

  procedure FillItem();

  procedure UpdateTranslation();

  procedure UntagAll;

  procedure RemoveTaggedItems();

  procedure RemoveIdentifier();

  procedure RemoveOriginal();

  procedure RemoveIdentifiers();

  procedure RemoveOriginals();

  property Tag: Integer; [rw]

  property Modified: Boolean; [r]

  property Items: TFPList; [r]

  property PoName: string; [r]

  property PoRename: string; [w]

  property Statistics: TTranslationStatistics; [r]

  procedure InvalidateStatistics;

  function FindPoItem();

  function OriginalToItem();

  property PoItems []: TPOFileItem; [r]

  property Count: Integer; [r]

  property Header: TPOFileItem; [r]

end;

Inheritance

TPOFile

|

TObject


TPOFile
 | ro | CharSet
 |  | Tag
 | ro | Modified
 | ro | Items
 | ro | PoName
 |  | PoRename
 | ro | Statistics
 | ro | PoItems
 | ro | Count
 | ro | Header


ro | CharSet (TPOFile)
ro | Count (TPOFile)
ro | Header (TPOFile)
ro | Items (TPOFile)
ro | Modified (TPOFile)
ro | PoItems (TPOFile)
ro | PoName (TPOFile)
 | PoRename (TPOFile)
ro | Statistics (TPOFile)
 | Tag (TPOFile)


TPOFile
pt | Remove
pt | GetCount
pt | SetCharSet
pt | GetPoItem
pt | ReadPOText
 | Create
 | Destroy
 | Translate
 | Report
 | CreateHeader
 | UpdateStrings
 | SaveToStrings
 | SaveToFile
 | UpdateItem
 | FillItem
 | UpdateTranslation
 | UntagAll
 | RemoveTaggedItems
 | RemoveIdentifier
 | RemoveOriginal
 | RemoveIdentifiers
 | RemoveOriginals
 | InvalidateStatistics
 | FindPoItem
 | OriginalToItem


 | Create (TPOFile)
 | CreateHeader (TPOFile)
 | Destroy (TPOFile)
 | FillItem (TPOFile)
 | FindPoItem (TPOFile)
pt | GetCount (TPOFile)
pt | GetPoItem (TPOFile)
 | InvalidateStatistics (TPOFile)
 | OriginalToItem (TPOFile)
pt | ReadPOText (TPOFile)
pt | Remove (TPOFile)
 | RemoveIdentifier (TPOFile)
 | RemoveIdentifiers (TPOFile)
 | RemoveOriginal (TPOFile)
 | RemoveOriginals (TPOFile)
 | RemoveTaggedItems (TPOFile)
 | Report (TPOFile)
 | SaveToFile (TPOFile)
 | SaveToStrings (TPOFile)
pt | SetCharSet (TPOFile)
 | Translate (TPOFile)
 | UntagAll (TPOFile)
 | UpdateItem (TPOFile)
 | UpdateStrings (TPOFile)
 | UpdateTranslation (TPOFile)


TPOFile


TPOFile.CharSet

Declaration

Source position: translations.pas line 143

public property TPOFile.CharSet : string
  read FCharSet;


TPOFile.Count

Declaration

Source position: translations.pas line 177

public property TPOFile.Count : Integer
  read GetCount;


TPOFile.Create

Declaration

Source position: translations.pas line 137

public constructor TPOFile.Create(

  Full: Boolean = True

);

constructor TPOFile.Create(

  const AFilename: string;

  Full: Boolean = False

);

constructor TPOFile.Create(

  AStream: TStream;

  Full: Boolean = False

);


TPOFile.CreateHeader

Declaration

Source position: translations.pas line 147

public procedure TPOFile.CreateHeader;


TPOFile.Destroy

Declaration

Source position: translations.pas line 140

public destructor TPOFile.Destroy; override;


TPOFile.FAllEntries

Declaration

Source position: translations.pas line 124

protected TPOFile.FAllEntries : Boolean;


TPOFile.FCharSet

Declaration

Source position: translations.pas line 122

protected TPOFile.FCharSet : string;


TPOFile.FHeader

Declaration

Source position: translations.pas line 123

protected TPOFile.FHeader : TPOFileItem;


TPOFile.FHelperList

Declaration

Source position: translations.pas line 127

protected TPOFile.FHelperList : TStringList;


TPOFile.FIdentifierLowToItem

Declaration

Source position: translations.pas line 120

protected TPOFile.FIdentifierLowToItem : TStringToPointerTree;


TPOFile.FillItem

Declaration

Source position: translations.pas line 153

public procedure TPOFile.FillItem(

  var CurrentItem: TPOFileItem;

  Identifier: string;

  Original: string;

  Translation: string;

  Comments: string;

  Context: string;

  Flags: string;

  PreviousID: string;

  LineNr: Integer = - 1

);


TPOFile.FindPoItem

Declaration

Source position: translations.pas line 174

public function TPOFile.FindPoItem(

  const Identifier: string

):TPOFileItem;


TPOFile.FItems

Declaration

Source position: translations.pas line 119

protected TPOFile.FItems : TFPList;


TPOFile.FModified

Declaration

Source position: translations.pas line 126

protected TPOFile.FModified : Boolean;


TPOFile.FOriginalToItem

Declaration

Source position: translations.pas line 121

protected TPOFile.FOriginalToItem : TStringHashList;


TPOFile.FPoName

Declaration

Source position: translations.pas line 129

protected TPOFile.FPoName : string;


TPOFile.FTag

Declaration

Source position: translations.pas line 125

protected TPOFile.FTag : Integer;


TPOFile.GetCount

Declaration

Source position: translations.pas line 132

protected function TPOFile.GetCount: Integer;


TPOFile.GetPoItem

Declaration

Source position: translations.pas line 134

protected function TPOFile.GetPoItem(

  Index: Integer

):TPOFileItem;


TPOFile.Header

Declaration

Source position: translations.pas line 178

public property TPOFile.Header : TPOFileItem
  read FHeader;


TPOFile.InvalidateStatistics

Declaration

Source position: translations.pas line 173

public procedure TPOFile.InvalidateStatistics;


TPOFile.Items

Declaration

Source position: translations.pas line 167

public property TPOFile.Items : TFPList
  read FItems;


TPOFile.Modified

Declaration

Source position: translations.pas line 166

public property TPOFile.Modified : Boolean
  read FModified;


TPOFile.OriginalToItem

Declaration

Source position: translations.pas line 175

public function TPOFile.OriginalToItem(

  const Data: string

):TPOFileItem;


TPOFile.PoItems

Declaration

Source position: translations.pas line 176

public property TPOFile.PoItems[Index: Integer] : TPOFileItem
  read GetPoItem;


TPOFile.PoName

Declaration

Source position: translations.pas line 170

public property TPOFile.PoName : string
  read FPoName;


TPOFile.PoRename

Declaration

Source position: translations.pas line 171

public property TPOFile.PoRename : string
  write FPoName;


TPOFile.ReadPOText

Declaration

Source position: translations.pas line 135

protected procedure TPOFile.ReadPOText(

  AStream: TStream

);

procedure TPOFile.ReadPOText(

  const Txt: string

);


TPOFile.Remove

Declaration

Source position: translations.pas line 130

protected function TPOFile.Remove(

  Index: Integer

):TPOFileItem;


TPOFile.RemoveIdentifier

Declaration

Source position: translations.pas line 160

public procedure TPOFile.RemoveIdentifier(

  const AIdentifier: string

);


TPOFile.RemoveIdentifiers

Declaration

Source position: translations.pas line 162

public procedure TPOFile.RemoveIdentifiers(

  AIdentifiers: TStrings

);


TPOFile.RemoveOriginal

Declaration

Source position: translations.pas line 161

public procedure TPOFile.RemoveOriginal(

  const AOriginal: string

);


TPOFile.RemoveOriginals

Declaration

Source position: translations.pas line 163

public procedure TPOFile.RemoveOriginals(

  AOriginals: TStrings

);


TPOFile.RemoveTaggedItems

Declaration

Source position: translations.pas line 158

public procedure TPOFile.RemoveTaggedItems(

  aTag: Integer

);


TPOFile.Report

Declaration

Source position: translations.pas line 144

public procedure TPOFile.Report;

procedure TPOFile.Report(

  StartIndex: Integer;

  StopIndex: Integer;

  const DisplayHeader: Boolean

);

procedure TPOFile.Report(

  Log: TStrings;

  StartIndex: Integer;

  StopIndex: Integer;

  const DisplayHeader: Boolean

);


TPOFile.SaveToFile

Declaration

Source position: translations.pas line 150

public procedure TPOFile.SaveToFile(

  const AFilename: string

);


TPOFile.SaveToStrings

Declaration

Source position: translations.pas line 149

public procedure TPOFile.SaveToStrings(

  OutLst: TStrings

);


TPOFile.SetCharSet

Declaration

Source position: translations.pas line 133

protected procedure TPOFile.SetCharSet(

  const AValue: string

);


TPOFile.Statistics

Declaration

Source position: translations.pas line 172

public property TPOFile.Statistics : TTranslationStatistics
  read GetStatistics;


TPOFile.Tag

Declaration

Source position: translations.pas line 165

public property TPOFile.Tag : Integer
  read FTag
  write FTag;


TPOFile.Translate

Declaration

Source position: translations.pas line 142

public function TPOFile.Translate(

  const Identifier: string;

  const OriginalValue: string

):string;


TPOFile.UntagAll

Declaration

Source position: translations.pas line 157

public procedure TPOFile.UntagAll;


TPOFile.UpdateItem

Declaration

Source position: translations.pas line 151

public procedure TPOFile.UpdateItem(

  const Identifier: string;

  const Original: string;

  const Flags: string = '';

  const ProcessingTranslation: Boolean = False

);


TPOFile.UpdateStrings

Declaration

Source position: translations.pas line 148

public procedure TPOFile.UpdateStrings(

  InputLines: TStrings;

  SType: TStringsType

);


TPOFile.UpdateTranslation

Declaration

Source position: translations.pas line 155

public procedure TPOFile.UpdateTranslation(

  BasePOFile: TPOFile

);


TPOFileItem

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: translations.pas line 88

type TPOFileItem = class

public

  Tag: Integer;

  LineNr: Integer;

  Comments: string;

  IdentifierLow: string;

  Original: string;

  Translation: string;

  Flags: string;

  PreviousID: string;

  Context: string;

  Duplicate: Boolean;

  constructor Create();

  function ModifyFlag();

  property InitialFuzzyState: Boolean; [r]

  property VirtualTranslation: Boolean; [r]

end;

Inheritance

TPOFileItem

|

TObject


TPOFileItem
 | ro | InitialFuzzyState
 | ro | VirtualTranslation


ro | InitialFuzzyState (TPOFileItem)
ro | VirtualTranslation (TPOFileItem)


TPOFileItem
 | Create
 | ModifyFlag


TPOFileItem


TPOFileItem.Comments

Declaration

Source position: translations.pas line 95

public TPOFileItem.Comments : string;


TPOFileItem.Context

Declaration

Source position: translations.pas line 101

public TPOFileItem.Context : string;


TPOFileItem.Create

Declaration

Source position: translations.pas line 103

public constructor TPOFileItem.Create(

  const TheIdentifierLow: string;

  const TheOriginal: string;

  const TheTranslated: string

);


TPOFileItem.Duplicate

Declaration

Source position: translations.pas line 102

public TPOFileItem.Duplicate : Boolean;


TPOFileItem.Flags

Declaration

Source position: translations.pas line 99

public TPOFileItem.Flags : string;


TPOFileItem.IdentifierLow

Declaration

Source position: translations.pas line 96

public TPOFileItem.IdentifierLow : string;


TPOFileItem.InitialFuzzyState

Declaration

Source position: translations.pas line 107

public property TPOFileItem.InitialFuzzyState : Boolean
  read FInitialFuzzyState;


TPOFileItem.LineNr

Declaration

Source position: translations.pas line 94

public TPOFileItem.LineNr : Integer;


TPOFileItem.ModifyFlag

Declaration

Source position: translations.pas line 106

public function TPOFileItem.ModifyFlag(

  const AFlags: string;

  Check: Boolean

):Boolean;


TPOFileItem.Original

Declaration

Source position: translations.pas line 97

public TPOFileItem.Original : string;


TPOFileItem.PreviousID

Declaration

Source position: translations.pas line 100

public TPOFileItem.PreviousID : string;


TPOFileItem.Tag

Declaration

Source position: translations.pas line 93

public TPOFileItem.Tag : Integer;


TPOFileItem.Translation

Declaration

Source position: translations.pas line 98

public TPOFileItem.Translation : string;


TPOFileItem.VirtualTranslation

Declaration

Source position: translations.pas line 108

public property TPOFileItem.VirtualTranslation : Boolean
  read FVirtualTranslation;


TFreeTypeStream

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: ttfile.pas line 62

type TFreeTypeStream = class

public

  constructor Create();

  destructor Destroy; override;

  function Activate;

  function Deactivate;

  function SeekFile();

  function SkipFile();

  function ReadFile();

  function ReadAtFile();

  function AccessFrame();

  function CheckAndAccessFrame();

  function ForgetFrame;

  function GET_Byte;

  function GET_Char;

  function GET_Short;

  function GET_UShort;

  function GET_Long;

  function GET_ULong;

  function GET_Tag4;

  property Open: Boolean; [r]

  property Name: string; [r]

  property Base: LongInt; [r]

  property Position: LongInt; [r]

  property Used: Boolean; [r]

end;

Inheritance

TFreeTypeStream
|

TObject


TFreeTypeStream
 | ro | Open
 | ro | Name
 | ro | Base
 | ro | Position
 | ro | Used


ro | Base (TFreeTypeStream)
ro | Name (TFreeTypeStream)
ro | Open (TFreeTypeStream)
ro | Position (TFreeTypeStream)
ro | Used (TFreeTypeStream)


TFreeTypeStream
 | Create
 | Destroy
 | Activate
 | Deactivate
 | SeekFile
 | SkipFile
 | ReadFile
 | ReadAtFile
 | AccessFrame
 | CheckAndAccessFrame
 | ForgetFrame
 | GET_Byte
 | GET_Char
 | GET_Short
 | GET_UShort
 | GET_Long
 | GET_ULong
 | GET_Tag4


AccessFrame (TFreeTypeStream)

Activate (TFreeTypeStream)

CheckAndAccessFrame (TFreeTypeStream)

Create (TFreeTypeStream)

Deactivate (TFreeTypeStream)

Destroy (TFreeTypeStream)

ForgetFrame (TFreeTypeStream)

GET_Byte (TFreeTypeStream)

GET_Char (TFreeTypeStream)

GET_Long (TFreeTypeStream)

GET_Short (TFreeTypeStream)

GET_Tag4 (TFreeTypeStream)

GET_ULong (TFreeTypeStream)

GET_UShort (TFreeTypeStream)

ReadAtFile (TFreeTypeStream)

ReadFile (TFreeTypeStream)

SeekFile (TFreeTypeStream)

SkipFile (TFreeTypeStream)


TFreeTypeStream


TFreeTypeStream.AccessFrame

Declaration

Source position: ttfile.pas line 100

public function TFreeTypeStream.AccessFrame(

  aSize: Int

):TError;


TFreeTypeStream.Activate

Declaration

Source position: ttfile.pas line 86

public function TFreeTypeStream.Activate: TError;


TFreeTypeStream.Base

Declaration

Source position: ttfile.pas line 124

public property TFreeTypeStream.Base : LongInt
  read FBase;


TFreeTypeStream.CheckAndAccessFrame

Declaration

Source position: ttfile.pas line 103

public function TFreeTypeStream.CheckAndAccessFrame(

  aSize: Int

):TError;


TFreeTypeStream.Create

Declaration

Source position: ttfile.pas line 83

public constructor TFreeTypeStream.Create(

  APathName: string

);

constructor TFreeTypeStream.Create(

  AStream: TStream;

  AStreamOwner: Boolean

);


TFreeTypeStream.Deactivate

Declaration

Source position: ttfile.pas line 87

public function TFreeTypeStream.Deactivate: TError;


TFreeTypeStream.Destroy

Declaration

Source position: ttfile.pas line 85

public destructor TFreeTypeStream.Destroy; override;


TFreeTypeStream.ForgetFrame

Declaration

Source position: ttfile.pas line 106

public function TFreeTypeStream.ForgetFrame: TError;


TFreeTypeStream.GET_Byte

Declaration

Source position: ttfile.pas line 114

public function TFreeTypeStream.GET_Byte: Byte;


TFreeTypeStream.GET_Char

Declaration

Source position: ttfile.pas line 115

public function TFreeTypeStream.GET_Char: ShortInt;


TFreeTypeStream.GET_Long

Declaration

Source position: ttfile.pas line 118

public function TFreeTypeStream.GET_Long: Long;


TFreeTypeStream.GET_Short

Declaration

Source position: ttfile.pas line 116

public function TFreeTypeStream.GET_Short: Short;


TFreeTypeStream.GET_Tag4

Declaration

Source position: ttfile.pas line 120

public function TFreeTypeStream.GET_Tag4: ULong;


TFreeTypeStream.GET_ULong

Declaration

Source position: ttfile.pas line 119

public function TFreeTypeStream.GET_ULong: ULong;


TFreeTypeStream.GET_UShort

Declaration

Source position: ttfile.pas line 117

public function TFreeTypeStream.GET_UShort: UShort;


TFreeTypeStream.Name

Declaration

Source position: ttfile.pas line 123

public property TFreeTypeStream.Name : string
  read FName;


TFreeTypeStream.Open

Declaration

Source position: ttfile.pas line 122

public property TFreeTypeStream.Open : Boolean
  read FOpen;


TFreeTypeStream.Position

Declaration

Source position: ttfile.pas line 125

public property TFreeTypeStream.Position : LongInt
  read GetPosition;


TFreeTypeStream.ReadAtFile

Declaration

Source position: ttfile.pas line 91

public function TFreeTypeStream.ReadAtFile(

  APos: Long;

  var ABuff;

  ACount: Int

):TError;


TFreeTypeStream.ReadFile

Declaration

Source position: ttfile.pas line 90

public function TFreeTypeStream.ReadFile(

  var ABuff;

  ACount: Int

):TError;


TFreeTypeStream.SeekFile

Declaration

Source position: ttfile.pas line 88

public function TFreeTypeStream.SeekFile(

  APos: LongInt

):TError;


TFreeTypeStream.SkipFile

Declaration

Source position: ttfile.pas line 89

public function TFreeTypeStream.SkipFile(

  ADist: LongInt

):TError;


TFreeTypeStream.Used

Declaration

Source position: ttfile.pas line 126

public property TFreeTypeStream.Used : Boolean
  read FUsed;


TProfile

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: ttprofile.pas line 87

type TProfile = class

  Pool: TRenderPool;

  Flow: Int;

  Height: Int;

  Start: Int;

  Offset: Integer;

  X: LongInt;

  nextInContour: TProfile;

  nextInColl: TProfile;

  nextInList: TProfile;

  prevInList: TProfile;

  constructor Create();

end;

Inheritance

TProfile

|

TObject


TProfile


TProfile

Create


TProfile.Create

Declaration

Source position: ttprofile.pas line 102

constructor TProfile.Create(

  APool: TRenderPool;

  ADirection: TCurveDirection

);


TProfile.Flow

Declaration

Source position: ttprofile.pas line 89

TProfile.Flow : Int;


TProfile.Height

Declaration

Source position: ttprofile.pas line 90

TProfile.Height : Int;


TProfile.nextInColl

Declaration

Source position: ttprofile.pas line 98

TProfile.nextInColl : TProfile;


TProfile.nextInContour

Declaration

Source position: ttprofile.pas line 97

TProfile.nextInContour : TProfile;


TProfile.nextInList

Declaration

Source position: ttprofile.pas line 100

TProfile.nextInList : TProfile;


TProfile.Offset

Declaration

Source position: ttprofile.pas line 92

TProfile.Offset : Integer;


TProfile.Pool

Declaration

Source position: ttprofile.pas line 88

TProfile.Pool : TRenderPool;


TProfile.prevInList

Declaration

Source position: ttprofile.pas line 100

TProfile.prevInList : TProfile;


TProfile.Start

Declaration

Source position: ttprofile.pas line 91

TProfile.Start : Int;


TProfile.X

Declaration

Source position: ttprofile.pas line 95

TProfile.X : LongInt;


TProfileCollection

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: ttprofile.pas line 107

type TProfileCollection = class

protected

  procedure Remove_Profile;

public

  Pool: TRenderPool;

  prevProfile: TProfile;

  fProfile: TProfile;

  gProfile: TProfile;

  nProfs: Int;

  constructor Create();

  procedure Clear;

  procedure New_Profile();

  procedure End_Profile;

  destructor Destroy; override;

end;

Inheritance

TProfileCollection

|

TObject


TProfileCollection


TProfileCollection
pt | Remove_Profile
 | Create
 | Clear
 | New_Profile
 | End_Profile
 | Destroy


 | Clear (TProfileCollection)
 | Create (TProfileCollection)
 | Destroy (TProfileCollection)
 | End_Profile (TProfileCollection)
 | New_Profile (TProfileCollection)
pt | Remove_Profile (TProfileCollection)


TProfileCollection.Clear

Declaration

Source position: ttprofile.pas line 119

public procedure TProfileCollection.Clear;


TProfileCollection.Create

Declaration

Source position: ttprofile.pas line 118

public constructor TProfileCollection.Create(

  APool: TRenderPool

);


TProfileCollection.Destroy

Declaration

Source position: ttprofile.pas line 122

public destructor TProfileCollection.Destroy; override;


TProfileCollection.End_Profile

Declaration

Source position: ttprofile.pas line 121

public procedure TProfileCollection.End_Profile;


TProfileCollection.fProfile

Declaration

Source position: ttprofile.pas line 113

public TProfileCollection.fProfile : TProfile;


TProfileCollection.gProfile

Declaration

Source position: ttprofile.pas line 114

public TProfileCollection.gProfile : TProfile;


TProfileCollection.New_Profile

Declaration

Source position: ttprofile.pas line 120

public procedure TProfileCollection.New_Profile(

  ADirection: TCurveDirection

);


TProfileCollection.nProfs

Declaration

Source position: ttprofile.pas line 116

public TProfileCollection.nProfs : Int;


TProfileCollection.Pool

Declaration

Source position: ttprofile.pas line 111

public TProfileCollection.Pool : TRenderPool;


TProfileCollection.prevProfile

Declaration

Source position: ttprofile.pas line 112

public TProfileCollection.prevProfile : TProfile;


TProfileCollection.Remove_Profile

Declaration

Source position: ttprofile.pas line 109

protected procedure TProfileCollection.Remove_Profile;


TRenderPool

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: ttprofile.pas line 30

type TRenderPool = class

protected

  Precision: Integer;

  PrecisionHalf: Integer;

  BezierPrecision: Integer;

  BoundsMinY: Integer;

  BoundsMaxY: Integer;

  scaleShift: Integer;

  function Bezier_Down();

  function Bezier_State();

  function Bezier_To();

  function Bezier_Up();

  function CEILING();

  function DecomposeCurve();

  function FLOOR();

  function FRAC();

  function GetCapacity;

  function Line_Down();

  function Line_To();

  function Line_Up();

  procedure Move_To();

  procedure PushBezier();

  function SCALED();

  procedure Split_Bezier();

  function TRUNC();

  function RequireCapacity();

  procedure PushValue();

  property Capacity: Integer; [r]

public

  Joint: Boolean;

  Fresh: Boolean;

  cProfile: TProfile;

  ProfileColl: TProfileCollection;

  LastX: LongInt;

  LastY: LongInt;

  CurveDir: TCurveDirection;

  Arcs: TBezierStack;

  CurArc: Int;

  data: ;

  position: Integer;

  constructor Create();

  destructor Destroy; override;

  procedure SetPrecision();

  procedure SetBounds();

  procedure SetScaleShift();

  procedure Clear;

  procedure ReduceCapacity;

  function Convert_Glyph();

end;

Inheritance

TRenderPool

|

TObject


TRenderPool

pt

ro

Capacity


pt

ro

Capacity (TRenderPool)


TRenderPool
pt | Bezier_Down
pt | Bezier_State
pt | Bezier_To
pt | Bezier_Up
pt | CEILING
pt | DecomposeCurve
pt | FLOOR
pt | FRAC
pt | GetCapacity
pt | Line_Down
pt | Line_To
pt | Line_Up
pt | Move_To
pt | PushBezier
pt | SCALED
pt | Split_Bezier
pt | TRUNC
pt | RequireCapacity
pt | PushValue
 | Create
 | Destroy
 | SetPrecision
 | SetBounds
 | SetScaleShift
 | Clear
 | ReduceCapacity
 | Convert_Glyph


pt | Bezier_Down (TRenderPool)
pt | Bezier_State (TRenderPool)
pt | Bezier_To (TRenderPool)
pt | Bezier_Up (TRenderPool)
pt | CEILING (TRenderPool)
 | Clear (TRenderPool)
 | Convert_Glyph (TRenderPool)
 | Create (TRenderPool)
pt | DecomposeCurve (TRenderPool)
 | Destroy (TRenderPool)
pt | FLOOR (TRenderPool)
pt | FRAC (TRenderPool)
pt | GetCapacity (TRenderPool)
pt | Line_Down (TRenderPool)
pt | Line_To (TRenderPool)
pt | Line_Up (TRenderPool)
pt | Move_To (TRenderPool)
pt | PushBezier (TRenderPool)
pt | PushValue (TRenderPool)
 | ReduceCapacity (TRenderPool)
pt | RequireCapacity (TRenderPool)
pt | SCALED (TRenderPool)
 | SetBounds (TRenderPool)
 | SetPrecision (TRenderPool)
 | SetScaleShift (TRenderPool)
pt | Split_Bezier (TRenderPool)
pt | TRUNC (TRenderPool)


TRenderPool


TRenderPool.Arcs

Declaration

Source position: ttprofile.pas line 70

public TRenderPool.Arcs : TBezierStack;


TRenderPool.Bezier_Down

Declaration

Source position: ttprofile.pas line 36

protected function TRenderPool.Bezier_Down(

  miny: Long;

  maxy: Long

):Boolean;


TRenderPool.Bezier_State

Declaration

Source position: ttprofile.pas line 37

protected function TRenderPool.Bezier_State(

  y1: TT_F26Dot6;

  y2: TT_F26Dot6;

  y3: TT_F26Dot6

):TCurveDirection;


TRenderPool.Bezier_To

Declaration

Source position: ttprofile.pas line 38

protected function TRenderPool.Bezier_To(

  x: LongInt;

  y: LongInt;

  Cx: LongInt;

  Cy: LongInt

):Boolean;


TRenderPool.Bezier_Up

Declaration

Source position: ttprofile.pas line 39

protected function TRenderPool.Bezier_Up(

  miny: Long;

  maxy: Long

):Boolean;


TRenderPool.BezierPrecision

Declaration

Source position: ttprofile.pas line 32

protected TRenderPool.BezierPrecision : Integer;


TRenderPool.BoundsMaxY

Declaration

Source position: ttprofile.pas line 33

protected TRenderPool.BoundsMaxY : Integer;


TRenderPool.BoundsMinY

Declaration

Source position: ttprofile.pas line 33

protected TRenderPool.BoundsMinY : Integer;


TRenderPool.Capacity

Declaration

Source position: ttprofile.pas line 57

protected property TRenderPool.Capacity : Integer
  read GetCapacity;


TRenderPool.CEILING

Declaration

Source position: ttprofile.pas line 40

protected function TRenderPool.CEILING(

  x: Long

):Long;


TRenderPool.Clear

Declaration

Source position: ttprofile.pas line 81

public procedure TRenderPool.Clear;


TRenderPool.Convert_Glyph

Declaration

Source position: ttprofile.pas line 83

public function TRenderPool.Convert_Glyph(

  flipped: Boolean;

  points: TT_Points;

  flags: PByte;

  Outs: TT_PConStarts;

  nContours: Int

):Boolean;


TRenderPool.cProfile

Declaration

Source position: ttprofile.pas line 64

public TRenderPool.cProfile : TProfile;


TRenderPool.Create

Declaration

Source position: ttprofile.pas line 76

public constructor TRenderPool.Create(

  APrecision: Integer;

  ABezierPrecision: Integer

);


TRenderPool.CurArc

Declaration

Source position: ttprofile.pas line 71

public TRenderPool.CurArc : Int;


TRenderPool.CurveDir

Declaration

Source position: ttprofile.pas line 68

public TRenderPool.CurveDir : TCurveDirection;


TRenderPool.data

Declaration

Source position: ttprofile.pas line 73

public TRenderPool.data : array of Long;


TRenderPool.DecomposeCurve

Declaration

Source position: ttprofile.pas line 41

protected function TRenderPool.DecomposeCurve(

  first: Int;

  last: Int;

  flipped: Boolean;

  points: TT_Points;

  flags: PByte

):Boolean;


TRenderPool.Destroy

Declaration

Source position: ttprofile.pas line 77

public destructor TRenderPool.Destroy; override;


TRenderPool.FLOOR

Declaration

Source position: ttprofile.pas line 43

protected function TRenderPool.FLOOR(

  x: Long

):Long;


TRenderPool.FRAC

Declaration

Source position: ttprofile.pas line 44

protected function TRenderPool.FRAC(

  x: Long

):Int;


TRenderPool.Fresh

Declaration

Source position: ttprofile.pas line 62

public TRenderPool.Fresh : Boolean;


TRenderPool.GetCapacity

Declaration

Source position: ttprofile.pas line 45

protected function TRenderPool.GetCapacity: Integer;


TRenderPool.Joint

Declaration

Source position: ttprofile.pas line 59

public TRenderPool.Joint : Boolean;


TRenderPool.LastX

Declaration

Source position: ttprofile.pas line 66

public TRenderPool.LastX : LongInt;


TRenderPool.LastY

Declaration

Source position: ttprofile.pas line 67

public TRenderPool.LastY : LongInt;


TRenderPool.Line_Down

Declaration

Source position: ttprofile.pas line 46

protected function TRenderPool.Line_Down(

  x1: LongInt;

  y1: LongInt;

  x2: LongInt;

  y2: LongInt;

  miny: LongInt;

  maxy: LongInt

):Boolean;


TRenderPool.Line_To

Declaration

Source position: ttprofile.pas line 47

protected function TRenderPool.Line_To(

  x: LongInt;

  y: LongInt

):Boolean;


TRenderPool.Line_Up

Declaration

Source position: ttprofile.pas line 48

protected function TRenderPool.Line_Up(

  x1: LongInt;

  y1: LongInt;

  x2: LongInt;

  y2: LongInt;

  miny: LongInt;

  maxy: LongInt

):Boolean;


TRenderPool.Move_To

Declaration

Source position: ttprofile.pas line 49

protected procedure TRenderPool.Move_To(

  x: LongInt;

  y: LongInt

);


TRenderPool.position

Declaration

Source position: ttprofile.pas line 74

public TRenderPool.position : Integer;


TRenderPool.Precision

Declaration

Source position: ttprofile.pas line 32

protected TRenderPool.Precision : Integer;


TRenderPool.PrecisionHalf

Declaration

Source position: ttprofile.pas line 32

protected TRenderPool.PrecisionHalf : Integer;


TRenderPool.ProfileColl

Declaration

Source position: ttprofile.pas line 65

public TRenderPool.ProfileColl : TProfileCollection;


TRenderPool.PushBezier

Declaration

Source position: ttprofile.pas line 50

protected procedure TRenderPool.PushBezier(

  x1: LongInt;

  y1: LongInt;

  x2: LongInt;

  y2: LongInt;

  x3: LongInt;

  y3: LongInt

);


TRenderPool.PushValue

Declaration

Source position: ttprofile.pas line 56

protected procedure TRenderPool.PushValue(

  AValue: Long

);


TRenderPool.ReduceCapacity

Declaration

Source position: ttprofile.pas line 82

public procedure TRenderPool.ReduceCapacity;


TRenderPool.RequireCapacity

Declaration

Source position: ttprofile.pas line 55

protected function TRenderPool.RequireCapacity(

  count: Integer

):Boolean;


TRenderPool.SCALED

Declaration

Source position: ttprofile.pas line 51

protected function TRenderPool.SCALED(

  x: Long

):Long;


TRenderPool.scaleShift

Declaration

Source position: ttprofile.pas line 34

protected TRenderPool.scaleShift : Integer;


TRenderPool.SetBounds

Declaration

Source position: ttprofile.pas line 79

public procedure TRenderPool.SetBounds(

  MinY: Integer;

  MaxY: Integer

);


TRenderPool.SetPrecision

Declaration

Source position: ttprofile.pas line 78

public procedure TRenderPool.SetPrecision(

  APrecision: Integer;

  ABezierPrecision: Integer

);


TRenderPool.SetScaleShift

Declaration

Source position: ttprofile.pas line 80

public procedure TRenderPool.SetScaleShift(

  value: Integer

);


TRenderPool.Split_Bezier

Declaration

Source position: ttprofile.pas line 52

protected procedure TRenderPool.Split_Bezier(

  base: PBezierStack

);


TRenderPool.TRUNC

Declaration

Source position: ttprofile.pas line 53

protected function TRenderPool.TRUNC(

  x: Long

):Long;


TFreeTypeRasterizer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: ttraster.pas line 80

type TFreeTypeRasterizer = class(TFreeTypeCustomRasterizer)

public

  function Render_Glyph(); override;

  function Render_Gray_Glyph(); override;

  function Render_Gray_Glyph_HQ(); override;

  function Render_Directly_Gray_Glyph(); override;

  function Render_Directly_Gray_Glyph_HQ(); override;

  procedure Set_Raster_Palette(); override;

  constructor Create;

  destructor Destroy; override;

end;

Inheritance

TFreeTypeRasterizer

|

TFreeTypeCustomRasterizer

|

TObject


TFreeTypeRasterizer

TFreeTypeCustomRasterizer


TFreeTypeRasterizer
 | Render_Glyph
 | Render_Gray_Glyph
 | Render_Gray_Glyph_HQ
 | Render_Directly_Gray_Glyph
 | Render_Directly_Gray_Glyph_HQ
 | Set_Raster_Palette
 | Create
 | Destroy
TFreeTypeCustomRasterizer
 | Render_Glyph
 | Render_Gray_Glyph
 | Render_Gray_Glyph_HQ
 | Render_Directly_Gray_Glyph
 | Render_Directly_Gray_Glyph_HQ
 | Set_Raster_Palette


Create (TFreeTypeRasterizer)

Destroy (TFreeTypeRasterizer)

Render_Directly_Gray_Glyph (TFreeTypeCustomRasterizer)

Render_Directly_Gray_Glyph (TFreeTypeRasterizer)

Render_Directly_Gray_Glyph_HQ (TFreeTypeCustomRasterizer)

Render_Directly_Gray_Glyph_HQ (TFreeTypeRasterizer)

Render_Glyph (TFreeTypeCustomRasterizer)

Render_Glyph (TFreeTypeRasterizer)

Render_Gray_Glyph (TFreeTypeCustomRasterizer)

Render_Gray_Glyph (TFreeTypeRasterizer)

Render_Gray_Glyph_HQ (TFreeTypeCustomRasterizer)

Render_Gray_Glyph_HQ (TFreeTypeRasterizer)

Set_Raster_Palette (TFreeTypeCustomRasterizer)

Set_Raster_Palette (TFreeTypeRasterizer)


TFreeTypeRasterizer.Create

Declaration

Source position: ttraster.pas line 203

public constructor TFreeTypeRasterizer.Create;


TFreeTypeRasterizer.Destroy

Declaration

Source position: ttraster.pas line 204

public destructor TFreeTypeRasterizer.Destroy; override;


TFreeTypeRasterizer.Render_Directly_Gray_Glyph

Declaration

Source position: ttraster.pas line 192

public function TFreeTypeRasterizer.Render_Directly_Gray_Glyph(

  var glyph: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  palette: PTT_Gray_Palette

):TError; override;


TFreeTypeRasterizer.Render_Directly_Gray_Glyph_HQ

Declaration

Source position: ttraster.pas line 197

public function TFreeTypeRasterizer.Render_Directly_Gray_Glyph_HQ(

  var glyph: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction

):TError; override;


TFreeTypeRasterizer.Render_Glyph

Declaration

Source position: ttraster.pas line 176

public function TFreeTypeRasterizer.Render_Glyph(

  var glyph: TT_Outline;

  var target: TT_Raster_Map

):TError; override;


TFreeTypeRasterizer.Render_Gray_Glyph

Declaration

Source position: ttraster.pas line 181

public function TFreeTypeRasterizer.Render_Gray_Glyph(

  var glyph: TT_Outline;

  var target: TT_Raster_Map;

  palette: PTT_Gray_Palette

):TError; override;


TFreeTypeRasterizer.Render_Gray_Glyph_HQ

Declaration

Source position: ttraster.pas line 189

public function TFreeTypeRasterizer.Render_Gray_Glyph_HQ(

  var glyph: TT_Outline;

  var target: TT_Raster_Map

):TError; override;


TFreeTypeRasterizer.Set_Raster_Palette

Declaration

Source position: ttraster.pas line 201

public procedure TFreeTypeRasterizer.Set_Raster_Palette(

  const palette: TT_Gray_Palette

); override;


TFreeTypeCustomRasterizer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: tttypes.pas line 489

type TFreeTypeCustomRasterizer = class

  function Render_Glyph(); virtual; abstract;

  function Render_Gray_Glyph(); virtual; abstract;

  function Render_Gray_Glyph_HQ(); virtual; abstract;

  function Render_Directly_Gray_Glyph(); virtual; abstract;

  function Render_Directly_Gray_Glyph_HQ(); virtual; abstract;

  procedure Set_Raster_Palette(); virtual; abstract;

end;

Inheritance

TFreeTypeCustomRasterizer

|

TObject


TFreeTypeCustomRasterizer


TFreeTypeCustomRasterizer
 | Render_Glyph
 | Render_Gray_Glyph
 | Render_Gray_Glyph_HQ
 | Render_Directly_Gray_Glyph
 | Render_Directly_Gray_Glyph_HQ
 | Set_Raster_Palette


Render_Directly_Gray_Glyph (TFreeTypeCustomRasterizer)

Render_Directly_Gray_Glyph_HQ (TFreeTypeCustomRasterizer)

Render_Glyph (TFreeTypeCustomRasterizer)

Render_Gray_Glyph (TFreeTypeCustomRasterizer)

Render_Gray_Glyph_HQ (TFreeTypeCustomRasterizer)

Set_Raster_Palette (TFreeTypeCustomRasterizer)


TFreeTypeCustomRasterizer.Render_Directly_Gray_Glyph

Declaration

Source position: tttypes.pas line 506

function TFreeTypeCustomRasterizer.Render_Directly_Gray_Glyph(

  var glyph: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  palette: PTT_Gray_Palette

):TError; virtual; abstract;


TFreeTypeCustomRasterizer.Render_Directly_Gray_Glyph_HQ

Declaration

Source position: tttypes.pas line 511

function TFreeTypeCustomRasterizer.Render_Directly_Gray_Glyph_HQ(

  var glyph: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction

):TError; virtual; abstract;


TFreeTypeCustomRasterizer.Render_Glyph

Declaration

Source position: tttypes.pas line 490

function TFreeTypeCustomRasterizer.Render_Glyph(

  var glyph: TT_Outline;

  var target: TT_Raster_Map

):TError; virtual; abstract;


TFreeTypeCustomRasterizer.Render_Gray_Glyph

Declaration

Source position: tttypes.pas line 495

function TFreeTypeCustomRasterizer.Render_Gray_Glyph(

  var glyph: TT_Outline;

  var target: TT_Raster_Map;

  palette: PTT_Gray_Palette

):TError; virtual; abstract;


TFreeTypeCustomRasterizer.Render_Gray_Glyph_HQ

Declaration

Source position: tttypes.pas line 503

function TFreeTypeCustomRasterizer.Render_Gray_Glyph_HQ(

  var glyph: TT_Outline;

  var target: TT_Raster_Map

):TError; virtual; abstract;


TFreeTypeCustomRasterizer.Set_Raster_Palette

Declaration

Source position: tttypes.pas line 515

procedure TFreeTypeCustomRasterizer.Set_Raster_Palette(

  const palette: TT_Gray_Palette

); virtual; abstract;


TProcessUTF8

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a version of FPC TProcess that allows UTF-8-encoded arguments

Declaration

Source position: utf8process.pp line 42

type TProcessUTF8 = class(TProcess)
public
constructor Create(); override; | Constructor for the class instance
destructor Destroy; override; | Destructor for the class instance
procedure Execute; override; | Starts execution of the process
procedure ParseCmdLine(); | Separates values in CommandLine into the Executable and Parameters properties
published
property ApplicationName: string; [rw] |
property CommandLine: string; [rw] | Command line with options to execute in the process
property ConsoleTitle: string; [rw] |
property CurrentDirectory: string; [rw] |
property Desktop: string; [rw] |
property Environment: TStrings; [rw] |
property Executable: string; [rw] |
property Parameters: TStrings; [rw] |
end;

Inheritance

TProcessUTF8

Implements a version of FPC TProcess that allows UTF-8-encoded arguments

|

TProcess
|

TComponent,IUnknown,IInterfaceComponentReference
|

TPersistent,IFPObserved
|

TObject


TProcessUTF8
pl |  | ApplicationName
pl |  | CommandLine
pl |  | ConsoleTitle
pl |  | CurrentDirectory
pl |  | Desktop
pl |  | Environment
pl |  | Executable
pl |  | Parameters
TProcess
 |  | WindowRect
 | ro | Handle
 | ro | ProcessHandle
 | ro | ThreadHandle
 | ro | ProcessID
 | ro | ThreadID
 | ro | Input
 | ro | Output
 | ro | Stderr
 | ro | ExitStatus
 | ro | ExitCode
 |  | InheritHandles
 |  | PipeBufferSize
 |  | Active
 |  | ApplicationName
 |  | CommandLine
 |  | Executable
 |  | Parameters
 |  | ConsoleTitle
 |  | CurrentDirectory
 |  | Desktop
 |  | Environment
 |  | Options
 |  | Priority
 |  | StartupOptions
 | ro | Running
 |  | ShowWindow
 |  | WindowColumns
 |  | WindowHeight
 |  | WindowLeft
 |  | WindowRows
 |  | WindowTop
 |  | WindowWidth
 |  | FillAttribute
 |  | XTermProgram
TComponent
 | ro | ComObject
 | ro | Components
 | ro | ComponentCount
 |  | ComponentIndex
 | ro | ComponentState
 | ro | ComponentStyle
 |  | DesignInfo
 | ro | Owner
 |  | VCLComObject
 |  | Name
 |  | Tag
TPersistent
TObject


pl |  | ApplicationName (TProcessUTF8)
 |  | CommandLine (TProcess)
pl |  | CommandLine (TProcessUTF8)
 | ro | ComObject (TComponent)
 | ro | ComponentCount (TComponent)
 |  | ComponentIndex (TComponent)
 | ro | Components (TComponent)
 | ro | ComponentState (TComponent)
 | ro | ComponentStyle (TComponent)
 |  | ConsoleTitle (TProcess)
pl |  | ConsoleTitle (TProcessUTF8)
 |  | CurrentDirectory (TProcess)
pl |  | CurrentDirectory (TProcessUTF8)
 |  | DesignInfo (TComponent)
 |  | Desktop (TProcess)
pl |  | Desktop (TProcessUTF8)
 |  | Environment (TProcess)
pl |  | Environment (TProcessUTF8)
 |  | Executable (TProcess)
pl |  | Executable (TProcessUTF8)
 | ro | ExitCode (TProcess)
 | ro | ExitStatus (TProcess)
 |  | FillAttribute (TProcess)
 | ro | Handle (TProcess)
 |  | InheritHandles (TProcess)
 | ro | Input (TProcess)
 |  | Name (TComponent)
 |  | Options (TProcess)
 | ro | Output (TProcess)
 | ro | Owner (TComponent)
 |  | Parameters (TProcess)
pl |  | Parameters (TProcessUTF8)
 |  | PipeBufferSize (TProcess)
 |  | Priority (TProcess)
 | ro | ProcessHandle (TProcess)
 | ro | ProcessID (TProcess)
 | ro | Running (TProcess)
 |  | ShowWindow (TProcess)
 |  | StartupOptions (TProcess)
 | ro | Stderr (TProcess)
 |  | Tag (TComponent)
 | ro | ThreadHandle (TProcess)
 | ro | ThreadID (TProcess)
 |  | VCLComObject (TComponent)
 |  | WindowColumns (TProcess)
 |  | WindowHeight (TProcess)
 |  | WindowLeft (TProcess)
 |  | WindowRect (TProcess)
 |  | WindowRows (TProcess)
 |  | WindowTop (TProcess)
 |  | WindowWidth (TProcess)
 |  | XTermProgram (TProcess)


TProcessUTF8
 | Create
 | Destroy
 | Execute
 | ParseCmdLine
TProcess
 | FreeStreams
 | GetExitStatus
 | GetExitCode
 | GetRunning
 | GetWindowRect
 | SetCommandLine
 | SetParameters
 | SetWindowRect
 | SetShowWindow
 | SetWindowColumns
 | SetWindowHeight
 | SetWindowLeft
 | SetWindowRows
 | SetWindowTop
 | SetWindowWidth
 | SetApplicationName
 | SetProcessOptions
 | SetActive
 | SetEnvironment
 | ConvertCommandLine
 | PeekExitStatus
 | CloseProcessHandles
 | CreateStreams
 | FreeStream
 | Loaded
 | Create
 | Destroy
 | Execute
 | CloseInput
 | CloseOutput
 | CloseStderr
 | Resume
 | Suspend
 | Terminate
 | WaitOnExit
TComponent
 | GetComObject
 | GetComponent
 | GetComponentCount
 | GetComponentIndex
 | Insert
 | ReadLeft
 | ReadTop
 | Remove
 | RemoveNotification
 | SetComponentIndex
 | SetReference
 | WriteLeft
 | WriteTop
 | ChangeName
 | DefineProperties
 | GetChildren
 | GetChildOwner
 | GetChildParent
 | GetOwner
 | Loaded
 | Loading
 | Notification
 | PaletteCreated
 | ReadState
 | SetAncestor
 | SetDesigning
 | SetDesignInstance
 | SetInline
 | SetName
 | SetChildOrder
 | SetParentComponent
 | Updating
 | Updated
 | UpdateRegistry
 | ValidateRename
 | ValidateContainer
 | ValidateInsert
 | QueryInterface
 | _AddRef
 | _Release
 | iicrGetComponent
 | GetTypeInfoCount
 | GetTypeInfo
 | GetIDsOfNames
 | Invoke
 | WriteState
 | Create
 | Destroy
 | BeforeDestruction
 | DestroyComponents
 | Destroying
 | ExecuteAction
 | FindComponent
 | FreeNotification
 | RemoveFreeNotification
 | FreeOnRelease
 | GetEnumerator
 | GetNamePath
 | GetParentComponent
 | HasParent
 | InsertComponent
 | RemoveComponent
 | SafeCallException
 | SetSubComponent
 | UpdateAction
 | IsImplementorOf
 | ReferenceInterface
TPersistent
 | AssignError
 | AssignTo
 | DefineProperties
 | GetOwner
 | Destroy
 | Assign
 | FPOAttachObserver
 | FPODetachObserver
 | FPONotifyObservers
 | GetNamePath
TObject
 | Create
 | Destroy
 | newinstance
 | FreeInstance
 | SafeCallException
 | DefaultHandler
 | Free
 | InitInstance
 | CleanupInstance
 | ClassType
 | ClassInfo
 | ClassName
 | ClassNameIs
 | ClassParent
 | InstanceSize
 | InheritsFrom
 | StringMessageTable
 | MethodAddress
 | MethodName
 | FieldAddress
 | AfterConstruction
 | BeforeDestruction
 | DefaultHandlerStr
 | Dispatch
 | DispatchStr
 | GetInterface
 | GetInterfaceByStr
 | GetInterfaceWeak
 | GetInterfaceEntry
 | GetInterfaceEntryByStr
 | GetInterfaceTable
 | UnitName
 | Equals
 | GetHashCode
 | ToString


AssignError (TPersistent)

AssignTo (TPersistent)

BeforeDestruction (TObject)

BeforeDestruction (TComponent)

ChangeName (TComponent)

ClassInfo (TObject)

ClassName (TObject)

ClassNameIs (TObject)

ClassParent (TObject)

ClassType (TObject)

CleanupInstance (TObject)

CloseInput (TProcess)

CloseOutput (TProcess)

CloseProcessHandles (TProcess)

CloseStderr (TProcess)

ConvertCommandLine (TProcess)

Create (TObject)

Create (TComponent)

Create (TProcess)

Create (TProcessUTF8)

CreateStreams (TProcess)

DefaultHandler (TObject)

DefaultHandlerStr (TObject)

DefineProperties (TPersistent)

DefineProperties (TComponent)

Destroy (TObject)

Destroy (TPersistent)

Destroy (TComponent)

Destroy (TProcess)

Destroy (TProcessUTF8)

DestroyComponents (TComponent)

Destroying (TComponent)

Dispatch (TObject)

DispatchStr (TObject)

Equals (TObject)

Execute (TProcess)

Execute (TProcessUTF8)

ExecuteAction (TComponent)

FieldAddress (TObject)

FindComponent (TComponent)

FPOAttachObserver (TPersistent)

FPODetachObserver (TPersistent)

FPONotifyObservers (TPersistent)

Free (TObject)

FreeInstance (TObject)

FreeNotification (TComponent)

FreeOnRelease (TComponent)

FreeStream (TProcess)

FreeStreams (TProcess)

GetChildOwner (TComponent)

GetChildParent (TComponent)

GetChildren (TComponent)

GetComObject (TComponent)

GetComponent (TComponent)

GetComponentCount (TComponent)

GetComponentIndex (TComponent)

GetEnumerator (TComponent)

GetExitCode (TProcess)

GetExitStatus (TProcess)

GetHashCode (TObject)

GetIDsOfNames (TComponent)

GetInterface (TObject)

GetInterfaceByStr (TObject)

GetInterfaceEntry (TObject)

GetInterfaceEntryByStr (TObject)

GetInterfaceTable (TObject)

GetInterfaceWeak (TObject)

GetNamePath (TPersistent)

GetNamePath (TComponent)

GetOwner (TPersistent)

GetOwner (TComponent)

GetParentComponent (TComponent)

GetRunning (TProcess)

GetTypeInfo (TComponent)

GetTypeInfoCount (TComponent)

GetWindowRect (TProcess)

HasParent (TComponent)

iicrGetComponent (TComponent)

InheritsFrom (TObject)

InitInstance (TObject)

Insert (TComponent)

InsertComponent (TComponent)

InstanceSize (TObject)

Invoke (TComponent)

IsImplementorOf (TComponent)

Loaded (TComponent)

Loaded (TProcess)

Loading (TComponent)

MethodAddress (TObject)

MethodName (TObject)

newinstance (TObject)

Notification (TComponent)

PaletteCreated (TComponent)

ParseCmdLine (TProcessUTF8)

PeekExitStatus (TProcess)

QueryInterface (TComponent)

ReadLeft (TComponent)

ReadState (TComponent)

ReadTop (TComponent)

ReferenceInterface (TComponent)

Remove (TComponent)

RemoveComponent (TComponent)

RemoveFreeNotification (TComponent)

RemoveNotification (TComponent)

Resume (TProcess)

SafeCallException (TObject)

SafeCallException (TComponent)

SetActive (TProcess)

SetAncestor (TComponent)

SetApplicationName (TProcess)

SetChildOrder (TComponent)

SetCommandLine (TProcess)

SetComponentIndex (TComponent)

SetDesigning (TComponent)

SetDesignInstance (TComponent)

SetEnvironment (TProcess)

SetInline (TComponent)

SetName (TComponent)

SetParameters (TProcess)

SetParentComponent (TComponent)

SetProcessOptions (TProcess)

SetReference (TComponent)

SetShowWindow (TProcess)

SetSubComponent (TComponent)

SetWindowColumns (TProcess)

SetWindowHeight (TProcess)

SetWindowLeft (TProcess)

SetWindowRect (TProcess)

SetWindowRows (TProcess)

SetWindowTop (TProcess)

SetWindowWidth (TProcess)

StringMessageTable (TObject)

Suspend (TProcess)

Terminate (TProcess)

ToString (TObject)

UnitName (TObject)

UpdateAction (TComponent)

Updated (TComponent)

UpdateRegistry (TComponent)

Updating (TComponent)

ValidateContainer (TComponent)

ValidateInsert (TComponent)

ValidateRename (TComponent)

WaitOnExit (TProcess)

WriteLeft (TComponent)

WriteState (TComponent)

WriteTop (TComponent)

_AddRef (TComponent)

_Release (TComponent)


TProcessUTF8

TProcess

OnForkEvent

TComponent

TPersistent

TObject


TProcessUTF8.ParseCmdLine

Separates values in CommandLine into the Executable and Parameters properties

Declaration

Source position: utf8process.pp line 65

public procedure TProcessUTF8.ParseCmdLine(

  const CmdLine: string;

  ReadBackslash: Boolean = False

);

Description

ParseCmdLine is used to separate the values in CommandLine into the values used in the Executable and Parameters properties.


CompareAnsiStringWithStrToStrItem

Declaration

Source position: avglvltree.pas line 308

function CompareAnsiStringWithStrToStrItem(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareAnsiStringWithStrToStrItemI

Declaration

Source position: avglvltree.pas line 310

function CompareAnsiStringWithStrToStrItemI(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareFilenameAndFilenameToStringTreeItem

Declaration

Source position: avglvltree.pas line 313

function CompareFilenameAndFilenameToStringTreeItem(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareFilenameAndFilenameToStringTreeItemI

Declaration

Source position: avglvltree.pas line 315

function CompareFilenameAndFilenameToStringTreeItemI(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareFilenameToStringItems

Declaration

Source position: avglvltree.pas line 312

function CompareFilenameToStringItems(

  Data1: Pointer;

  Data2: Pointer

):Integer;


CompareFilenameToStringItemsI

Declaration

Source position: avglvltree.pas line 314

function CompareFilenameToStringItemsI(

  Data1: Pointer;

  Data2: Pointer

):Integer;


ComparePointer

Declaration

Source position: avglvltree.pas line 303

function ComparePointer(

  Data1: Pointer;

  Data2: Pointer

):Integer;


ComparePointerToPointerItems

Declaration

Source position: avglvltree.pas line 304

function ComparePointerToPointerItems(

  Data1: Pointer;

  Data2: Pointer

):Integer;


ComparePointerWithPtrToPtrItem

Declaration

Source position: avglvltree.pas line 305

function ComparePointerWithPtrToPtrItem(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareStringToStringItems

Declaration

Source position: avglvltree.pas line 307

function CompareStringToStringItems(

  Data1: Pointer;

  Data2: Pointer

):Integer;


CompareStringToStringItemsI

Declaration

Source position: avglvltree.pas line 309

function CompareStringToStringItemsI(

  Data1: Pointer;

  Data2: Pointer

):Integer;


CallDefinePropertiesPas

Declaration

Source position: compwriterpas.pas line 211

procedure CallDefinePropertiesPas(

  Writer: TCompWriterPas;

  Instance: TPersistent;

  const Identifier: string;

  var Handled: Boolean

);


RegisterDefinePropertiesPas

Declaration

Source position: compwriterpas.pas line 207

procedure RegisterDefinePropertiesPas(

  aClass: TPersistentClass;

  const OnDefineProperties: TCWPDefinePropertiesProc

);


UnregisterDefinePropertiesPas

Declaration

Source position: compwriterpas.pas line 209

procedure UnregisterDefinePropertiesPas(

  const OnDefineProperties: TCWPDefinePropertiesProc

);


WriteComponentToPasStream

Declaration

Source position: compwriterpas.pas line 201

procedure WriteComponentToPasStream(

  AComponent: TComponent;

  AStream: TStream

);


FontCollectionItemDestroyListener

Declaration

Source position: easylazfreetype.pas line 67

function FontCollectionItemDestroyListener(

  ATargetObject: TObject;

  ANotifyProc: TFontCollectionItemDestroyProc

):TFontCollectionItemDestroyListener;


StylesToArray

Declaration

Source position: easylazfreetype.pas line 427

function StylesToArray(

  AStyles: string

):ArrayOfString;


CompareFilenames

CompareFileNames - compares two file names to see whether they are equal

Declaration

Source position: fileutil.pas line 55

function CompareFilenames(

  Filename1: PChar;

  Len1: Integer;

  Filename2: PChar;

  Len2: Integer;

  ResolveLinks: Boolean

):Integer; overload;

Arguments

Filename1 | First filename
Len1 | Length of first filename
Filename2 | Second filename
Len2 | Length of second filename
ResolveLinks | ResolveLinks - if True, searches through links to find the actual file for comparison

Function result

Returns zero if files are equal, or the index of differences, or the difference in length if filenames are not equal


ComparePhysicalFilenames

Declaration

Source position: fileutil.pas line 54

function ComparePhysicalFilenames(

  const Filename1: string;

  const Filename2: string

):Integer;


CopyDirTree

Declaration

Source position: fileutil.pas line 208

function CopyDirTree(

  const SourceDir: string;

  const TargetDir: string;

  Flags: TCopyFileFlags = []

):Boolean;


CopyFile

CopyFile - copies Source file to Destination file, optionally preserving the timestamp of the original file

Declaration

Source position: fileutil.pas line 205

function CopyFile(

  const SrcFilename: string;

  const DestFilename: string;

  Flags: TCopyFileFlags = [cffOverwriteFile];

  ExceptionOnError: Boolean = False

):Boolean;

function CopyFile(

  const SrcFilename: string;

  const DestFilename: string;

  PreserveTime: Boolean;

  ExceptionOnError: Boolean = False

):Boolean;

Arguments

SrcFilename | The source filename for the Copy
DestFilename | The destination filename for the Copy

Function result

Returns True if successful, False if there was an error

Arguments

SrcFilename | The source filename for the Copy
DestFilename | The destination filename for the Copy
PreserveTime | If True, the timestamp of the original file is preserved in the copied file

Errors

An exception is raised if the copy process does not complete successfully or correctly.


CreateAbsolutePath

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

CreateAbsolutePath (deprecated)

Deprecated

Declaration

Source position: fileutil.pas line 70

function CreateAbsolutePath(

  const Filename: string;

  const BaseDirectory: string

):string;

Description

Deprecated. Use the function from the LazFileUtils unit.


CreateAbsoluteSearchPath

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

CreateAbsoluteSearchPath (deprecated)

CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files

Declaration

Source position: fileutil.pas line 69

function CreateAbsoluteSearchPath(

  const SearchPath: string;

  const BaseDirectory: string

):string;

Arguments

SearchPath | The search path (a relative path)
BaseDirectory | The base directory from which to form the absolute path

Function result

The absolute path formed by concatenating BaseDirectory and SearchPath

Description

CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files.

The routine adds the appropriate path delimiters to the BaseDirectory string, and adds the search path. Each directory in the search path is examined to ensure that each is also an absolute directory path. The return value contains the fully-formed absolute search path.

If BaseDirectory is empty, the function exits with a return value equal to SearchPath. if SearchPath is empty, the function exits with empty string ('') in the return value.

Deprecated. Use the CreateAbsoluteSearchPath function from the LazFileUtils unit.

Version info

Deprecated in LCL version 2.1.0.


DeleteDirectory

DeleteDirectory - Delete the named directory (or only its contents if OnlyChildren is True)

Declaration

Source position: fileutil.pas line 58

function DeleteDirectory(

  const DirectoryName: string;

  OnlyChildren: Boolean

):Boolean;

Arguments

DirectoryName | The name of the directory for processing
OnlyChildren | If True, only the contents ('children') of the directory are removed

Function result

Returns True if the directory or its contents were correctly removed

Errors

If there was an error, such as trying to removing . or .., or there were insufficient permissions, or the file did not exist, False is returned


ExpandUNCFileNameUTF8

Declaration

Source position: fileutil.pas line 62

function ExpandUNCFileNameUTF8(

  const FileName: string

):string;


ExtractFileNameWithoutExt

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

ExtractFileNameWithoutExt (deprecated)

ExtractFileNameWithoutExt - returns just the name of the file without an extension

Declaration

Source position: fileutil.pas line 68

function ExtractFileNameWithoutExt(

  const AFilename: string

):string;

Arguments

AFilename

The name of the file for checking

Function result

Returns the original file name if it had no extension, otherwise returns the file name with its extension removed


ExtractShortPathNameUTF8

Declaration

Source position: fileutil.pas line 57

function ExtractShortPathNameUTF8(

  const FileName: string

):string;


FileIsInDirectory

FileIsInDirectory - checks whether a file with FileName exists within the given Directory

Declaration

Source position: fileutil.pas line 66

function FileIsInDirectory(

  const Filename: string;

  const Directory: string

):Boolean;

Arguments

Filename | The name of the file to be checked
Directory | The name of the directory to be searched for the file

Function result

Returns True if the file is in the directory

Description

FileIsInDirectory - checks whether a file with FileName exists within the given Directory.


FileIsInPath

FileIsInPath - checks that FileName refers to a file that exists within the given Path

Declaration

Source position: fileutil.pas line 65

function FileIsInPath(

  const Filename: string;

  const Path: string

):Boolean;

Arguments

Filename | The name of the file for checking
Path | The Path to be searched

Function result

Returns True if a file named Filename exists within the given Path


FilenameIsPascalUnit

FilenameIsPascalUnit - checks that the supplied name is a correct Pascal unit name

Declaration

Source position: fileutil.pas line 64

function FilenameIsPascalUnit(

  const Filename: string

):Boolean;

Arguments

Filename

The name of the file to examine

Function result

Returns True if the supplied name is a correct Pascal Unit filename

Description

FilenameIsPascalUnit - checks that the supplied name is a correct Pascal unit name. It examines the file extension to see if it matches one of the standard Pascal extensions (currently .p, .pp, .pas).


FileSize

FileSize - finds the size of the named file

Declaration

Source position: fileutil.pas line 63

function FileSize(

  const Filename: string

):Int64; overload;

Arguments

Filename

The name of the file for checking

Function result

Returns the size of the file, or -1 if not there


FindAllDirectories

Stores directory names matching the search criteria in a TStringList class instance

Declaration

Source position: fileutil.pas line 190

function FindAllDirectories(

  const SearchPath: string;

  SearchSubDirs: Boolean = True;

  PathSeparator: Char = ';'

):TStringList; overload;

procedure FindAllDirectories(

  AList: TStrings;

  const SearchPath: string;

  SearchSubDirs: Boolean = True;

  PathSeparator: Char = ';'

); overload;

Function result

Stores directory names matching the search criteria

Arguments

AList

Stores directory names matching the search criteria

Description

FindAllDirectories is an overloaded routine used to store directory path names that match the specified search criteria in a TStringList class instance. The procedure variant uses an existing TStringList class instance to store the matching directory names. The function variant allocates a TStringList class instance used to capture the matching directory names.


FindAllFiles

Returns the list of files in the specified path matching the search criteria

Declaration

Source position: fileutil.pas line 183

function FindAllFiles(

  const SearchPath: string;

  SearchMask: string = '';

  SearchSubDirs: Boolean = True;

  DirAttr: Word = faDirectory;

  MaskSeparator: Char = ';';

  PathSeparator: Char = ';'

):TStringList; overload;

procedure FindAllFiles(

  AList: TStrings;

  const SearchPath: string;

  SearchMask: string = '';

  SearchSubDirs: Boolean = True;

  DirAttr: Word = faDirectory;

  MaskSeparator: Char = ';';

  PathSeparator: Char = ';'

); overload;

Arguments

SearchPath | Base path for searching files
SearchMask | A list of masks, separated by a semicolon (;) to which found files should match
SearchSubDirs | If search recursively sub directories
PathSeparator | If search recursively sub directories

Function result

The StringList is created in the FindAllFiles function; you should not instantiate it before calling the function.

Arguments

AList | TStringList used to store file names matching the search criteria
SearchPath | Base path for searching files
SearchMask | A list of masks, separated by a semicolon (;) to which found files should match
SearchSubDirs | If search recursively sub directories
PathSeparator | If search recursively sub directories

Description

FindAllFiles is an overloaded method used to populate a TStringList class instance with a list of files match the specified search criteria. The procedure variant uses an existing TStringList class instance to store the matching file names. The function variant creates the TStringList class instance used as the return value for the method.


FindDefaultExecutablePath

FindDefaultExecutablePath - finds the default path to the named Executable file

Declaration

Source position: fileutil.pas line 101

function FindDefaultExecutablePath(

  const Executable: string;

  const BaseDir: string = ''

):string;

Arguments

Executable

The name of the Executable file

Function result

Returns the filename of the Executable file with path information attached

Description

FindDefaultExecutablePath - finds the default path to the named Executable file. On Windows systems, it looks for files both with and without the '.EXE' extension.

If Executable is not an absolute filename the executable is searched using the environment variable PATH. Relative directories in PATH are expanded using BaseDir.

On non-Unix systems (e.g. Windows), it searches in BaseDir as well. While on Unix systems (e.g. Linux, OS X) it only searches in BaseDir, if PATH contains the '.' directory.


FindDiskFileCaseInsensitive

FindDiskFileCaseInsensitive - searches for the given FileName in a case insensitive manner

Declaration

Source position: fileutil.pas line 100

function FindDiskFileCaseInsensitive(

  const Filename: string

):string;

Arguments

Filename

The name of the file for processing

Function result

If it exists, returns the file name with path information otherwise returns an empty string


FindDiskFilename

FindDiskFilename - finds the file that best fits the supplied filename

Declaration

Source position: fileutil.pas line 99

function FindDiskFilename(

  const Filename: string

):string;

Arguments

Filename

The name of the file for checking

Function result

Returns the best fitting filename from the disk (taking case into consideration)

Description

FindDiskFilename - finds the file that best fits the supplied filename. Searches for the filename case on disk. The file must exist.

For example: If Filename='file' and there is only a 'File', then 'File' will be returned.


GetAllFilesMask

File mask representing all files suitable for showing in a file filter.

Declaration

Source position: fileutil.pas line 72

function GetAllFilesMask: string;

Description

GetAllFilesMask returns a File Mask suitable for showing in a filter of a Open File Dialog. For Windows, '*.*' is returned; on other operating systems just '*'.


GetExeExt

GetExeExt - find the correct extension (including the starting .) for an executable file

Declaration

Source position: fileutil.pas line 73

function GetExeExt: string;

Function result

Returns '.exe' in Windows, nothing in other systems.


ProgramDirectory

ProgramDirectory - returns the directory in which the currently running program resides

Declaration

Source position: fileutil.pas line 59

function ProgramDirectory: string;

Function result

Returns the name of the directory in which the current program is found


ProgramDirectoryWithBundle

Declaration

Source position: fileutil.pas line 60

function ProgramDirectoryWithBundle: string;


ReadFileToString

ReadFileToString - returns a string with the contents of the named file

Declaration

Source position: fileutil.pas line 74

function ReadFileToString(

  const Filename: string

):string;

Arguments

Filename

The name of the file for processing

Function result

The contents of the file as a string, or an empty string if there is an error or the file is empty

Description

ReadFileToString opens the file and reads its contents into a Stream, then reads the stream to construct the Result string.

Errors

If there is an error in reading the file, an exception is raised and an empty string is returned.


SearchAllFilesInPath

SearchAllFilesInPath - searches for all files named Filename in the given SearchPath using the supplied BasePath with the specified Delimiter and the options listed in Flags

Declaration

Source position: fileutil.pas line 97

function SearchAllFilesInPath(

  const Filename: string;

  const BasePath: string;

  const SearchPath: string;

  const Delimiter: string;

  Flags: TSearchFileInPathFlags

):TStrings;

Arguments

Filename | The name of the file for searching
BasePath | The BasePath to be used for the search
SearchPath | The path for searching
Delimiter | The directory Delimiter to be used in the search
Flags | Flags specifying how to search: e.g. don't search in base path, case independent search

Function result

Returns fully specified file names of all files that match the supplied criteria, or empty string if file not found

Description

SearchAllFilesInPath searches the whole path unless the sffDontSearchInBasePath flag is present.

Returns all files that match the supplied criteria


SearchFileInPath

SearchFileInPath - searches for Filename in the given SearchPath using the supplied BasePath with the specified Delimiter and the options listed in Flags

Declaration

Source position: fileutil.pas line 94

function SearchFileInPath(

  const Filename: string;

  const BasePath: string;

  SearchPath: string;

  const Delimiter: string;

  Flags: TSearchFileInPathFlags

):string; overload;

Arguments

Filename | The name of the file for searching
BasePath | The BasePath to be used for the search
SearchPath | The path for searching
Delimiter | The directory Delimiter to be used in the search
Flags | Flags specifying how to search: e.g. don't search in base path, case independent search

Function result

Returns fully specified file name of the first file that matches the supplied criteria, or empty string if file not found

Description

Searches the whole path. Relative folder file names are expanded using BasePath. By default if BasePath is set it is searched as well, unless sffDontSearchInBasePath flag is present.

Returns the first file that matches the supplied criteria.

Errors

If the file does not exist, an empty string is returned


AlignToInt

Aligns the specified pointer to the size of an Integer data type

Declaration

Source position: fpcadds.pas line 29

function AlignToInt(

  const p: Pointer

):Pointer;

Description

AlignToInt is a Pointer function used to adjust the pointer in p to the size needed for an Integer data type. AlignToInt is influenced by the FPC_REQUIRES_PROPER_ALIGNMENT compiler define; when it is defined, the Align routine is called to adjust the pointer size to the boundaries required for an Integer data type. When it is not defined, the pointer in p is used as the return value.

See also

AlignToPtr

Aligns the specified pointer to the boundaries required for the FPC compiler


AlignToPtr

Aligns the specified pointer to the boundaries required for the FPC compiler

Declaration

Source position: fpcadds.pas line 28

function AlignToPtr(

  const p: Pointer

):Pointer;

Arguments

p

Pointer affected in the routine

Description

AlignToPtr is a Pointer function used to adjust the pointer specified in p to the boundaries required for the FPC compiler. AlignToPtr is influenced by the FPC_REQUIRES_PROPER_ALIGNMENT compiler define; when it is defined, the Align routine is called to adjust the pointer to the size required for Pointer data types. When it is not defined, the pointer in p does not require alignment, and is used as the return value.

See also

AlignToInt

Aligns the specified pointer to the size of an Integer data type


StrToWord

Converts the value in a String to a Word data type

Declaration

Source position: fpcadds.pas line 26

function StrToWord(

  const s: string

):Word;

Arguments

s

String value examined in the method

Function result

Word value calculated for the specified String


CopyImageData

Declaration

Source position: graphtype.pp line 254

function CopyImageData(

  AWidth: Integer;

  AHeight: Integer;

  ARowStride: Integer;

  ABPP: Word;

  ASource: Pointer;

  const ARect: TRect;

  ASourceOrder: TRawImageLineOrder;

  ADestinationOrder: TRawImageLineOrder;

  ADestinationEnd: TRawImageLineEnd;

  out ADestination: Pointer;

  out ASize: PtrUInt

):Boolean;


GetBitsPerLine

Declaration

Source position: graphtype.pp line 252

function GetBitsPerLine(

  AWidth: Cardinal;

  ABitsPerPixel: Byte;

  ALineEnd: TRawImageLineEnd

):PtrUInt;


GetBytesPerLine

Declaration

Source position: graphtype.pp line 251

function GetBytesPerLine(

  AWidth: Cardinal;

  ABitsPerPixel: Byte;

  ALineEnd: TRawImageLineEnd

):PtrUInt;


RawImageQueryFlagsToString

Declaration

Source position: graphtype.pp line 258

function RawImageQueryFlagsToString(

  AFlags: TRawImageQueryFlags

):string;


EncodeLesserAndGreaterThan

Converts instance of the reserved characters

Declaration

Source position: laz2_dom.pas line 854

function EncodeLesserAndGreaterThan(

  const s: string

):string;

Arguments

s

Values to convert in the routine

Function result

Converted values from the function

Description

EncodeLesserAndGreaterThan is a String function used to convert instances of the reserved characters in s. EncodeLesserAndGreaterThan is similar to StrToXMLValue, but handles only the '<' and '>' characters, or NULL (Decimal 0) byte values in the string. No actions are performed in the routine when s is an empty string (''). The return value reflects the string value after conversion.

See also

StrToXMLValue

Converts a string to it representation as XML character data


StrToXMLValue

Converts a string to it representation as XML character data

Declaration

Source position: laz2_dom.pas line 852

function StrToXMLValue(

  const s: string

):string;

Arguments

s

Values to convert to XML character data

Function result

XML character data for the specified value

Description

StrToXMLValue is a String function used to convert the value in s to its representation as valid XML character data. The XML specification has five "predefined entities" that represent special characters. StrToXMLValue ensures that any of these characters in s are converted to their representation as a Character Entity, including:

Character | Entity Name | Unicode Codepoint | Description
&quot; | " | U+0022 (Decimal 34) | Double quotation Mark
&amp; | & | U+0026 (Decimal 38) | Ampersand
&apos; | ' | U+0027 (Decimal 39) | Apostrophe (Apostrophe-Quote)
&lt; | < | U+003C (Decimal 60) | Less-than
&gt; | > | U+003E (Decimal 62) | Greater-than

StrToXMLValue also ensures that any NULL character values (Decimal 0) in s are removed.

No actions are performed in the method when s is an empty string ('').

Use XMLValueToStr to convert XML character data to its representation as a String data type.

See also

XMLValueToStr

Converts XML character data to its representation as a string value


XMLValueToStr

Converts XML character data to its representation as a string value

Declaration

Source position: laz2_dom.pas line 853

function XMLValueToStr(

  const s: string

):string;

Arguments

s

XML character data to convert in the method

Function result

Plain string representation for the XML character data

Description

XMLValueToStr is a String function used to convert the XML character data in s to its representation as a string data type. The XML specification has five "predefined entities" that represent special characters. XMLValueToStr ensures that any of these character entities in s are converted to their plain string representation, including:

Character | Entity Name | Unicode Codepoint | Description
&quot; | " | U+0022 (Decimal 34) | Double quotation Mark
&amp; | & | U+0026 (Decimal 38) | Ampersand
&apos; | ' | U+0027 (Decimal 39) | Apostrophe (Apostrophe-Quote)
&lt; | < | U+003C (Decimal 60) | Less-than
&gt; | > | U+003E (Decimal 62) | Greater-than

XMLValueToStr also ensures that any NULL character values (Decimal 0) in s are removed.

No actions are performed in the method when s is an empty string ('').

Use StrToXMLValue to convert a string data type to its representation as XML character data.

See also

StrToXMLValue

Converts a string to it representation as XML character data


CompareDomNodeNames

Compares the names for the specified DOM nodes

Declaration

Source position: laz2_xmlcfg.pas line 164

function CompareDomNodeNames(

  DOMNode1: Pointer;

  DOMNode2: Pointer

):Integer;

Arguments

DOMNode1 | Pointer to a DOM node examined in the routine
DOMNode2 | Pointer to a DOM node examined in the routine

Function result

Relative sort order for the specified node pointers

Description

CompareDomNodeNames is an Integer function used to compare the pointers to DOM nodes specified in DOMNode1 and DOMNode2. CompareDomNodeNames calls CompareStr to examine the names in the pointers. The return value contains the relative sort order for the node names as determined in the CompareStr routine.

CompareDomNodeNames is the routine passed as an argument to MergeSortLen in the TNodeCache.RefreshChildren method.

See also

TXMLConfig

Implements a class used to access and maintain an XML configuration data file


ReadDTDFile

Reads and stores a DTD file into the specified XML document

Declaration

Source position: laz2_xmlread.pas line 70

procedure ReadDTDFile(

  out ADoc: TXMLDocument;

  const AFilename: string

); overload;

procedure ReadDTDFile(

  out ADoc: TXMLDocument;

  var f: Text

); overload;

procedure ReadDTDFile(

  out ADoc: TXMLDocument;

  var f: file

); overload;

procedure ReadDTDFile(

  out ADoc: TXMLDocument;

  f: TStream

); overload;

procedure ReadDTDFile(

  out ADoc: TXMLDocument;

  f: TStream;

  const ABaseURI: string

); overload;

Arguments

ADoc | XML document where the DTD is stored in the routine
AFilename | File name with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD
ABaseURI | Base URI for values read in the routine


ReadXMLFile

Reads the content of an XML file into the specified XML document

Declaration

Source position: laz2_xmlread.pas line 58

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  const AFilename: string;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  var f: Text;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  var f: file;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  f: TStream;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  f: TStream;

  const ABaseURI: string;

  Flags: TXMLReaderFlags = []

); overload;

Arguments

ADoc | XML document populated in the routine
AFilename | File name with the XML content read in the routine
Flags | Options enabled when reading the XML content

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine
Flags | Options enabled when reading the XML content

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine
Flags | Options enabled when reading the XML content

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine
Flags | Options enabled when reading the XML content

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine
ABaseURI | Base URI for XML content read in the routine
Flags | Options enabled when reading the XML content

Description

ReadXMLFile is an overloaded procedure used to read the XML content from the specified source. Overloaded variants are provided which use a file name, a Text type, a File type, or a Stream as the input source.

When using the variant that specifies AFileName, the parameter must represent a valid file name. An exception is raised if AFileName does not exist on the local file system. The value in AFileName is converted to a File URI and used as the BaseURI in the XML Document.

The Flags parameter contains TXMLReaderFlag values enabled in the routine. The default value for the parameter is an empty set ([]), and indicates that no options are enabled by default. Values in the Flags parameter control the behavior enabled when XML content is de-serialized.

ReadXMLFile creates a TXMLReader instance that is used to read, parse, and store the values from the XML input source using its ProcessXML method. Values read in the routine are stored in the TXMLDocument instance in ADoc.

See also

TXMLDocument

TXMLReaderFlag

Represents options enabled when reading XML content


ReadXMLFragment

Reads an XML fragment into the specified DOM Node

Declaration

Source position: laz2_xmlread.pas line 64

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  const AFilename: string;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  var f: Text;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  var f: file;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  f: TStream;

  Flags: TXMLReaderFlags = []

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  f: TStream;

  const ABaseURI: string;

  Flags: TXMLReaderFlags = []

); overload;

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
AFilename | File name with the XML content read in the routine
Flags | Options enabled while reading XML content

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine
Flags | Options enabled while reading XML content

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine
Flags | Options enabled while reading XML content

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine
Flags | Options enabled while reading XML content

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine
ABaseURI | Base URI for XML content read in the routine
Flags | Options enabled while reading XML content

Description

ReadXMLFragment is an overloaded procedure used to read an XML Document Fragment from the specified input source. Overloaded variants are provided that use a file name, a File type, a Text type, or a stream as the input source for the routine. Values read in the method are stored as children in the DOM Node specified in AParentNode.

When using the variant that specifies AFileName, the parameter must represent a valid file name. An exception is raised if AFileName does not exist on the local file system. The value in AFileName is converted to a File URI and used as the BaseURI in the XML Document.

The Flags parameter contains TXMLReaderFlag values enabled in the routine. The default value for the parameter is an empty set ([]), and indicates that no options are enabled by default. Values in the Flags parameter control the behavior enabled when XML content is de-serialized.

ReadXMLFragment creates a TXMLReader instance that is used to read, parse, and store the values from the XML input source using its ProcessFragment method.

See also

laz2_DOM.TDOMNode | Implements the DOM Node interface
TXMLReaderFlag | Represents options enabled when reading XML content


RegisterDecoder

Registers the procedure used to decode values in a specific encoding

Declaration

Source position: laz2_xmlread.pas line 156

procedure RegisterDecoder(

  Proc: TGetDecoderProc

);

Arguments

Proc

Procedure to register in the routine


Hash

Declaration

Source position: laz2_xmlutils.pas line 41

function Hash(

  InitValue: LongWord;

  Key: PXMLUtilChar;

  KeyLen: Integer

):LongWord;


IsValidXmlEncoding

Declaration

Source position: laz2_xmlutils.pas line 37

function IsValidXmlEncoding(

  const Value: TXMLUtilString

):Boolean;


IsXmlName

Declaration

Source position: laz2_xmlutils.pas line 32

function IsXmlName(

  const Value: TXMLUtilString;

  Xml11: Boolean = False

):Boolean; overload;

function IsXmlName(

  Value: PXMLUtilChar;

  Len: Integer;

  Xml11: Boolean = False

):Boolean; overload;


IsXmlNames

Declaration

Source position: laz2_xmlutils.pas line 34

function IsXmlNames(

  const Value: TXMLUtilString;

  Xml11: Boolean = False

):Boolean;


IsXmlNmToken

Declaration

Source position: laz2_xmlutils.pas line 35

function IsXmlNmToken(

  const Value: TXMLUtilString;

  Xml11: Boolean = False

):Boolean;


IsXmlNmTokens

Declaration

Source position: laz2_xmlutils.pas line 36

function IsXmlNmTokens(

  const Value: TXMLUtilString;

  Xml11: Boolean = False

):Boolean;


IsXmlWhiteSpace

Declaration

Source position: laz2_xmlutils.pas line 40

function IsXmlWhiteSpace(

  c: PXMLUtilChar

):Boolean;


NormalizeSpaces

Declaration

Source position: laz2_xmlutils.pas line 39

procedure NormalizeSpaces(

  var Value: TXMLUtilString

);


TranslateUTF8Chars

Declaration

Source position: laz2_xmlutils.pas line 45

procedure TranslateUTF8Chars(

  var s: TXMLUtilString;

  SrcChars: string;

  DstChars: string

);


Xml11NamePages

Declaration

Source position: laz2_xmlutils.pas line 38

function Xml11NamePages: PByteArray;


XUStrLIComp

Declaration

Source position: laz2_xmlutils.pas line 43

function XUStrLIComp(

  S1: PXMLUtilChar;

  S2: PXMLUtilChar;

  Len: Integer

):Integer;


WriteXML

Writes a DOM Node to a file, text file, or stream

Declaration

Source position: laz2_xmlwrite.pas line 41

procedure WriteXML(

  Element: TDOMNode;

  const AFileName: string;

  Flags: TXMLWriterFlags = []

); overload;

procedure WriteXML(

  Element: TDOMNode;

  var AFile: Text;

  Flags: TXMLWriterFlags = []

); overload;

procedure WriteXML(

  Element: TDOMNode;

  AStream: TStream;

  Flags: TXMLWriterFlags = []

); overload;

Arguments

Element | DOM Node with the XML content written in the method
AFileName | File name where the XML content is stored
Flags | Options enabled when writing the XML content

Arguments

Element | DOM Node with the XML content written in the method
AFile | Text file type where the content is written
Flags | Options enabled when writing the XML content

Arguments

Element | DOM Node with the XML content written in the method
AStream | Stream where the XML document is stored
Flags | Options enabled when writing the XML content

Description

WriteXML is an overloaded procedure used to write a DOM Node to a file, text file, or stream. WriteXML calls one of the overloaded WriteXMLFile routines for a specific destination.

Element is a TDOMNode parameter that represents the DOM Document Node with the XML content written in the method. WriteXML ensures that Element is cast to a TXMLDocument type when calling the WriteXMLFile routine.

AFileName indicates the file name on the local file system where the XML content is stored. AFileName can contain UTF-8 encoded values, and must represent a valid file name. If the file in AFileName already exists, an exception will be raised.

Flags contains values from the TXMLWriterFlag enumeration. Use Flags to enable XML writing options in the routine. The default value for the argument is an empty set ([]), and indicates that no options are enabled in the routine.

See also

WriteXMLFile

Writes an XML document to a file, text file, or stream


WriteXMLFile

Writes an XML document to a file, text file, or stream

Declaration

Source position: laz2_xmlwrite.pas line 37

procedure WriteXMLFile(

  doc: TXMLDocument;

  const AFileName: string;

  Flags: TXMLWriterFlags = []

); overload;

procedure WriteXMLFile(

  doc: TXMLDocument;

  var AFile: Text;

  Flags: TXMLWriterFlags = []

); overload;

procedure WriteXMLFile(

  doc: TXMLDocument;

  AStream: TStream;

  Flags: TXMLWriterFlags = []

); overload;

Arguments

doc | XML document written in the routine
AFileName | File name where the XML content is stored
Flags | Options enabled when writing the XML content

Arguments

doc | XML document written in the routine
AFile | Text file type where the content is written
Flags | Options enabled when writing the XML content

Arguments

doc | XML document written in the routine
AStream | Stream where the XML document is stored
Flags | Options enabled when writing the XML content

Description

WriteXMLFile is an overloaded procedure used to write an XML document to a file, text file, or stream. Overloaded variants provide the implementation details for each of the destinations, and create either TTextXMLWriter or TStreamXMLWriter class instances to store the XML document.

AFileName indicates the file name on the local file system where the XML content is stored. AFileName can contain UTF-8 encoded values, and must represent a valid file name. If the file in AFileName already exists, an exception will be raised.

Flags contains values from the TXMLWriterFlag enumeration. Use Flags to enable XML writing options in the routine. The default value for the argument is an empty set ([]), and indicates that no options are enabled in the routine.

See also

WriteXML

Writes a DOM Node to a file, text file, or stream


EvaluateXPathExpression

Evaluates an XPath expression using the specified context node and resolver

Declaration

Source position: laz2_xpath.pas line 466

function EvaluateXPathExpression(

  const AExpressionString: DOMString;

  AContextNode: TDOMNode;

  AResolver: TXPathNSResolver = Nil

):TXPathVariable;

Arguments

AExpressionString | XPath expression evaluated in the routine
AContextNode | Context node for the XPath expression
AResolver | Namespace resolver for the evaluation

Function result

XPath variable representing the evaluated XPath expression


EvaluationError

Raises an exception during expression evaluation with the specified error message

Declaration

Source position: laz2_xpath.pas line 248

procedure EvaluationError(

  const Msg: string

);

procedure EvaluationError(

  const Msg: string;

  const Args: array of Const

);

Arguments

Msg

Message for the evaluation error

Arguments

Msg | Message for the evaluation error
Args | Arguments used to format the message for the evaluation error


NilThenReleaseRef

Declaration

Source position: lazclasses.pas line 72

procedure NilThenReleaseRef(

  var ARefCountedObject

);


ReleaseRefAndNil

Declaration

Source position: lazclasses.pas line 71

procedure ReleaseRefAndNil(

  var ARefCountedObject

);


CompareConfigMemStorageNames

Declaration

Source position: lazconfigstorage.pas line 150

function CompareConfigMemStorageNames(

  p1: PChar;

  p2: PChar

):Integer;


CompareConfigMemStorageNodes

Declaration

Source position: lazconfigstorage.pas line 151

function CompareConfigMemStorageNodes(

  Node1: Pointer;

  Node2: Pointer

):Integer;


ComparePCharWithConfigMemStorageNode

Declaration

Source position: lazconfigstorage.pas line 152

function ComparePCharWithConfigMemStorageNode(

  aPChar: Pointer;

  ANode: Pointer

):Integer;


LoadStringToStringTree

Declaration

Source position: lazconfigstorage.pas line 145

procedure LoadStringToStringTree(

  Config: TConfigStorage;

  const Path: string;

  Tree: TStringToStringTree

);


SaveStringToStringTree

Declaration

Source position: lazconfigstorage.pas line 147

procedure SaveStringToStringTree(

  Config: TConfigStorage;

  const Path: string;

  Tree: TStringToStringTree

);


GetStringRefCount

Declaration

Source position: lazdbglog.pas line 20

function GetStringRefCount(

  const s: string

):PtrInt;


MemSizeFPList

Declaration

Source position: lazdbglog.pas line 19

function MemSizeFPList(

  const List: TFPList

):PtrUInt;


MemSizeString

Declaration

Source position: lazdbglog.pas line 18

function MemSizeString(

  const s: string

):PtrUInt;


CompareFilenameWithFileStateCacheItem

Declaration

Source position: lazfilecache.pas line 111

function CompareFilenameWithFileStateCacheItem(

  Key: Pointer;

  Data: Pointer

):Integer;


CompareFileStateItems

Declaration

Source position: lazfilecache.pas line 110

function CompareFileStateItems(

  Data1: Pointer;

  Data2: Pointer

):Integer;


DirectoryIsWritableCached

Declaration

Source position: lazfilecache.pas line 101

function DirectoryIsWritableCached(

  const ADirectoryName: string

):Boolean;


DirPathExistsCached

Declaration

Source position: lazfilecache.pas line 100

function DirPathExistsCached(

  const AFilename: string

):Boolean;


FileAgeCached

Declaration

Source position: lazfilecache.pas line 106

function FileAgeCached(

  const AFileName: string

):LongInt;


FileExistsCached

Declaration

Source position: lazfilecache.pas line 99

function FileExistsCached(

  const AFilename: string

):Boolean;


FileIsExecutableCached

Declaration

Source position: lazfilecache.pas line 102

function FileIsExecutableCached(

  const AFilename: string

):Boolean;


FileIsReadableCached

Declaration

Source position: lazfilecache.pas line 103

function FileIsReadableCached(

  const AFilename: string

):Boolean;


FileIsTextCached

Declaration

Source position: lazfilecache.pas line 105

function FileIsTextCached(

  const AFilename: string

):Boolean;


FileIsWritableCached

Declaration

Source position: lazfilecache.pas line 104

function FileIsWritableCached(

  const AFilename: string

):Boolean;


GetPhysicalFilenameCached

Declaration

Source position: lazfilecache.pas line 107

function GetPhysicalFilenameCached(

  const AFilename: string;

  EmptyOnError: Boolean

):string;


InvalidateFileStateCache

Declaration

Source position: lazfilecache.pas line 109

procedure InvalidateFileStateCache(

  const Filename: string = ''

);


LUIncreaseChangeStamp

Declaration

Source position: lazfilecache.pas line 116

procedure LUIncreaseChangeStamp(

  var ChangeStamp: Integer

);


LUIncreaseChangeStamp64

Declaration

Source position: lazfilecache.pas line 117

procedure LUIncreaseChangeStamp64(

  var ChangeStamp: Int64

);


AppendPathDelim

Adds a trailing path delimiter when needed

Declaration

Source position: lazfileutils.pas line 93

function AppendPathDelim(

  const Path: string

):string;

Arguments

Path

Path value to examine

Function result

Path value with a trailing path delimiter

Description

AppendPathDelim is a String function used to ensure that a trailing path delimiter is included in the specified Path. The return value includes the value in Path and the trailing path delimiter (when needed).


CheckIfFileIsExecutable

Examines the specified file to see if it is executable

Declaration

Source position: lazfileutils.pas line 48

procedure CheckIfFileIsExecutable(

  const AFilename: string

);

Arguments

AFilename

File name to examine

Description

CheckIfFileIsExecutable is a procedure used to examine the specified file name to see if it is executable. CheckIfFileIsExecutable is implemented for UNIX-like environments, and allows a process to better determine if the file can be executed on the platform or OS, and to get better error messages when it cannot.

CheckIfFileIsExecutable raises an exception with a specific message when the platform or OS facilities indicate it is necessary.

Use FileIsExecutable to determine of a file is executable without raising an exception.

Errors

The Exception contains the following messages (from string resources):

lrsFileDoesNotExist
Raised when FileExistsUTF8 returns False
lrsFileIsADirectoryAndNotAnExecutable
Raised when DirPathExists indicates the file is actually a directory name
lrsReadAccessDeniedFor
Raised when fpGetErrno() returns ESysEAcces
lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml
Raised when fpGetErrno() returns ESysENoEnt
lrsADirectoryComponentInIsNotADirectory
Raised when fpGetErrno() returns ESysENotDir
lrsInsufficientMemory
Raised when fpGetErrno() returns ESysENoMem
lrsHasACircularSymbolicLink
Raised when fpGetErrno() returns ESysELoop
lrsIsNotExecutable
Raised when fpGetErrno() has a value other than the above


CheckIfFileIsSymlink

Declaration

Source position: lazfileutils.pas line 49

procedure CheckIfFileIsSymlink(

  const AFilename: string

);


CheckPathDelim

Determines if the specified path delimiter character is not used on the system

Declaration

Source position: lazfileutils.pas line 97

function CheckPathDelim(

  const OldPathDelim: string;

  out Changed: Boolean

):TPathDelimSwitch;

Arguments

OldPathDelim

Value to compare to the current path delimiter for the system

Function result

Enumeration value indicating the path delimiter substitution required

Description

CheckPathDelim is a TPathDelimSwitch function used to determine if a specified path delimiter character is not the one used for the platform or environment running the application. The return value contains an TPathDelimSwitch enumeration value that indicates the path delimiter character notation that does not meet the requirements for the host.

CheckPathDelim compares the value in OldPathDelim to the current PathDelim character for the system. When they are different, the return value is set to reflect the delimiter character in use in OldPathDelim. If they are the same, the return value is set to pdsNone indicating that path delimiter substitutions are not needed.

Changed is a Boolean output parameter that indicates if the value in OldPathDelim does not match the current path delimiter in use on the system running the application. Changed contains False when the current path delimiter matches the value in OldPathDelim.

See also

SwitchPathDelims | Replaces path delimiters in a file path with the specified delimiter
ForcePathDelims | Ensures that path delimiters in the specified file name are correct for the current platform or OS
IsCurrentPathDelim | Determines if the current path delimiter matches the specified path delimiter notation


ChompPathDelim

Removes a trailing path delimiter from the specified value

Declaration

Source position: lazfileutils.pas line 94

function ChompPathDelim(

  const Path: string

):string;

Arguments

Path

Path information for the function

Function result

Path information after removing the trailing path delimiter

Description

ChompPathDelim is a String function used to remove a trailing path delimiter from the specified value in Path. For environments where UNC paths are allowed, ChompPathDelim ensures that the UNC path delimiters are retained. Windows Device identifiers, such as "D:" are also retained in Path.


CleanAndExpandDirectory

Removes whitespace and resolves special characters in the specified path

Declaration

Source position: lazfileutils.pas line 62

function CleanAndExpandDirectory(

  const Filename: string

):string;

Arguments

Filename

Path information for the function

Function result

Path information after removing whitespace and resolving special characters

Description

CleanAndExpandDirectory is a String function used to remove whitespace and resolve special characters in the specified path. CleanAndExpandDirectory calls CleanAndExpandFilename to get the return value for the function. CleanAndExpandDirectory calls AppendPathDelim to ensure that a trailing path delimiter is included in the return value. The return value is the current directory when the specified path contains an empty string ('').

See also

CleanAndExpandFilename | Removes whitespace and resolves special characters in the specified file name
AppendPathDelim | Adds a trailing path delimiter when needed


CleanAndExpandFilename

Removes whitespace and resolves special characters in the specified file name

Declaration

Source position: lazfileutils.pas line 61

function CleanAndExpandFilename(

  const Filename: string

):string;

Arguments

Filename

File name to examine in the function

Function result

File name with whitespace removed and special characters resolved

Description

CleanAndExpandFilename is a String function used to remove whitespace and to resolve special characters in the specified file name. CleanAndExpandFilename calls TrimFilename and ExpandFileNameUTF8 to get the return value for the function. The return value is the current directory when Filename contains an empty string ('').


CompareFileExt

Performs a sort order comparison for the specified file name and extension

Declaration

Source position: lazfileutils.pas line 31

function CompareFileExt(

  const Filename: string;

  const Ext: string;

  CaseSensitive: Boolean = False

):Integer;

Arguments

Filename | File name for the comparison
Ext | File extension for the comparison
CaseSensitive | True if case sensitive comparison is needed

Function result

Relative sort order for the compared values

Description

CompareFileExt is an Integer function used to compare the file extension in Filename to the value in Ext. Ext may contain the '.' character, but it is not required and will be removed for the comparison. CaseSensitive indicates whether case is ignored in the comparison. When CaseSensitive contains True, CompareStr is called to perform the comparison. Otherwise, UTF8CompareText is called to compare the values. The return value will contain one of the following:

-1
Filename value has a lower sort order value than Ext
0
Filename and Ext have the same sort order values
1
Filename value has a higher sort order value than Ext

The return is 1 if Filename does not contain a file extension.


CompareFilenames

Gets the relative sort order for the specified file names

Declaration

Source position: lazfileutils.pas line 29

function CompareFilenames(

  const Filename1: string;

  const Filename2: string

):Integer; overload;

function CompareFilenames(

  Filename1: PChar;

  Len1: Integer;

  Filename2: PChar;

  Len2: Integer

):Integer; overload;

Arguments

Filename1 | First file name for the comparison
Filename2 | Second file name for the comparison

Function result

Relative sort order for the specified file names

Arguments

Filename1 | First file name for the comparison
Len1 | Length of the first file name
Filename2 | Second file name for the comparison
Len2 | Length of the seconds file name

Description

CompareFilenames is an overloaded Integer function used to compare the specified file names to get their relative order for sorting operations. CompareFilenames provides implementations which accept String or PChar values (and their lengths) as arguments. The implementations are platform- and/or OS-specific; they consider whether the file system is case sensitive or when UTF-8 encoding is supported.

The return value indicates the relative order in a sort operation, and can contain the following values:

<0
Filename1 comes before Filename2
0
Filename1 and Filename2 to have the same value
>0
Filename1 comes after Filename2

See also

CompareFilenamesIgnoreCase

Gets the relative sort order for case-insensitive file names


CompareFilenamesIgnoreCase

Gets the relative sort order for case-insensitive file names

Declaration

Source position: lazfileutils.pas line 30

function CompareFilenamesIgnoreCase(

  const Filename1: string;

  const Filename2: string

):Integer;

Arguments

Filename1 | First file name for the comparison
Filename2 | Second file name for the comparison

Function result

Relative sort order for the file names

Description

CompareFilenamesIgnoreCase is an overloaded Integer function used to compare the specified file names to get their relative order in case-insensitive sorting operations. CompareFilenamesIgnoreCase provides alternate implementations which accept String or PChar values (and their lengths) as arguments. The implementations are platform- and/or OS-specific; they consider whether the file system is case sensitive, and when UTF-8 encoding is supported.

The return value indicates the relative order in a case-insensitive sort operation, and can contain the following values:

<0
Filename1 comes before Filename2
0
Filename1 and Filename2 to have the same value
>0
Filename1 comes after Filename2

See also

CompareFilenames

Gets the relative sort order for the specified file names


CompareFilenamesP

Compares file names to determine their relative sort order

Declaration

Source position: lazfileutils.pas line 36

function CompareFilenamesP(

  Filename1: PChar;

  Filename2: PChar;

  IgnoreCase: Boolean = False

):Integer;

Arguments

Filename1 | File name used in the comparison
Filename2 | File name used in the comparison
IgnoreCase | Indicates if case differences in file name comparisons are ignored

Function result

Relative sort order for the compared values

Description

CompareFilenamesP is an Integer function used to compare the specified file names to determine their relative sort order.

Filename1 and Filename2 are the PChar arguments containing the file names examined in the routine.

IgnoreCase indicates if upper- or lower-case differences are ignored in the file name comparison; the default value for the parameter is False (indicating that case differences are not ignored). For platforms where CaseInsensitiveFilenames is defined, the value in IgnoreCase defaults to True. When IgnoreCase is True, the UTF8CompareText function is called to perform a case-insensitive comparison of the specified file names. Otherwise, the ordinal byte values in the specified file names are compared until a difference is found, or the entire file name in Filename1 has been examined.

If either Filename1 or Filename2 are unassigned (contain Nil) or begin with a Null character (Decimal 0), the return value is set 0 (zero) and no additional actions are performed in the function. See CompareFilenames for more information about the numeric return value for the function and its meaning.

See also

CompareFilenames

Gets the relative sort order for the specified file names

UTF8CompareText


CompareFilenameStarts

Compares file names using the number characters in common

Declaration

Source position: lazfileutils.pas line 33

function CompareFilenameStarts(

  const Filename1: string;

  const Filename2: string

):Integer;

Arguments

Filename1 | First file name for the comparison
Filename2 | Second file name for the comparison

Function result

Relative sort order for the compared values

Description

CompareFilenameStarts is an Integer function used to compare the specified file names to determine their relative sort order. Arguments in Filename1 and Filename2 do not need to be the same length. When they have different lengths, the number of characters common to both are used in the comparison. CompareFilenameStarts calls CompareFileNames to perform the comparison, and get the return value for the function.

See CompareFilenames for more information about the numeric return value and its meaning.

See also

CompareFileNames

Gets the relative sort order for the specified file names


CreateAbsolutePath

Declaration

Source position: lazfileutils.pas line 65

function CreateAbsolutePath(

  const Filename: string;

  const BaseDirectory: string

):string;


CreateAbsoluteSearchPath

CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files

Declaration

Source position: lazfileutils.pas line 101

function CreateAbsoluteSearchPath(

  const SearchPath: string;

  const BaseDirectory: string

):string;

Arguments

SearchPath | The search path (a relative path)
BaseDirectory | The base directory from which to form the absolute path

Function result

The absolute path formed by concatenating BaseDirectory and SearchPath

Description

CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files.

The routine adds the appropriate path delimiters to the BaseDirectory string, and adds the search path. Each directory in the search path is examined to ensure that each is also an absolute directory path. The return value contains the fully-formed absolute search path.

If BaseDirectory is empty, the function exits with a return value equal to SearchPath. if SearchPath is empty, the function exits with empty string ('') in the return value.


CreateDirUTF8

Creates a new directory with the specified name

Declaration

Source position: lazfileutils.pas line 125

function CreateDirUTF8(

  const NewDir: string

):Boolean;

Arguments

NewDir

Name for the new directory

Function result

True if the new directory is successfully created

Description

CreateDirUTF8 is a Boolean function used to create a new directory in the local file system with the specified name. For the Windows environments, the value in NewDir is converted to wide string format and passed to the CreateDirectoryW function in the Windows unit. For UNIX-like environments, CreateDir in SysUtils is used to create the new directory with the specified name.

The return value is True if the new directory is successfully created.

Errors

An error can occur if a directory with the specified name already exists in the local file system.


CreateRelativePath

Creates a relative path from BaseDirectory to Filename

Declaration

Source position: lazfileutils.pas line 68

function CreateRelativePath(

  const Filename: string;

  const BaseDirectory: string;

  UsePointDirectory: Boolean = False;

  AlwaysRequireSharedBaseFolder: Boolean = True

):string;

Arguments

Filename | File name for the operation
BaseDirectory | Base directory for the relative path
UsePointDirectory | True if '.' (current directory symbol) is prepended to the relative path

Function result

Relative path from the base directory for the file name

Description

CreateRelativePath is a String function used to get the relative path from BaseDirectory to Filename. A trailing path delimiter in BaseDirectory is ignored. If there is no relative path, the value in Filename is returned.

When BaseDirectory and Filename contain the same value, and UsePointDirectory is False, an empty string ('') is used as the return value. If UsePointDirectory contains True, the return value is the '.' character. Duplicate path delimiters are removed.

Remark: CreateRelativePath is thread safe, and therefore, does not guarantee that the current directory is correct for file names like 'D:test.txt'.


CreateRelativeSearchPath

Resolves relative path value(s) in the specified search path

Declaration

Source position: lazfileutils.pas line 102

function CreateRelativeSearchPath(

  const SearchPath: string;

  const BaseDirectory: string

):string;

Arguments

SearchPath | Search path(s) examined in the function
BaseDirectory | Directory used as the anchor for resolved relative paths

Function result

Search path after resolving relative paths to the specified base directory

Description

CreateRelativeSearchPath is a String function used to resolve one or more paths in SearchPath relative to the directory specified in BaseDirectory. A relative search path is one that assumes the path starts at a given working directory, and could result in an error if that directory is not the current directory on the local file system. CreateRelativeSearchPath ensures that a relative search path is resolved relative to a given directory to provide access to resources in the directory path.

SearchPath can contain multiple path values by using the semicolon character (;) to separate the paths.

BaseDirectory specifies the directory used as the anchor (or root) for each resolved search path.

Paths specified in SearchPath are resolved individually, and recombined with other path values in SearchPath. If either SearchPath or BaseDirectory contain an empty string (''), no actions are performed in the function. The return value contains a copy of the contents in SearchPath with relative paths resolved.

See also

FilenameIsAbsolute | Determines if the specified value is an absolute file path (not a relative one)
CreateRelativePath | Creates a relative path from BaseDirectory to Filename


DbgSFileAttr

Displays information for file attributes in the debugger

Declaration

Source position: lazfileutils.pas line 142

function DbgSFileAttr(

  Attr: LongInt

):string;

Arguments

Attr

File attributes examined in the routine

Function result

String with information about the file attributes

Description

Attr contains the file attributes examined in the routine, with the following values displayed for the corresponding file attributes:

-1
Invalid
faDirectory
D
faArchive
A
faSysFile
S
faReadOnly
R
faHidden
H
faVolumeId
V
faSymLink
L

File attributes not found in Attrib are represented as '-' characters.


DeleteFileUTF8

Deletes the specified file name

Declaration

Source position: lazfileutils.pas line 119

function DeleteFileUTF8(

  const FileName: string

):Boolean;

Arguments

FileName

File name to delete in the function

Function result

True if the specified file name is deleted

Description

DeleteFileUTF8 is a Boolean function used to delete the specified file name.

For the Windows environment, DeleteFileW in Windows is called to remove the specified file name. For UNIX-like environments, DeleteFile in the SysUtils unit is called to delete the specified file name. InvalidateFileStateCache is also called.

The return value contains True when Filename is successfully deleted from the local file system.


DirectoryExistsUTF8

Determine if the specified path exists on the local file system

Declaration

Source position: lazfileutils.pas line 111

function DirectoryExistsUTF8(

  const Directory: string

):Boolean;

Arguments

Directory

Directory name to locate in the file system

Function result

True when the directory exists in the file system

Description

DirectoryExistsUTF8 is Boolean function used to determine if the specified path exists on the local file system. For the Windows environment, FileGetAttrUTF8 is called to see if FILE_ATTRIBUTE_DIRECTORY is included in the file attributes for the specified Directory. For UNIX-like environments, the DirectoryExists function in the SysUtils unit is used to get the return value.


DirectoryIsWritable

Indicates if the specified directory name is writable

Declaration

Source position: lazfileutils.pas line 41

function DirectoryIsWritable(

  const DirectoryName: string

):Boolean;

Arguments

DirectoryName

Directory name to examine in the function

Function result

True if the specified directory is writable

Description

DirectoryIsWritable is a Boolean function used to determine if the specified directory name is writable in the file system. The path name in DirectoryName must already exist on the local file system. The return value is False if a directory with the specified name does not exist.

The return value is True when a file can be added, deleted, or modified in the specified path. To get the return value, DirectoryIsWritable creates a temporary file in DirectoryName, adds content to it, and deletes the temporary file. DirectoryIsWritable calls the FileCreateUTF8, FileWrite, FileClose, and DeleteFileUTF8 routines to perform the file operations. The return value is True when FileWrite completes successfully.

Remark: Please note: DirectoryIsWritable calls InvalidateFileStateCache with the temporary file name if DeleteFileUTF8 cannot remove the file.

See also

FileCreateUTF8 | Creates the specified file and returns its file handle
DeleteFileUTF8 | Deletes the specified file name
InvalidateFileStateCache | Signals the OnInvalidateFileStateCache event handler
#rtl.SysUtils.FileWrite
#rtl.SysUtils.FileClose


DirPathExists

Indicates if the specified directory name exists in the file system

Declaration

Source position: lazfileutils.pas line 40

function DirPathExists(

  DirectoryName: string

):Boolean;

Arguments

DirectoryName

Directory Name to locate

Function result

True when the specified directory exists in the file system

Description

DirPathExists is a Boolean function which indicates if the specified directory name exists in the file system. DirectoryName can contain a trailing path delimiter, but it is removed in the function. DirPathExists calls DirectoryExistsUTF8 to get the return value.

See also

DirectoryExistsUTF8

Determine if the specified path exists on the local file system


ExpandFileNameUTF8

Expands the values in FileName and BaseDir to an absolute file name

Declaration

Source position: lazfileutils.pas line 112

function ExpandFileNameUTF8(

  const FileName: string;

  BaseDir: string = ''

):string;

Arguments

FileName | File name examined in the function
BaseDir | Base directory used to resolve a relative path

Function result

The file name with an absolute path

Description

ExpandFileNameUTF8 is a String function which expands the UTF-8-encoded values in FileName and BaseDir to an absolute file name. It changes all directory separator characters to the one appropriate for the system.

If an empty string ('') is passed in Filename, it is expanded to the current directory using GetCurrentDirUTF8. When FileName contains the tilde character (~), it is converted to the path to the home directory for the user using the HOME environment variable. Relative paths in FileName are resolved by calling ResolveDots.

See also

GetCurrentDirUTF8 | Gets the name for the current directory
ResolveDots | Removes duplicate path delimiters and resolves relative path symbols


ExtractFileNameOnly

Gets the base file name (without the file extension) in the specified path

Declaration

Source position: lazfileutils.pas line 42

function ExtractFileNameOnly(

  const AFilename: string

):string;

Arguments

AFilename

File path and name to examine in the function

Function result

Base file name in the file path

Description

ExtractFileNameOnly is a String function used to extract the base file name (without the file extension) from the value in AFilename. Path information, up to the last directory separator ('/' or '\') or device separator (':') character, in AFileName is ignored. The file extension, starting at the '.' character, is also omitted.


ExtractFileNameWithoutExt

Declaration

Source position: lazfileutils.pas line 43

function ExtractFileNameWithoutExt(

  const AFilename: string

):string;


ExtractFileRoot

Gets the root drive/path/directory for the specified file name

Declaration

Source position: lazfileutils.pas line 162

function ExtractFileRoot(

  FileName: string

):string;

Arguments

FileName

File name specifier examined in the routine

Function result

Root directory on the file system for the specified file name

Description

ExtractFileRoot is a String function used to get the root directory for the specified file name. It is file system-aware and includes the drive and/or volume information needed for the file name specified in the FileName argument.

When FileName uses Universal Naming Convention (UNC), the return value will contain any server and share/volume information included in the parameter. For example:

\\server-name\share-name\
  \\?\C:\

For UNIX-like environments (as well as WinCE), an initial path delimiter marks the root directory in the file system.

For the Amiga platform, any characters in FileName up to (but not including) the first ":" character are used as the root directory.

For the Windows platform, a drive designation up to and including the first path delimiter are used as the root directory. For example:

C:\


ExtractUNCVolume

Gets UNC host and volume name used in the specified path

Declaration

Source position: lazfileutils.pas line 161

function ExtractUNCVolume(

  const Path: string

):string;

Arguments

Path

Path information examined in the function

Function result

UNC host and volume name extracted from the specified path

Description

ExtractUNCVolume is a String function used to get host and volume information from a path specified using Universal Naming Convention (UNC). UNC notation is recognized using both the long and short formats defined for the naming convention.

The return value contains information needed to access shared resources by their host and volume names, and contains one of the following formats:

\\server-name\shared-resource-path-name\
  \\mypc\nas-drive\
  \\?\c:\
  \\?\UNC\c:\

ExtractUNCVolume calls the IsUNCPath function to determine if the value in Path starts with the UNC naming delimiters. The return value is an empty string (''), and no additional actions are performed in the function, when Path does not use UNC notation.

ExtractUNCVolume examines the characters in Path to determine if it uses the long or the short format for UNC notation. Long format notation begins with the characters '\\?\' or '\\?\UNC\' followed by a drive designation and optional path information such as 'c:\'. Short format notation uses a host name and a shared resource identifier such as '\\mypc\nas-drive\'.

See also

IsUncPath

Indicates if the specified path uses Universal Naming Convention (UNC)


FileAgeUTF8

Returns the last modification time for the file in FileDate format

Declaration

Source position: lazfileutils.pas line 110

function FileAgeUTF8(

  const FileName: string

):LongInt;

Arguments

FileName

File name examined in the function

Function result

Last modification time for the file in FileDate format

Description

FileAgeUTF8 is a Longint function which returns the last modification time for the file specified in FileName. FileAgeUTF8 should not be used on directories; it returns -1 if FileName represents a directory instead of a file.

For UNIX-like environments, the return value is provided by the FileAge function in the SysUtils unit. For Windows, FindFirstFileW is used to get the TWin32FindDataW data for the specified file. Its ftLastWriteTime value is converted using WinToDosTime to get the return value for the function.

The return value is in FileDate format, and can be transformed to a TDateTime value with the FileDateToDateTime function.


FileCreateUTF8

Creates the specified file and returns its file handle

Declaration

Source position: lazfileutils.pas line 130

function FileCreateUTF8(

  const FileName: string

):THandle; overload;

function FileCreateUTF8(

  const FileName: string;

  Rights: Cardinal

):THandle; overload;

function FileCreateUtf8(

  const FileName: string;

  ShareMode: Integer;

  Rights: Cardinal

):THandle; overload;

Arguments

FileName

File name created in the function

Function result

File handle for the file created in the function

Arguments

FileName | File name created in the function
Rights | File access rights for the new file

Arguments

FileName | File name created in the function
ShareMode | File sharing mode for the new file
Rights | File access rights for the new file

Description

FileCreateUTF8 is a THandle function used to created the file specified in the UTF-8-encoded FileName argument, and returns the file handle for the newly created file. Overloaded variants of the function are provided which allow additional arguments that specify the file sharing mode, or access rights for the newly created file.

FileCreateUTF8 calls UTF8ToSys to convert the file name to its system representation, and calls the FileCreate routine in the SysUtils unit to create the file and get its file handle.

See also

UTF8ToSys

#RTL.SysUtils.FileCreate


FileExistsUTF8

Indicates if the specified file name exists

Declaration

Source position: lazfileutils.pas line 109

function FileExistsUTF8(

  const Filename: string

):Boolean;

Arguments

Filename

UTF-8-encoded file name to locate in the local file system

Function result

True when the specified file name exists

Description

FileExistsUTF8 is a Boolean function which indicates if the specified file name exists in the local file system. For the Windows environment, FileExistsUTF8 uses FileGetAttrUTF8 to ensure that Filename does not have the FILE_ATTRIBUTE_DIRECTORY attribute. For UNIX-like environments, the FileExists function in SysUtils is used to get the return value.


FileGetAttrUTF8

Gets the value of file attributes for the specified file name

Declaration

Source position: lazfileutils.pas line 117

function FileGetAttrUTF8(

  const FileName: string

):LongInt;

Arguments

FileName

File name for the function

Function result

File attribute value for the specified file name

Description

FileGetAttrUTF8 is a Longint function used to get files attributes for the specified file name. For the Windows environment, GetFileAttributesW in Windows is called to the file attribute value for Filename. For UNIX-like environments, FileGetAttr in SysUtils is called to the the return value.

The return value contains a numeric value that can be OR-ed with the following constants to get a specific file attribute:

faReadOnly
The file is read-only
faHidden
The file is hidden (On UNIX, the filename starts with a dot)
faSysFile
The file is a system file (On UNIX, the file is a character, block or FIFO file).
faVolumeId
Volume Label (For DOS/Windows on a plain FAT - not VFAT or Fat32)
faDirectory
File is a directory
faArchive
File is ready to be archived (Not possible on UNIX)


FileIsExecutable

Determines if the specified file name is executable

Declaration

Source position: lazfileutils.pas line 50

function FileIsExecutable(

  const AFilename: string

):Boolean;

Arguments

AFilename

File name to examine

Function result

True if the file is executable on the platform or OS

Description

FileIsExecutable is a Boolean function used to determine if the specified file name is executable. For UNIX-like environments, a combination of FpStat, FPS_ISREG, and FpAccess are used to get the return value. For the Windows environment, the value from FileExistsUTF8 is used as the return value. In short, the function is not really useful in a Windows environment.


FileIsHardLink

Indicates if the specified file has a descriptor or handle on the local file system

Declaration

Source position: lazfileutils.pas line 52

function FileIsHardLink(

  const AFilename: string

):Boolean;

Arguments

AFilename

File name examined in the routine

Function result

True when file information can be accessed by its descriptor or handle

Description

FileIsHardLink is a Boolean function used to determine if the specified file name is represented by a file descriptor or handle on the local file system.

The implementation of FileIsHardLink is platform- or OS-specific. For UNIX-like environments, a file handle is retrieved by calling the FileOpenUTF8 function and passed to the FPFStat function to access the file information. For the Windows platform (excluding WinCE and Windows XP), the GetFileInformationByHandle Windows API routine is called to get information for the file handle. For the Amiga platform, FileIsHardLink always returns False.

The return value is False if a file handle could not be accessed for the specified file name or it is actually a symbolic link on the local file system.

See also

FileOpenUTF8

Opens the specified file name and returns its file handle

#rtl.System.fpfstat


FileIsInPath

Returns True if Filename exists in the specified Path

Declaration

Source position: lazfileutils.pas line 70

function FileIsInPath(

  const Filename: string;

  const Path: string

):Boolean;

Arguments

Filename | File name to locate
Path | Path used for the operation

Function result

True when the file exists in the specified path

Description

FileIsInPath is a Boolean function which indicates if the file name exists in the specified path. Filename is the file name to locate, and may include optional relative path information. For example: '../filename.txt'.

Path is the directory name used to locate the specified file. For example: '/usr/lib/fpc'.

The returns value is True when Filename is a file or directory somewhere below Path. For example, under UNIX the Filename '/usr/lib/fpc' is below Path '/usr/lib', '/usr' and '/'. When Filename and Path contain the same value, the return value is False. Please note: the return value is False when Path contains an empty string ('').

FileIsInPath calls ResolveDots to resolve relative path information in both Filename and Path, and ensures that a trailing path delimiter is included in Path when needed. FileIsInPath calls CompareFileNames.

Remark: This is a logical test; FileIsInPath does not expand or follow symbolic links.


FileIsReadable

Indicates if the specified file name is readable

Declaration

Source position: lazfileutils.pas line 53

function FileIsReadable(

  const AFilename: string

):Boolean;

Arguments

AFilename

File name to examine

Function result

True when the specified file name is readable

Description

FileIsReadable is a Boolean function which indicates if the specified file name is readable. For UNIX-like environments, FpAccess is used to get the return value. On Windows, the return value is the result from FileExistsUTF8. In short, the function is not really useful on the Windows platform where a suitable file attribute does not exist for the purpose.

See also

#rtl.BaseUnix.FpAccess

FileExistsUTF8

Indicates if the specified file name exists


FileIsReadOnlyUTF8

Determines if the specified file is marked as read-only

Declaration

Source position: lazfileutils.pas line 122

function FileIsReadOnlyUTF8(

  const FileName: string

):Boolean;

Arguments

FileName

File name to examine in the function

Function result

True when the file is marked as read-only

Description

FileIsReadOnlyUTF8 is a Boolean function used to determine if the specified file is marked as read-only in the local file system. FileIsReadOnlyUTF8 calls FileGetAttrUTF8 for the specified file name and checks to see if faReadOnly has been included in the file attributes value. The return value is True when faReadOnly has been included in the file attributes.


FileIsSymlink

Indicates if the specified file is a symbolic link in the file system

Declaration

Source position: lazfileutils.pas line 51

function FileIsSymlink(

  const AFilename: string

):Boolean;

Arguments

AFilename

File name examined in the routine`

Function result

True when the specified file name is a symbolic link

Description

FileIsSymlink is a Boolean function used to determine if the specified file name is a symbolic link on the local file system.

The implementation of FileIsSymlink is platform-specific. For UNIX-like environments, the FpReadLink function is used to determine if the symbolic link can be resolved to a physical file name in the local file system. For the Windows platform, FileGetAttrUTF8 is called to get and examine the file attributes for the specified file name. The file attributes must include the value FILE_ATTRIBUTE_REPARSE_POINT, and one of the Windows API values such as IO_REPARSE_TAG_SYMLINK or IO_REPARSE_TAG_MOUNT_POINT for the corresponding file handle. For the Amiga platform, FileIsSymLink always returns False.

See also

#rtl.System.FpReadLink

FileGetAttrUTF8

Gets the value of file attributes for the specified file name


FileIsText

Determines if the specified file contains plain text content

Declaration

Source position: lazfileutils.pas line 55

function FileIsText(

  const AFilename: string

):Boolean;

function FileIsText(

  const AFilename: string;

  out FileReadable: Boolean

):Boolean;

Arguments

AFilename

File name to examine in the function

Function result

True when the file contains plain text content

Arguments

AFilename | File name to examine in the function
FileReadable | Indicates if the specified file was successfully opened and read

Description

FileIsText is a Boolean function used to determine if the specified file contains plain text content. The overloaded variant that includes the FileReadable argument is used to examine the content in the file.

FileIsText calls FileOpenUtf8 for the specified file name. The return value is False is the file handle contains feInvalidHandle.

FileIsText checks for (and skips) common Byte Order Marks, such as:

  • UTF-8 BOM (Hex $EF $BB $BF)
  • UCS-2LE BOM (Hex $FF $FE)
  • UCS-2BE BOM (Hex $FE $FF)

Content in the file (up to 1024 characters) is checked to ensure that invalid Null and Control characters are not found in the file. The return value is True when the specified file name exists in the local file system, and does not contain Null or Control characters.


FileIsWritable

Indicates if the specified file name is writable

Declaration

Source position: lazfileutils.pas line 54

function FileIsWritable(

  const AFilename: string

):Boolean;

Arguments

AFilename

File name to examine

Function result

True when the specified file name is writable

Description

FileIsWritable is a Boolean function which indicates if the specified file name is writable. For UNIX-like environments, FpAccess is used to get the return value. For Windows, FileGetAttrUTF8 is used to determine if faReadOnly is omitted from the attributes for the file.


FilenameIsAbsolute

Determines if the specified value is an absolute file path (not a relative one)

Declaration

Source position: lazfileutils.pas line 44

function FilenameIsAbsolute(

  const TheFilename: string

):Boolean;

Arguments

TheFilename

Path and file name to use in the function

Function result

True when the file name is not a relative path

Description

FilenameIsAbsolute is a Boolean function used to determine if the value in TheFilename contains an absolute file path (and not a relative one). The implementation for FilenameIsAbsolute is platform- and/or OS-specific.

In UNIX-like environments, the FilenameIsUnixAbsolute function is used in the implementation. The return value is False if TheFilename is an empty string (''), or does not start with the directory separator for the environment.

On Windows, the FilenameIsWinAbsolute function is called in the implementation. FilenameIsWinAbsolute takes Device identifiers into consideration when examining the value in TheFilename. For example:

D:\db\employee.fdb

The return value is False if TheFilename (without the optional device identifier) is an empty string (''), or does not start with the directory separator for the environment.


FilenameIsTrimmed

Declaration

Source position: lazfileutils.pas line 57

function FilenameIsTrimmed(

  const TheFilename: string

):Boolean;

function FilenameIsTrimmed(

  StartPos: PChar;

  NameLen: Integer

):Boolean;

Arguments

TheFilename

File name to examine in the function

Function result

False when the file name needs to trimmed

Arguments

StartPos | PChar with the file name value
NameLen | Length of the file name

Description

FilenameIsTrimmed is an overloaded Boolean function used to determine if the specified file name contains characters to remove or resolve before use. The variant which uses PChar values performs the comparison. The return value is False when the file name is a candidate for use of TrimFilename to remove whitespace or special characters.

Use TrimFilename to remove leading or trailing whitespace, duplicate directory separators, or relative path symbols.


FilenameIsUnixAbsolute

Determines if the specified value is an absolute file path (not a relative one)

Declaration

Source position: lazfileutils.pas line 46

function FilenameIsUnixAbsolute(

  const TheFilename: string

):Boolean;

Arguments

TheFilename

Path and file name to use in the function

Function result

True when the file name is not a relative path

Description

FilenameIsUnixAbsolute is a Boolean function used to determine if the value in TheFilename contains an absolute file path (and not a relative one).

In UNIX-like environments, the FilenameIsUnixAbsolute function is used in the implementation of FilenameIsAbsolute. The return value is False if TheFilename is an empty string (''), or does not start with the directory separator for the environment.


FilenameIsWinAbsolute

Determines if the specified value is an absolute file path (not a relative one)

Declaration

Source position: lazfileutils.pas line 45

function FilenameIsWinAbsolute(

  const TheFilename: string

):Boolean;

Arguments

TheFilename

Path and file name to use in the function

Function result

True when the file name is not a relative path

Description

FilenameIsWinAbsolute is a Boolean function used to determine if the value in TheFilename contains an absolute file path (and not a relative one).

On Windows, the FilenameIsWinAbsolute function is called in the implementation of FilenameIsAbsolute. FilenameIsWinAbsolute takes Device identifiers into consideration when examine the value in TheFilename. For example:

D:\db\employee.fdb

The return value is False if TheFilename (without the optional device identifier)is an empty string (''), or does not start with the directory separator for the environment.


FileOpenUTF8

Opens the specified file name and returns its file handle

Declaration

Source position: lazfileutils.pas line 129

function FileOpenUTF8(

  const FileName: string;

  Mode: Integer

):THandle;

Arguments

FileName | File name opened in the function
Mode | File access mode requested for the opened file

Function result

File handle for the specified file

Description

FileOpenUTF8 is a THandle function used to open the UTF-8-encoded file name in FileName, and return its file handle. FileOpenUTF8 converts the file name to system format by calling UTF8ToSys, and calls the FileOpen routine in the SysUtils unit to get the file handle for the opened file.

See also

#RTL.SysUtils.FileOpen

UTF8ToSys


FileSearchUTF8

Searches for a file with the specified name in the list of directory paths

Declaration

Source position: lazfileutils.pas line 121

function FileSearchUTF8(

  const Name: string;

  const DirList: string;

  ImplicitCurrentDir: Boolean = True

):string;

Arguments

Name | File name to locate in the list of directory paths
DirList | The delimited list of directory paths to search

Function result

Path and file name for the matching file, or an empty string

Description

FileSearchUTF8 is a String function used to search for files with the specified name in the list of directory paths.

DirList is a list of file paths to search in the function. Values in DirList are separated by the PathSeparator character for the environment. No additional directories are searched when DirList contains an empty string ('').

ImplicitCurrentDir controls whether the search is implicitly limited to the current directory. The default value for ImplicitCurrentDir is True. When a file with the specified Name is located in the current directory, no additional searches are needed. The return value is the name of the file without any path information.

When ImplicitCurrentDir is False, each path in DirList is searched for a file with the specified name. The search is stopped when the first file with the specified file name is found. The return value contains the path in DirList where the file name was located along with the file name, or an empty string ('') if the specified file is not found in the search.


FileSetAttrUTF8

Sets the file attribute value for the specified file name

Declaration

Source position: lazfileutils.pas line 118

function FileSetAttrUTF8(

  const Filename: string;

  Attr: LongInt

):LongInt;

Arguments

Filename | File name to update in the function
Attr | File attribute value for the specified file name

Function result

Last error number from the function

Description

FileSetAttrUTF8 is a Longint function used to set the file attributes for the specified file name to the value in Attr. The value in Attr can be set by AND-ing predefined file attribute constants, such as:

faReadOnly
The file is read-only
faHidden
The file is hidden (On UNIX, the filename starts with a dot)
faSysFile
The file is a system file (On UNIX, the file is a character, block or FIFO file).
faVolumeId
Volume Label (For DOS/Windows on a plain FAT - not VFAT or Fat32)
faDirectory
File is a directory
faArchive
File is ready to be archived (Not possible on UNIX)

For UNIX-like environments, FileSetAttr in SysUtils is called to set the file attributes value. InvalidateFileStateCache is also called for the specified file name. For the Windows environment, SetFileAttributesW in Windows is called to set the attributes value for the specified file name.

The return value contains the result from GetLastError; a non-zero value indicates that an error has occurred.


FileSetDateUTF8

Sets the last modification time for the file

Declaration

Source position: lazfileutils.pas line 116

function FileSetDateUTF8(

  const FileName: string;

  Age: LongInt

):LongInt;

Arguments

FileName | File name to update in the function
Age | New value for the last modification time

Function result

Last error number in the function

Description

FileSetDateUTF8 is a Longint function used to set the last modification time for the file to the specified Age in FileDate format. Use DateTimeToFileDate to convert a TDateTime value to FileDate format.

For the Windows environment, a handle is created for the specified file name, and SetFileTime is called to store the updated file age. For UNIX-like environments, FileSetDate in SysUtils is called to set the file age. InvalidateFileStateCache is also called for the specified file name.

The return value is the value from GetLastError; a non-zero value indicates that an error has occurred.


FileSizeUtf8

Gets the size for the specified file name

Declaration

Source position: lazfileutils.pas line 134

function FileSizeUtf8(

  const Filename: string

):Int64;

Arguments

Filename

File name examined in the function

Function result

Size of the file on the local file system

Description

FileSizeUTF8 is an Int64 function used to get the size for the file specified in the UTF-8-encoded Filename argument. FileSizeUTF8 calls Utf8ToSys to convert the value in Filename to the system string type type, and calls the FindFirst routine in the SysUtils unit to get the size for the specified file name.

See also

#RTL.SysUtils.FindFirst


FindCloseUTF8

Frees resources allocated to the specified search record

Declaration

Source position: lazfileutils.pas line 115

procedure FindCloseUTF8(

  var F: TSearchrec

);

Arguments

F

Search record to free in the procedure

Description

FindCloseUTF8 is a procedure used to free resources allocated to the search record in F by the FindFirstUTF8 routine. FindCloseUTF8 calls the FindClose function in the SysUtils unit.


FindFirstUTF8

Starts searching for files matching the specified path value

Declaration

Source position: lazfileutils.pas line 113

function FindFirstUTF8(

  const Path: string;

  Attr: LongInt;

  out Rslt: TSearchRec

):LongInt;

Arguments

Path | Path and/or file name to locate
Attr | File attributes to include in the search
Rslt | Search record for the first matching file

Function result

Last error number encountered in the function

Description

FindFirstUTF8 searches the for file which match the value specified in Path. Normal files, as well as all special files which have the attributes specified in Attr will be returned.

It returns a SearchRec record for further searching in Rslt. Path can contain wildcard characters; ? (matches any single character) and * (matches 0 or more arbitrary characters). In this case FindFirstUTF8 will return the first file which matches the specified criteria.

The return value contains the result from GetLastError; a non-zero value indicates that no files matching the criteria were found.

See also

#rtl.SysUtils.FIndFirst


FindNextUTF8

Locates another file matching the search criteria

Declaration

Source position: lazfileutils.pas line 114

function FindNextUTF8(

  var Rslt: TSearchRec

):LongInt;

Arguments

Rslt

Search criteria for the function

Function result

Last error number

Description

FindNextUTF8 is a Longint function used to locate another file matching the TSearchRec value in Rslt. Rslt is populated in a prior call to FindFirstUTF8, and updated in FindNextUTF8.

For the Windows environment, FindNextFileW is called to compare the TWIN32FINDDATAW for the matching file. For UNIX-like environments, the FindNext function in SysUtils is used.

The return value contains the result from GetLastError; a non-zero value indicates that an error was encountered.


FindPathInSearchPath

Locates the specified path in a delimiters list of search paths

Declaration

Source position: lazfileutils.pas line 104

function FindPathInSearchPath(

  APath: PChar;

  APathLen: Integer;

  SearchPath: PChar;

  SearchPathLen: Integer

):PChar; overload;

function FindPathInSearchPath(

  const APath: string;

  const SearchPath: string

):Integer; overload;

Arguments

APath | Path to locate in the delimited list of search paths
APathLen | Length in characters for the path to locate in the routine
SearchPath | Delimited list of search paths examined in the routine
SearchPathLen | Length in characters for the search paths list

Function result

Position or value for the located search path

Arguments

APath | Path to locate in the delimited list of search paths
SearchPath | Delimited list of search paths examined in the routine

Description

FindPathInSearchPath is an overloaded function used to locate the path specified in APath in a list of search paths.

APath contains the search path to locate in the delimited list of search paths. A trailing path delimiter specified in APath is ignored.

SearchPath contains the delimited list of search paths examined in the function. No actions are performed in the routine when SearchPath has not been assigned (contains Nil) or contains an empty string ('').

The return value is either an Integer or a PChar value depending on the overloaded variant used in an application. An Integer value represents the position in SearchPath where the value in APath is located. A PChar value contains a pointer to the first character in SearchPath where APath is located. The variant which accepts PChar arguments and returns a PChar value has additional length arguments for the path and search path.

Compiler defines determine the mechanism used to perform a comparison of the values in APath and SearchPath; i.e. CaseInsensitiveFilenames and NotLiteralFilenames. CompareFilenames is called to perform the comparison when inline comparison of string values in not supported.


ForceDirectoriesUTF8

Creates the specified directories if they do not already exist

Declaration

Source position: lazfileutils.pas line 127

function ForceDirectoriesUTF8(

  const Dir: string

):Boolean;

Arguments

Dir

Path information to examine the function

Function result

True when directories exist or are successfully created in the function

Description

ForceDirectories is a Boolean function which creates the specified directories if they do not already exist. ForceDirectories examines the value in Dir to determine if it contains a Windows device identifier or a UNC name. If a device identifier or UNC name is found, but not supported on the platform, no actions are performed in the function.

ForceDirectories raises an EInOutError exception with the message in SCannotCreateEmptyDir when Dir contains an empty string ('').

Each directory in the specified path is checked using DirectoryExistsUTF8. ForceDirectories calls CreateDirUTF8 if a directory does not already exist, and may exit with a return value of False if directory creation is not successful. The return value is True if all directories in the path information already exist, or are successfully created in the function.

Errors

EIOnOutError
Raised when the directory name is an empty string (''); Message is SCannotCreateEmptyDir, and ErrorCode is set to 3.

See also

ForceDirectory

Creates the specified directory if it does not already exist


ForceDirectory

Creates the specified directory if it does not already exist

Declaration

Source position: lazfileutils.pas line 47

function ForceDirectory(

  DirectoryName: string

):Boolean;

Arguments

DirectoryName

Path information for the operation

Function result

Returns True if directory exists or if it was successfully created

Description

ForceDirectory is a Boolean function which creates the specified directory if it does not already exist. ForceDirectory ensures that a trailing path delimiter exists in DirectoryName prior to checking the file system. Duplicate adjacent path delimiters (like '//foo//bar/foobar/' or '\\foo\\bar\foobar\') are removed prior to checking the directory path.

Each directory in the specified path is validated by calling DirPathExists. ForceDirectory calls CreateDirUTF8 if a directory does not exist, and may exit with a return value of False if directory creation is not successful.

The return value is True if all directories in the path information already exist, or are successfully created in the function.

See also

ForceDirectoriesUTF8 | Creates the specified directories if they do not already exist
DirPathExists | Indicates if the specified directory name exists in the file system
CreateDirUtf8 | Creates a new directory with the specified name


ForcePathDelims

Ensures that path delimiters in the specified file name are correct for the current platform or OS

Declaration

Source position: lazfileutils.pas line 91

procedure ForcePathDelims(

  var FileName: string

);

Arguments

FileName

File name examined in the routine

Description

ForcePathDelims is a procedure used to ensure that path delimiters in the specified file name are correct for the current platform or OS. ForcePathDelims examines each character in FileName to ensure that path delimiters use the correct notation for the platform or OS defined in the LCL.

For Windows, this means any UNIX path delimiters (/) in FileName are converted into the Windows path delimiter (\). Conversely, for all other platforms and environments, the Windows path delimiter (\) is converted to the UNIX notation (/). All path delimiter substitutions in FileName occur inline.


GetAppConfigDirUTF8

Declaration

Source position: lazfileutils.pas line 154

function GetAppConfigDirUTF8(

  Global: Boolean;

  Create: Boolean = False

):string;

Arguments

Global | Indicates if the system-wide (not user specific) directory is used
Create | Indicates if missing directories in the path should be created

Function result

Path to the directory used for application configuration or data files

Description

GetAppConfigDirUTF8 is a String function used to get the directory on the local file system where application configuration and data files are stored.

Global is a Boolean argument that determines if the directory is user- or system- specific. When Global contains False, the home directory for the user is used as the path in the return value.

Create is a Boolean argument that indicates if the configuration directory should be created if not already present on the local file system.

The implementation of GetAppConfigDirUTF8 is platform- and/or OS-specific.

For the Amiga platform, the GetAppConfigDir in the SysUtils unit is called to get the return value.

For Windows environments, the SHGetFolderPathUTF8 function is called to get the path information. The CSIDL (Constant Special Item ID List) required for the setting in Global and the target platform is passed to the routine. When VendorName is provided, it is appended to the path information. ApplicationName is also appended to the path information. If the path cannot be determined, the value from DGetAppConfigDir is used as the directory path.

For UNIX-like environments, the GetAppConfigDir function in the SysUtils unit is called to get the path information.

If the directory does not exist and Create contains True, the ForceDirectoriesUTF8 routine is called to create any missing directories for the path. An EInOutError exception is raised if any missing directory in the path cannot be created.

GetAppConfigDirUTF8 is used in the implementation of the Lazarus IDE and help viewer (LHelp).

See also

#RTL.SysUtils.GetAppConfigDir

ForceDirectoriesUTF8

Creates the specified directories if they do not already exist


GetAppConfigFileUTF8

Gets a UTF-8-encoded configuration file name for the current application

Declaration

Source position: lazfileutils.pas line 155

function GetAppConfigFileUTF8(

  Global: Boolean;

  SubDir: Boolean = False;

  CreateDir: Boolean = False

):string;

Arguments

Global | Indicates if system-wide settings are used in the configuration file name
SubDir | Indicates if a directory for the application is included in the configuration file name
CreateDir | Indicates if missing directories in the configuration file path are created

Function result

Path to the configuration file for the application

Description

GetAppConfigFileUTF8 is a String function used to get a UTF-8-encoded configuration file name for the current application. GetAppConfigFileUTF8 calls the GetAppConfigFile function in the SysUtils unit to get the return value for the function. SysToUTF8 is called for the file name to ensure that it is encoded using the UTF-8 encoding scheme.

Global is a Boolean which indicates whether system- or user-specific path information is used in the configuration file name. When Global contains True, the system-wide configuration path is used in the return value. Otherwise, a user-specific path is used in the return value.

SubDir is a Boolean value that indicates if a sub-directory for the application is included in the path for the configuration file. When SubDir is True, a "Config" sub-directory is included in the path information.

CreateDir is a Boolean argument that indicates if any missing directories in the configuration file path are created in the function. When CreateDir is False, no additional actions are performed in the function. Otherwise, the path information is passed to ForceDirectoriesUTF8 to create any missing directories. If any of the directories are not successfully created, an EInOutError exception is raised with the message in lrsUnableToCreateConfigDirectoryS.

The return value contains the path to the configuration file including the requested path, configuration file name, and configuration file extension.

Errors

Raises an EInOutError exception when directories in the path cannot be created on the local file system.

See also

ForceDirectoriesUTF8 | Creates the specified directories if they do not already exist
#RTL.SysUtils.GetAppConfigFile
#LazUtils.LazUTF8.SysToUTF8 | Converts strings (and format settings) from the system codepage to UTF-8


GetCurrentDirUTF8

Gets the name for the current directory

Declaration

Source position: lazfileutils.pas line 123

function GetCurrentDirUTF8: string;

Function result

Name for the current directory

Description

GetCurrentDirUTF8 is a String function used to get the name for the current directory in the local file system.

For the Windows environment, GetCurrentDirectoryW is called to get the current directory name. UTF8Encode is called to convert the WideString value to UTF-8, and used as the return value for the function.

For UNIX-like environments, GetCurrentDir in SysUtils is called to get the current directory name.

See also

#rtl.SysUtils.GetCurrentDir


GetFileDescription

Gets descriptive information for the specified file name

Declaration

Source position: lazfileutils.pas line 135

function GetFileDescription(

  const AFilename: string

):string;

Arguments

AFilename

File name examined in the function

Function result

String with the file information for the platform or OS

Description

GetFileDescription is a String function used to get descriptive information for the file name specified in AFilename. The return value contains file information appropriate to the platform, environment, or file system. The implementation of GetFileDescription and the content of the return value are platform- or OS-specific.

For UNIX-like environments, the return value can contain information that indicates the permissions for the user, group, and owner of the file as returned from the FPStat routine. It also includes the file user and group IDs, file size, and modification timestamp. For example:

ld-rwxrwxrwx Owner: UID.GID Size: 99999 Modified: MM/DD/YYYY hh:nn
l
File is a symbolic link
d
File is a directory in the file system
b,c, or -
Device type for the entry. b is for block-level devices. c is for character devices. All others device types contain the - character.
r or -
User read access permission
w or -
User write access permission
x or -
User executable permission
r or -
Group read access permission
w or -
Group write access permission
x or -
Group executable permission
r or -
Other read access permission
w or -
Other write access permission
x or -
Other executable permission
UID
User identifier number assigned as the owner of the file
GID
Group identifier number assigned to the group which owns the file
99999
Size of the file. May indicate the total number of blocks or characters depending on the device type for the file.
MM/DD/YYYY hh:nn or ?
Creation/modification timestamp for the file. ? is included if an exception is raised when accessing the date/time value.

For the Amiga platform, the content in the return value is derived using a TFileInfoBlock for a shared lock on the file. The return value can be an empty string if the file could not be locked using a shared lock on the file system. It can contain values like the following:

asperwd
a
File is an archived (unchanged) file
s
File is a script or executable file
p
File is command or program that can be made resident
e
File is used by the Shell
r
File is readable
w
File is writable
d
File cannot be deleted

For Windows platforms, the return value contains only the modification date/time for the file using the format:

Modified: MM/DD/YYYY hh:mm

The return value can be 'Modified: ?' if an exception is encountered when getting the date/time value for the file.


GetForcedPathDelims

Performs path delimiter substitutions for the specified file name

Declaration

Source position: lazfileutils.pas line 92

function GetForcedPathDelims(

  const FileName: string

):string;

Arguments

FileName

File name examined in the function

Function result

File name after any path delimiter substitutions

Description

GetForcedPathDelims is a String function used to perform path delimiter substitutions on the specified file name for the current platform or OS. GetForcedPathDelims calls ForcePathDelims using a copy of FileName as an argument. This ensures that the original file name remains unchanged when path delimiter substitutions are needed.

See also

ForcePathDelims

Ensures that path delimiters in the specified file name are correct for the current platform or OS


GetPhysicalFilename

Gets the physical file name for a symbolic link on the local file system

Declaration

Source position: lazfileutils.pas line 147

function GetPhysicalFilename(

  const Filename: string;

  OnError: TPhysicalFilenameOnError

):string;

Arguments

Filename | File name examined in the function
OnError | Indicates the action performed for a symbolic link that cannot be resolved to a physical file name

Function result

Physical file name for the resolved symbolic link

Description

GetPhysicalFilename is a String function used to get the physical file name on the local file system for the specified symbolic link.

Filename contains the symbolic link to resolve in the function.

OnError is a TPhysicalFilenameOnError enumeration value that indicates the action performed if a physical file name cannot be determined for the symbolic link. When OnError contains pfeException, an exception is raised for the unresolved file name. When OnError contains pfeOriginal, the unresolved symlink is used as the return value.

The implementation of GetPhysicalFilename is platform- or OS-dependent. For UNIX-like environments (which support symbolic links), the GetUnixPhysicalFilename function is called to retrieve the file name for the symlink. For other platforms and environments, like Amiga and Windows, symbolic links are not supported and the return values always contains the value in Filename.

See also

GetUnixPhysicalFilename

Resolves the symlink in Filename, including omitted directories


GetShellLinkTarget

Declaration

Source position: lazfileutils.pas line 139

function GetShellLinkTarget(

  const FileName: string

):string;


GetTempFileNameUTF8

Gets a temporary file name using the specified UTF-8-encoded path and prefix

Declaration

Source position: lazfileutils.pas line 157

function GetTempFileNameUTF8(

  const Dir: string;

  const Prefix: string

):string;

Arguments

Dir | Directory path for the temporary file name
Prefix | Prefix for the temporary file name

Function result

Temporary file name generated in the routine

Description

GetTempFileNameUTF8 is a String function used to get a temporary file name with the specified prefix located in the specified directory.

Dir contains the path on the local file system where the temporary file should be located.

Prefix contains the prefix for the temporary file name. In other words, the temporary file name must start with this sequence of characters.

GetTempFileNameUTF8 signals the OnGetTempFile event handler (when assigned) to get the value used as the temporary file name. When OnGetTempFile has not been assigned, a string is constructed using the path information in Dir and a numeric suffix to make the file name unique. For example:

/usr/tmp/TMP0.tmp

GetTempFileNameUTF8 examines the files in the specified directory to determine if a file already exists which starts with the value in Prefix. If a file is located in the directory, a numeric suffix (starting at 0) is appended to the base file name in Prefix to build a temporary file name which does not already exist in the directory.


InvalidateFileStateCache

Signals the OnInvalidateFileStateCache event handler

Declaration

Source position: lazfileutils.pas line 190

procedure InvalidateFileStateCache(

  const Filename: string = ''

);

Arguments

Filename

File name for the event notification

Description

InvalidateFileStateCache is a procedure used to signal the OnInvalidateFileStateCache event handler for the specified file name. InvalidateFileStateCache is used when an invalid file state is detected in routines which perform file manipulation, such as:

  • DeleteFileUTF8
  • FileSetAttrUTF8
  • FileSetDateUTF8
  • RenameFileUTF8

InvalidateFileStateCache is significant for UNIX-like environments only, such as Linux and Amiga. InvalidateFileStateCache is not used for the Windows platform.

See also

DeleteFileUTF8 | Deletes the specified file name
FileSetAttrUTF8 | Sets the file attribute value for the specified file name
FileSetDateUTF8 | Sets the last modification time for the file
RenameFileUTF8 | Renames a file to the specified value


IsCurrentPathDelim

Determines if the current path delimiter matches the specified path delimiter notation

Declaration

Source position: lazfileutils.pas line 98

function IsCurrentPathDelim(

  Switch: TPathDelimSwitch

):Boolean;

Arguments

Switch

Enumeration value specifying the character compared to the current path delimiter

Function result

Boolean result of the path delimiter comparison

Description

IsCurrentPathDelim is a Boolean function used to determine if the path delimiter notation specified in Switch matches the current path delimiter for the system.

Switch is a TPathDelimSwitch enumeration value that indicates the notation to compare to the current path delimiter on the system running the application. Switch can include the following values:

pdsNone
No comparison is performed since it is not required. Return value is set True.
pdsSystem
No comparison is performed since it will always match the current path delimiter for the system. Return value is set True.
pdsUnix
Return value is set to True when PathDelim contains the UNIX forward slash (/) character.
pdsWindows
Return value is set to True when PathDelim contains the Windows backslash (\) character.


IsUNCPath

Indicates if the specified path uses Universal Naming Convention (UNC)

Declaration

Source position: lazfileutils.pas line 160

function IsUNCPath(

  const Path: string

):Boolean;

Arguments

Path

Path examined in the function

Function result

True when the path contains UNC notation

Description

IsUNCPath is a Boolean function which indicates is the specified path uses Universal Naming Convention (UNC).

The implementation of IsUNCPath is platform- and/or OS-specific. For the Windows platform, IsUNCPath checks Path to see if it begins with the double backslash notation used for a UNC path. For example:

\\C:\directory\
  \\?\C:\directory\
  \\?\UNC\volume\directory\

For UNIX-like environments, as well as the Amiga platform, the return value is always False. UNC paths are not used on those platforms.

Use ExtractUNCVolume to get host and path information from a file name expressed using UNC notation.


MergeCmdLineParams

Generates a string with the specified list of parameters

Declaration

Source position: lazfileutils.pas line 179

function MergeCmdLineParams(

  ParamList: TStrings

):string;

Arguments

ParamList

Parameter names and values handled in the function

Function result

String representation for the list of parameters


MinimizeSearchPath

Trims the specified path, and removes empty or duplicate paths

Declaration

Source position: lazfileutils.pas line 103

function MinimizeSearchPath(

  const SearchPath: string

):string;

Arguments

SearchPath

Search path(s) examined in the function

Function result

Search path after normalization and removal of duplicates

Description

MinimizeSearchPath is a String function used to trim the path(s) specified in SearchPath, and to remove empty or duplicate paths in the argument. SearchPath can contain multiple path specifications separated by the semicolon (';') character.

MinimizeSearchPath iterates over the path specifications in SearchPath and calls TrimFilename as needed. ChompPathDelim is calls as well to remove trailing path delimiters as needed. Duplicate occurrence of a search path are reduced to a single occurrence.

The return value contains the value in SearchPath after normalization and removal of duplicate and empty search path specifications.

See also

ChompPathDelim | Removes a trailing path delimiter from the specified value
TrimFilename | Removes leading and trailing spaces, and resolves special characters
FileNameIsTrimmed |
FindPathInSearchPath | Locates the specified path in a delimiters list of search paths


PathIsInPath

Checks whether the specified directory exists in a given path

Declaration

Source position: lazfileutils.pas line 71

function PathIsInPath(

  const Path: string;

  const Directory: string

):Boolean;

Arguments

Path | Path examined in the routine
Directory | Directory name to locate in the specified path

Function result

True when Directory exists in Path

Description

PathIsInPath is a Boolean function used to determine if the specified Directory exists in the Path argument. The return value is False when Path contains an empty string (''), or when the Directory does not exist in Path.

PathIsInPath calls the CompareFilenames routine to determine the return value for the function.

Remark: Please note: PathIsInPath ensures that a trailing path delimiter is included in the Path and Directory arguments prior to performing its comparison. On Windows, this results in a Path like 'C:' being treated as if it contains 'C:\'.


PrepareCmdLineOption

Ensures command line options are formatted properly

Declaration

Source position: lazfileutils.pas line 183

function PrepareCmdLineOption(

  const Option: string

):string;

Arguments

Option

Command line option examined in the function

Function result

Command line option after quoting has been applied


ReadAllLinks

Resolves a symbolic link to an actual file name

Declaration

Source position: lazfileutils.pas line 136

function ReadAllLinks(

  const Filename: string;

  ExceptionOnError: Boolean

):string;

Description

ReadAllLinks is a String function used to resolve a symbolic link to an actual file name. It does not resolve symbolic links in parent (or ancestor) directories. If a symlink cannot be resolved, and ExceptionOnError is False, the function returns an empty string (''). If ExceptionOnError is True, it raises an EFOpenError with a message, containing more details. For the Windows platform, it simply returns the value in the Filename argument.


RemoveDirUTF8

Removes the directory with the specified name

Declaration

Source position: lazfileutils.pas line 126

function RemoveDirUTF8(

  const Dir: string

):Boolean;

Arguments

Dir

Name of the directory to remove in the function

Function result

True when the directory is successfully removed

Description

RemoveDirUTF8 is a Boolean function used to remove the directory with the specified name from the local file system.

For the Windows environment, UTF8Decode is called to convert the value in Dir to wide string format. The RemoveDirectoryW function in the Windows unit is called to remove the specified directory.

For UNIX-like environments, RemoveDir in SysUtils is called to remove the specified directory.

The return value is True when the specified directory is successfully removed.

See also

#rtl.SysUtils.RemoveDir


RenameFileUTF8

Renames a file to the specified value

Declaration

Source position: lazfileutils.pas line 120

function RenameFileUTF8(

  const OldName: string;

  const NewName: string

):Boolean;

Arguments

OldName | Existing name for the file
NewName | New name for the file

Function result

True if the file is successfully renamed to the new value

Description

RenameFileUTF8 is a Boolean function used to rename a file to the value specified in NewName.

For the Windows environment, MoveFileW is called to rename the file using the values specified in OldName and NewName. For UNIX-like environments, RenameFile in SysUtils is called to rename the file to the specified new value. InvalidateFileStateCache is also called.

The return value is True if the file is renamed successfully.


ResolveDots

Removes duplicate path delimiters and resolves relative path symbols

Declaration

Source position: lazfileutils.pas line 60

function ResolveDots(

  const AFilename: string

):string;

Arguments

AFilename

File name examined in the routine

Function result

File name with duplicate delimiters and relative paths resolved

Description

This function shortens duplicate path delimiters to single path delimiters. It resolves 'A/../B' to 'B', which might be wrong under Unix if A is a symlink. The function does not check the local file system. The single dot './A' is resolved to 'A', but a single '.' is retained.


SetCurrentDirUTF8

Sets the current directory to the specified name

Declaration

Source position: lazfileutils.pas line 124

function SetCurrentDirUTF8(

  const NewDir: string

):Boolean;

Arguments

NewDir

Directory name to use as the current directory

Function result

True if the current directory was successfully changed to the new value

Description

SetCurrentDirUTF8 is a Boolean function used to set the current directory in the local file system to the specified value.

For the Windows environment, UTFDecode is called to convert NewDir and passed to SetCurrentDirectoryW to set the current directory name. Windows CE raises an exception in SetCurrentDirUtf8; the concept of a current directory does not exist in Windows CE.

For UNIX-like environments, SetCurrentDir in SysUtils is used to set the current directory to the specified value.

The return value is True if the current directory is successfully changed to the new value.

Errors

TException
Raised for the Windows CE environment; exception message is: '[SetCurrentDirWide] The concept of the current directory doesn't exist in Windows CE'


ShortDisplayFilename

Gets a shortened version of the specified file name up to a maximum length

Declaration

Source position: lazfileutils.pas line 73

function ShortDisplayFilename(

  const aFileName: string;

  aLimit: Integer = 80

):string;

Arguments

aFileName | File name examined in the routine
aLimit | Maximum number of characters for the shortened file name

Function result

Shortened version of the specifed file name

Description

ShortDisplayFilename is a String function used to get a shortened version of the specified file name up to the specified maximum length. The characters '...' are appended to a shortened file name.

Remark: Please note: These are three (3) Period characters and not an Ellipsis character.

The return value is the same as the aFileName argument if the file name did not need to be shortened.


SplitCmdLine

Splits the specified command line into program and parameter values

Declaration

Source position: lazfileutils.pas line 181

procedure SplitCmdLine(

  const CmdLine: string;

  out ProgramFilename: string;

  out Params: string

);

Arguments

CmdLine | Command line examined in the function
ProgramFilename | Executable name found in the command line
Params | List of parameters and values found in the command line


SplitCmdLineParams

Splits command line parameters separated by whitespace characters

Declaration

Source position: lazfileutils.pas line 176

procedure SplitCmdLineParams(

  const Params: string;

  ParamList: TStrings;

  ReadBackslash: Boolean = False

);

Arguments

Params | Whitespace-delimited list of parameters handled in the routine
ParamList | List where parameter names and values are stored
ReadBackslash | Indicates if backslash characters are consumed and removed in the routine

Description

Parameters are separated by one or more whitespace characters (#9,#10,#13,#32). Quoted values are parsed as a single parameter. If ReadBackslash contains True, then \" is replaced with " and not treated as a quoted value. #0 is always treated as the end of the Parameters value.


StrToCmdLineParam

Ensures that whitespace and quoting use the format required for command line parameters

Declaration

Source position: lazfileutils.pas line 178

function StrToCmdLineParam(

  const Param: string

):string;

Arguments

Param

Command line parameter examined in the function

Function result

Value after normalizing whitespace and quote characters in the command line parameter


SwitchPathDelims

Replaces path delimiters in a file path with the specified delimiter

Declaration

Source position: lazfileutils.pas line 95

function SwitchPathDelims(

  const Filename: string;

  Switch: TPathDelimSwitch

):string;

function SwitchPathDelims(

  const Filename: string;

  Switch: Boolean

):string;

Arguments

Filename | File path and name examined in the function
Switch | Indicates the desired path delimiter to use in the return value

Function result

File path and name after any path delimiter substitutions

Arguments

Filename | File path and name examined in the function
Switch | Indicates the desired path delimiter to use in the return value

Description

SwitchPathDelims is an overloaded String function used to ensure that path delimiter characters in Filename use the required character.

One variant of the function uses the Switch argument to pass a TPathDelimSwitch enumeration value that identifies the path delimiter needed, and includes the following:

pdsNone
No path delimiter substitutions are performed. The original value in Filename is used as the return value for the function.
pdsSystem
Path delimiters use the character required for the current platform or environment running the application.
pdsUnix
Path delimiters use the UNIX forward slash (/) character.
pdsWindows
Path delimiters use the Windows backslash (\) character.

The function examines each character in Filename are replaces any path delimiters encountered with the value specified in Switch.

The other variant passes a Boolean value indicating if all occurrences of a path delimiter should use the character required for the platform or environment hosting the application. It calls the SwitchPathDelims function to perform the substitutions.

The return value contains the value from Filename after any path delimiter substitutions have been applied.

See also

TPathDelimSwitch |
SwitchPathDelims | Replaces path delimiters in a file path with the specified delimiter


TrimAndExpandDirectory

Cleans and resolves a relative path to a base directory

Declaration

Source position: lazfileutils.pas line 64

function TrimAndExpandDirectory(

  const Filename: string;

  const BaseDir: string = ''

):string;

Arguments

Filename | Path information for the function
BaseDir | Base directory used to resolve a relative path

Function result

Path information cleaned and resolved to the specified base directory

Description

TrimAndExpandDirectory is a String function used to remove whitespace and special characters in the path information, and to resolve a relative path to the specified base directory.

TrimAndExpandDirectory calls ExpandFileNameUTF8 to resolve the relative path, and calls TrimFilename to get the return value for the function. The return value is an empty string ('') when TrimFilename returns an empty string ('').

See also

ExpandFileNameUTF8 | Expands the values in FileName and BaseDir to an absolute file name
TrimFilename | Removes leading and trailing spaces, and resolves special characters


TrimAndExpandFilename

Cleans and resolves a file path to the specified base directory name

Declaration

Source position: lazfileutils.pas line 63

function TrimAndExpandFilename(

  const Filename: string;

  const BaseDir: string = ''

):string;

Arguments

Filename | File name for the function
BaseDir | Base directory name used for a relative file path

Function result

Cleaned and resolved file path

Description

TrimAndExpandFilename is a String function used to remove whitespace and special characters in Filename, and to resolve the relative file path to the directory in BaseDir. TrimAndExpandFilename removes a trailing path delimiter in Filename, and calls ExpandFileNameUTF8 and TrimFilename to get the return value for the function.

The return value is an empty string ('') if Filename contains an empty string ('').


TrimFilename

Removes leading and trailing spaces, and resolves special characters

Declaration

Source position: lazfileutils.pas line 59

function TrimFilename(

  const AFilename: string

):string;

Arguments

AFilename

Path and file name for the operation

Function result

New value for the path and file name

Description

TrimFilename is a String function used to remove leading and trailing spaces (Decimal 32) in the specified path and file name. In addition, ResolveDots is called to expand directory characters (like '.' and '..') and to remove duplicate path delimiters (like '//').

See also

ResolveDots | Removes duplicate path delimiters and resolves relative path symbols
FileNameIsTrimmed |
CleanAndExpandFilename | Removes whitespace and resolves special characters in the specified file name
CleanAndExpandDirectory | Removes whitespace and resolves special characters in the specified path
TrimAndExpandFilename | Cleans and resolves a file path to the specified base directory name
TrimAndExpandDirectory | Cleans and resolves a relative path to a base directory


TryCreateRelativePath

Declaration

Source position: lazfileutils.pas line 66

function TryCreateRelativePath(

  const Dest: string;

  const Source: string;

  UsePointDirectory: Boolean;

  AlwaysRequireSharedBaseFolder: Boolean;

  out RelPath: string

):Boolean;


TryReadAllLinks

Resolves a symlink to the real file

Declaration

Source position: lazfileutils.pas line 138

function TryReadAllLinks(

  const Filename: string

):string;

Description

If a symlink can not be resolved it returns Filename. It calls the ReadAllLinks function.


TT_Char_Index

Declaration

Source position: lazfreetype.pas line 413

function TT_Char_Index(

  charmap: TT_CharMap;

  charCode: LongInt

):Word;


TT_Clone_Outline

Declaration

Source position: lazfreetype.pas line 376

function TT_Clone_Outline(

  var source: TT_Outline;

  var target: TT_Outline

):TT_Error;


TT_Close_Face

Declaration

Source position: lazfreetype.pas line 117

function TT_Close_Face(

  _face: TT_Face

):TT_Error;


TT_Copy_Outline

Declaration

Source position: lazfreetype.pas line 369

function TT_Copy_Outline(

  var source: TT_Outline;

  var target: TT_Outline

):TT_Error;


TT_Done_FreeType

Declaration

Source position: lazfreetype.pas line 56

procedure TT_Done_FreeType;


TT_Done_Glyph

Declaration

Source position: lazfreetype.pas line 224

function TT_Done_Glyph(

  _glyph: TT_Glyph

):TT_Error;


TT_Done_Instance

Declaration

Source position: lazfreetype.pas line 207

function TT_Done_Instance(

  _ins: TT_Instance

):TT_Error;


TT_Done_Outline

Declaration

Source position: lazfreetype.pas line 382

function TT_Done_Outline(

  var out: TT_Outline

):TT_Error;


TT_Get_CharMap

Declaration

Source position: lazfreetype.pas line 406

function TT_Get_CharMap(

  face: TT_Face;

  charmapIndex: Integer;

  var charMap: TT_CharMap

):TT_Error;


TT_Get_CharMap_Count

Declaration

Source position: lazfreetype.pas line 393

function TT_Get_CharMap_Count(

  face: TT_Face

):Integer;


TT_Get_CharMap_ID

Declaration

Source position: lazfreetype.pas line 398

function TT_Get_CharMap_ID(

  face: TT_Face;

  charmapIndex: Integer;

  var platform: Integer;

  var encoding: Integer

):TT_Error;


TT_Get_Face_Pointer

Declaration

Source position: lazfreetype.pas line 111

function TT_Get_Face_Pointer(

  _face: TT_Face

):Pointer;


TT_Get_Face_Properties

Declaration

Source position: lazfreetype.pas line 99

function TT_Get_Face_Properties(

  _face: TT_Face;

  out prop: TT_Face_Properties

):TT_Error;


TT_Get_Font_Data

Declaration

Source position: lazfreetype.pas line 457

function TT_Get_Font_Data(

  face: TT_Face;

  tableTag: LongInt;

  offset: LongInt;

  var buffer;

  var length: LongInt

):TT_Error;


TT_Get_Glyph_Big_Metrics

Declaration

Source position: lazfreetype.pas line 262

function TT_Get_Glyph_Big_Metrics(

  _glyph: TT_Glyph;

  out gmetrics: TT_Big_Glyph_Metrics

):TT_Error;


TT_Get_Glyph_Bitmap

Declaration

Source position: lazfreetype.pas line 269

function TT_Get_Glyph_Bitmap(

  _glyph: TT_Glyph;

  var map: TT_Raster_Map;

  x_offset: TT_F26Dot6;

  y_offset: TT_F26Dot6;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Get_Glyph_Metrics

Declaration

Source position: lazfreetype.pas line 256

function TT_Get_Glyph_Metrics(

  _glyph: TT_Glyph;

  out gmetrics: TT_Glyph_Metrics

):TT_Error;


TT_Get_Glyph_Outline

Declaration

Source position: lazfreetype.pas line 250

function TT_Get_Glyph_Outline(

  _glyph: TT_Glyph;

  var outline: TT_Outline

):TT_Error;


TT_Get_Glyph_Pixmap

Declaration

Source position: lazfreetype.pas line 277

function TT_Get_Glyph_Pixmap(

  _glyph: TT_Glyph;

  var map: TT_Raster_Map;

  x_offset: TT_F26Dot6;

  y_offset: TT_F26Dot6;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Get_Glyph_Pixmap_HQ

Declaration

Source position: lazfreetype.pas line 282

function TT_Get_Glyph_Pixmap_HQ(

  _glyph: TT_Glyph;

  var map: TT_Raster_Map;

  x_offset: TT_F26Dot6;

  y_offset: TT_F26Dot6;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Get_Instance_Metrics

Declaration

Source position: lazfreetype.pas line 190

function TT_Get_Instance_Metrics(

  _ins: TT_Instance;

  out m: TT_Instance_Metrics

):TT_Error;


TT_Get_Instance_Pointer

Declaration

Source position: lazfreetype.pas line 202

function TT_Get_Instance_Pointer(

  _ins: TT_Instance

):Pointer;


TT_Get_KerningInfo

Declaration

Source position: lazfreetype.pas line 356

function TT_Get_KerningInfo(

  _Face: TT_Face;

  glyph_left: Word;

  glyph_right: Word

):TT_KerningInfo;


TT_Get_Name_Count

Declaration

Source position: lazfreetype.pas line 425

function TT_Get_Name_Count(

  face: TT_Face

):Integer;


TT_Get_Name_ID

Declaration

Source position: lazfreetype.pas line 430

function TT_Get_Name_ID(

  face: TT_Face;

  nameIndex: Integer;

  out platform: Integer;

  out encoding: Integer;

  out language: Integer;

  out nameid: Integer

):TT_Error;


TT_Get_Name_String

Declaration

Source position: lazfreetype.pas line 440

function TT_Get_Name_String(

  face: TT_Face;

  nameIndex: Integer;

  out str: Pointer;

  out len: Integer

):TT_Error;

function TT_Get_Name_String(

  face: TT_Face;

  nameIndex: Integer

):string;


TT_Get_Outline_BBox

Declaration

Source position: lazfreetype.pas line 349

function TT_Get_Outline_BBox(

  var out: TT_Outline;

  var bbox: TT_BBox;

  nbPhantomPoints: Integer = 0

):TT_Error;


TT_Get_Outline_Bitmap

Declaration

Source position: lazfreetype.pas line 326

function TT_Get_Outline_Bitmap(

  var out: TT_Outline;

  var map: TT_Raster_Map;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Get_Outline_Pixmap

Declaration

Source position: lazfreetype.pas line 332

function TT_Get_Outline_Pixmap(

  var out: TT_Outline;

  var map: TT_Raster_Map;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Get_Outline_Pixmap_HQ

Declaration

Source position: lazfreetype.pas line 335

function TT_Get_Outline_Pixmap_HQ(

  var out: TT_Outline;

  var map: TT_Raster_Map;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Init_FreeType

Declaration

Source position: lazfreetype.pas line 51

function TT_Init_FreeType: TT_Error;


TT_Load_Glyph

Declaration

Source position: lazfreetype.pas line 229

function TT_Load_Glyph(

  _instance: TT_Instance;

  _glyph: TT_Glyph;

  glyph_index: Word;

  load_flags: Integer

):TT_Error;


TT_New_Glyph

Declaration

Source position: lazfreetype.pas line 218

function TT_New_Glyph(

  _face: TT_Face;

  var _glyph: TT_Glyph

):TT_Error;


TT_New_Instance

Declaration

Source position: lazfreetype.pas line 128

function TT_New_Instance(

  _face: TT_Face;

  var _ins: TT_Instance

):TT_Error;


TT_New_Outline

Declaration

Source position: lazfreetype.pas line 362

function TT_New_Outline(

  n_points: Integer;

  n_contours: Integer;

  var out: TT_Outline

):TT_Error;


TT_Open_Collection

Declaration

Source position: lazfreetype.pas line 92

function TT_Open_Collection(

  fontname: string;

  faceIndex: Integer;

  var _face: TT_Face

):TT_Error;


TT_Open_Face

Declaration

Source position: lazfreetype.pas line 83

function TT_Open_Face(

  fontname: string;

  var _face: TT_Face

):TT_Error;

function TT_Open_Face(

  AStream: TStream;

  AStreamOwner: Boolean;

  var _face: TT_Face

):TT_Error;


TT_Render_Directly_Glyph_Gray

Declaration

Source position: lazfreetype.pas line 287

function TT_Render_Directly_Glyph_Gray(

  var _glyph: TT_Glyph;

  x_offset: TT_F26Dot6;

  y_offset: TT_F26Dot6;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Render_Directly_Glyph_HQ

Declaration

Source position: lazfreetype.pas line 293

function TT_Render_Directly_Glyph_HQ(

  var _glyph: TT_Glyph;

  x_offset: TT_F26Dot6;

  y_offset: TT_F26Dot6;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Render_Directly_Outline_Gray

Declaration

Source position: lazfreetype.pas line 338

function TT_Render_Directly_Outline_Gray(

  var out: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Render_Directly_Outline_HQ

Declaration

Source position: lazfreetype.pas line 342

function TT_Render_Directly_Outline_HQ(

  var out: TT_Outline;

  x: Integer;

  y: Integer;

  tx: Integer;

  ty: Integer;

  OnRender: TDirectRenderingFunction;

  rasterizer: TFreeTypeCustomRasterizer = Nil

):TT_Error;


TT_Set_Face_Pointer

Declaration

Source position: lazfreetype.pas line 105

function TT_Set_Face_Pointer(

  _face: TT_Face;

  data: Pointer

):TT_Error;


TT_Set_Instance_CharSize

Declaration

Source position: lazfreetype.pas line 147

function TT_Set_Instance_CharSize(

  _ins: TT_Instance;

  charsize: Integer

):TT_Error;


TT_Set_Instance_CharSizes

Declaration

Source position: lazfreetype.pas line 153

function TT_Set_Instance_CharSizes(

  _ins: TT_Instance;

  charsizex: Integer;

  charsizey: Integer

):TT_Error;


TT_Set_Instance_PixelSizes

Declaration

Source position: lazfreetype.pas line 160

function TT_Set_Instance_PixelSizes(

  _ins: TT_Instance;

  pixelX: Integer;

  pixelY: Integer;

  pointsize: Integer

):TT_Error;


TT_Set_Instance_Pointer

Declaration

Source position: lazfreetype.pas line 196

function TT_Set_Instance_Pointer(

  _ins: TT_Instance;

  data: Pointer

):TT_Error;


TT_Set_Instance_PointSize

Declaration

Source position: lazfreetype.pas line 141

function TT_Set_Instance_PointSize(

  _ins: TT_Instance;

  pointsize: Integer

):TT_Error;


TT_Set_Instance_Resolutions

Declaration

Source position: lazfreetype.pas line 134

function TT_Set_Instance_Resolutions(

  _ins: TT_Instance;

  x_resolution: Integer;

  y_resolution: Integer

):TT_Error;


TT_Set_Instance_Transforms

Declaration

Source position: lazfreetype.pas line 183

function TT_Set_Instance_Transforms(

  _ins: TT_Instance;

  rotated: Boolean;

  distorted: Boolean

):TT_Error;


TT_Set_Raster_Palette

Declaration

Source position: lazfreetype.pas line 69

function TT_Set_Raster_Palette(

  palette: TT_Gray_Palette

):TT_Error;


TT_Transform_Outline

Declaration

Source position: lazfreetype.pas line 314

function TT_Transform_Outline(

  var out: TT_Outline;

  var mat: TT_Matrix

):TT_Error;


TT_Transform_Vector

Declaration

Source position: lazfreetype.pas line 320

function TT_Transform_Vector(

  var x: TT_F26Dot6;

  var y: TT_F26Dot6;

  var mat: TT_Matrix

):TT_Error;


TT_Translate_Outline

Declaration

Source position: lazfreetype.pas line 308

function TT_Translate_Outline(

  var out: TT_Outline;

  x: TT_F26Dot6;

  y: TT_F26Dot6

):TT_Error;


SetDefaultFreeTypeFontCollection

Declaration

Source position: lazfreetypefontcollection.pas line 133

procedure SetDefaultFreeTypeFontCollection(

  ACollection: TCustomFreeTypeFontCollection

);


assign(Boolean):TLazLoggerLogEnabled

Declaration

Source position: LazLoggerIntf.inc line 119

operator operator :=(

  g: Boolean

):TLazLoggerLogEnabled;


assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

Declaration

Source position: LazLoggerIntf.inc line 118

operator operator :=(

  g: PLazLoggerLogGroup

):TLazLoggerLogEnabled;


dbghex

Declaration

Source position: LazLoggerIntf.inc line 111

function dbghex(

  i: Int64

):string; overload;


dbgMemRange

Declaration

Source position: LazLoggerIntf.inc line 113

function dbgMemRange(

  P: Pointer;

  Count: Integer;

  Width: Integer = 0

):string; overload;


dbgMemStream

Declaration

Source position: LazLoggerIntf.inc line 114

function dbgMemStream(

  MemStream: TCustomMemoryStream;

  Count: Integer

):string; overload;


dbgObjMem

Declaration

Source position: LazLoggerIntf.inc line 110

function dbgObjMem(

  AnObject: TObject

):string; overload;


DbgOut

Write message to log

Declaration

Source position: LazLoggerIntf.inc line 3

procedure DbgOut(

  const s: string = ''

); overload;

procedure DbgOut(

  Args: array of Const

); overload;

procedure DbgOut(

  const S: string;

  Args: array of Const

); overload;

procedure DbgOut(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

Description

Writes the text to the log. Does not append a new line.

The Argument can be:

One or more string(s)

An open array of const: All values are converted to string and joined

A single string and open array of const: Will be passed to Format

Any of the above with a PLazLoggerLogGroup as filter

This is a forwarder to the log TLazLogger object. See there for details.

See also

#LazUtils.LazLogger.GetDebugLogger

#LazUtils.LazLogger.SetDebugLogger

#LazUtils.LazLogger.DebugLogger


DbgS

Declaration

Source position: LazLoggerIntf.inc line 91

function DbgS(

  const c: Cardinal

):string; overload;

function DbgS(

  const i: LongInt

):string; overload;

function DbgS(

  const i: Int64

):string; overload;

function DbgS(

  const q: QWord

):string; overload;

function DbgS(

  const r: TRect

):string; overload;

function DbgS(

  const p: TPoint

):string; overload;

function DbgS(

  const p: pointer

):string; overload;

function DbgS(

  const e: extended;

  MaxDecimals: Integer = 999

):string; overload;

function DbgS(

  const b: Boolean

):string; overload;

function DbgS(

  const m: TMethod

):string; overload;

function DbgS(

  const ASize: TSize

):string; overload;

function DbgS(

  const s: TComponentState

):string; overload;

function DbgS(

  const i1: Integer;

  const i2: Integer;

  const i3: Integer;

  const i4: Integer

):string; overload;

function DbgS(

  const Shift: TShiftStateEnum

):string; overload;

function DbgS(

  const Shift: TShiftState

):string; overload;


DbgSJoin

Declaration

Source position: LazLoggerIntf.inc line 107

function DbgSJoin(

  const s1: string;

  const s2: string

):string;


DbgSName

Declaration

Source position: LazLoggerIntf.inc line 108

function DbgSName(

  const p: TObject

):string; overload;

function DbgSName(

  const p: TClass

):string; overload;


DbgStr

Declaration

Source position: lazlogger.pas line 28

function DbgStr(

  const StringWithSpecialChars: string

):string; overload;

function DbgStr(

  const StringWithSpecialChars: string;

  StartPos: PtrInt;

  Len: PtrInt

):string; overload;

function DbgStr(

  const p: PChar;

  Len: PtrInt

):string; overload;


DbgWideStr

Declaration

Source position: lazlogger.pas line 31

function DbgWideStr(

  const StringWithSpecialChars: widestring

):string; overload;


DebugLn

Write message to log

Declaration

Source position: LazLoggerIntf.inc line 13

procedure DebugLn(

  const s: string = ''

); overload;

procedure DebugLn(

  Args: array of Const

); overload;

procedure DebugLn(

  const S: string;

  Args: array of Const

); overload;

procedure DebugLn(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

Description

Writes the text to the log. Does append a new line.

The Argument can be:

One or more string

An open array of const: All values are converted to string and joined

A single string and open array of const: Will be passed to Format

Any of the above with a PLazLoggerLogGroup as filter

This is a forwarder to the log TLazLogger object. See there for details.

See also

#LazUtils.LazLogger.GetDebugLogger

#LazUtils.LazLogger.SetDebugLogger

#LazUtils.LazLogger.DebugLogger


DebugLnEnter

Write message to log

Declaration

Source position: LazLoggerIntf.inc line 23

procedure DebugLnEnter; overload;

procedure DebugLnEnter(

  const s: string

); overload;

procedure DebugLnEnter(

  Args: array of Const

); overload;

procedure DebugLnEnter(

  s: string;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

Description

Writes the text to the log. Does append a new line. Increases the current intend.

The Argument can be:

One or more string

An open array of const: All values are converted to string and joined

A single string and open array of const: Will be passed to Format

Any of the above with a PLazLoggerLogGroup as filter

This is a forwarder to the log TLazLogger object. See there for details.

See also

#LazUtils.LazLogger.GetDebugLogger

#LazUtils.LazLogger.SetDebugLogger

#LazUtils.LazLogger.DebugLogger


DebugLnExit

Write message to log

Declaration

Source position: LazLoggerIntf.inc line 34

procedure DebugLnExit; overload;

procedure DebugLnExit(

  const s: string

); overload;

procedure DebugLnExit(

  Args: array of Const

); overload;

procedure DebugLnExit(

  s: string;

  Args: array of Const

); overload;

procedure DebugLnExit(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

Description

Writes the text to the log. Does append a new line. Increases the current intend.

The Argument can be:

One or more string

An open array of const: All values are converted to string and joined

A single string and open array of const: Will be passed to Format

Any of the above with a PLazLoggerLogGroup as filter

This is a forwarder to the log TLazLogger object. See there for details.

See also

#LazUtils.LazLogger.GetDebugLogger

#LazUtils.LazLogger.SetDebugLogger

#LazUtils.LazLogger.DebugLogger


DebuglnStack

Declaration

Source position: LazLoggerIntf.inc line 1

procedure DebuglnStack(

  const s: string = ''

);

procedure DebuglnStack(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

);


DumpExceptionBackTrace

Declaration

Source position: LazLoggerIntf.inc line 116

procedure DumpExceptionBackTrace;


GetDebugLogger

Declaration

Source position: lazlogger.pas line 193

function GetDebugLogger: TLazLoggerFile;


logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

Declaration

Source position: LazLoggerIntf.inc line 120

operator operator and(

  g1: TLazLoggerLogEnabled;

  g2: TLazLoggerLogEnabled

):TLazLoggerLogEnabled;


logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

Declaration

Source position: LazLoggerIntf.inc line 121

operator operator or(

  g1: TLazLoggerLogEnabled;

  g2: TLazLoggerLogEnabled

):TLazLoggerLogEnabled;


SetDebugLogger

Declaration

Source position: lazlogger.pas line 194

procedure SetDebugLogger(

  ALogger: TLazLoggerFile

);


DbgOut

Declaration

Source position: LazLoggerIntf.inc line 3

procedure DbgOut(

  const s: string = ''

); overload;

procedure DbgOut(

  Args: array of Const

); overload;

procedure DbgOut(

  const S: string;

  Args: array of Const

); overload;

procedure DbgOut(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure DbgOut(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


DbgStr

Declaration

Source position: lazloggerbase.pas line 300

function DbgStr(

  const StringWithSpecialChars: string

):string; overload;

function DbgStr(

  const StringWithSpecialChars: string;

  StartPos: PtrInt;

  Len: PtrInt

):string; overload;

function DbgStr(

  const p: PChar;

  Len: PtrInt

):string; overload;


DbgWideStr

Declaration

Source position: lazloggerbase.pas line 303

function DbgWideStr(

  const StringWithSpecialChars: widestring

):string; overload;


DebugLn

Declaration

Source position: LazLoggerIntf.inc line 13

procedure DebugLn(

  const s: string = ''

); overload;

procedure DebugLn(

  Args: array of Const

); overload;

procedure DebugLn(

  const S: string;

  Args: array of Const

); overload;

procedure DebugLn(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string = ''

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const S: string;

  Args: array of Const

); overload;

procedure DebugLn(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


DebugLnEnter

Declaration

Source position: LazLoggerIntf.inc line 23

procedure DebugLnEnter; overload;

procedure DebugLnEnter(

  const s: string

); overload;

procedure DebugLnEnter(

  Args: array of Const

); overload;

procedure DebugLnEnter(

  s: string;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure DebugLnEnter(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


DebugLnExit

Declaration

Source position: LazLoggerIntf.inc line 34

procedure DebugLnExit; overload;

procedure DebugLnExit(

  const s: string

); overload;

procedure DebugLnExit(

  Args: array of Const

); overload;

procedure DebugLnExit(

  s: string;

  Args: array of Const

); overload;

procedure DebugLnExit(

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s: string

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  Args: array of Const

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  s: string;

  Args: array of Const

); overload;

procedure DebugLnExit(

  LogEnabled: TLazLoggerLogEnabled;

  const s1: string;

  const s2: string;

  const s3: string = '';

  const s4: string = '';

  const s5: string = '';

  const s6: string = '';

  const s7: string = '';

  const s8: string = '';

  const s9: string = '';

  const s10: string = '';

  const s11: string = '';

  const s12: string = '';

  const s13: string = '';

  const s14: string = '';

  const s15: string = '';

  const s16: string = '';

  const s17: string = '';

  const s18: string = ''

); overload;


DumpStack

Declaration

Source position: lazloggerbase.pas line 305

procedure DumpStack;


GetDebugLogger

Declaration

Source position: lazloggerbase.pas line 291

function GetDebugLogger: TLazLogger;


GetDebugLoggerGroups

Declaration

Source position: lazloggerbase.pas line 288

function GetDebugLoggerGroups: TLazLoggerLogGroupList;


GetExistingDebugLogger

Declaration

Source position: lazloggerbase.pas line 292

function GetExistingDebugLogger: TLazLogger;


GetParamByName

Declaration

Source position: lazloggerbase.pas line 286

function GetParamByName(

  const AName: string;

  AnIndex: Integer

):string;


GetParamByNameCount

Declaration

Source position: lazloggerbase.pas line 285

function GetParamByNameCount(

  const AName: string

):Integer;


RecreateDebugLogger

Declaration

Source position: lazloggerbase.pas line 295

procedure RecreateDebugLogger;


SetDebugLogger

Declaration

Source position: lazloggerbase.pas line 293

procedure SetDebugLogger(

  ALogger: TLazLogger

);


SetDebugLoggerGroups

Declaration

Source position: lazloggerbase.pas line 289

procedure SetDebugLoggerGroups(

  ALogGroups: TLazLoggerLogGroupList

);


GetDebugLogger

Declaration

Source position: lazloggerdummy.pas line 202

function GetDebugLogger: TLazLogger;


GetDebugLoggerGroups

Declaration

Source position: lazloggerdummy.pas line 199

function GetDebugLoggerGroups: TLazLoggerLogGroupList;


GetExistingDebugLogger

Declaration

Source position: lazloggerdummy.pas line 203

function GetExistingDebugLogger: TLazLogger;


RecreateDebugLogger

Declaration

Source position: lazloggerdummy.pas line 206

procedure RecreateDebugLogger;


SetDebugLogger

Declaration

Source position: lazloggerdummy.pas line 204

procedure SetDebugLogger(

  ALogger: TLazLogger

);


SetDebugLoggerGroups

Declaration

Source position: lazloggerdummy.pas line 200

procedure SetDebugLoggerGroups(

  ALogGroups: TLazLoggerLogGroupList

);


DbgsMemUsed

Declaration

Source position: lazloggerprofiling.pas line 64

function DbgsMemUsed(

  AFormat: string = '%0:d'

):string;

function DbgsMemUsed(

  AFormat: string;

  AName: string

):string;


DbgStartMemWatch

Declaration

Source position: lazloggerprofiling.pas line 69

procedure DbgStartMemWatch(

  AName: string

);


DbgStartTimer

Declaration

Source position: lazloggerprofiling.pas line 67

procedure DbgStartTimer(

  AName: string

);


DbgsTimeUsed

Declaration

Source position: lazloggerprofiling.pas line 65

function DbgsTimeUsed(

  AFormat: string = '%0:n'

):string;

function DbgsTimeUsed(

  AFormat: string;

  AName: string

):string;


DbgStopMemWatch

Declaration

Source position: lazloggerprofiling.pas line 70

procedure DbgStopMemWatch(

  AName: string

);


DbgStopTimer

Declaration

Source position: lazloggerprofiling.pas line 68

procedure DbgStopTimer(

  AName: string

);


CompareMethods

Performs a comparison between the specified methods

Declaration

Source position: lazmethodlist.pas line 67

function CompareMethods(

  const m1: TMethod;

  const m2: TMethod

):Boolean;

Arguments

m1 | Method for the comparison
m2 | Another method for the comparison

Function result

True when the compared methods share the same code and data

Description

CompareMethods is a Boolean function used to compare the specified methods. m1 and m2 are TMethod parameters with the values compared in the function. The comparison examines the Code and Data members in the TMethod records. The return value is True when the Code and Data members are identical in both records.


BinaryStrToText

Declaration

Source position: lazstringutils.pas line 57

function BinaryStrToText(

  const s: string

):string;


BreakString

Declaration

Source position: lazstringutils.pas line 60

function BreakString(

  const s: string;

  MaxLineLength: Integer;

  Indent: Integer

):string;


ChangeLineEndings

Declaration

Source position: lazstringutils.pas line 44

function ChangeLineEndings(

  const s: string;

  const NewLineEnding: string

):string;


CommentText

Converts a string into a comment using the specified comment style

Declaration

Source position: lazstringutils.pas line 52

function CommentText(

  const s: string;

  CommentType: TCommentType

):string;

Arguments

s | Value conveerted into a comment
CommentType | Comment type applied to the string

Function result

Comment with the specified style marker(s)

Description

CommentText is a String function used to convert a string into a comment using the specified comment style.


ConvertLineEndings

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

ConvertLineEndings (deprecated)

Declaration

Source position: lazstringutils.pas line 47

function ConvertLineEndings(

  const s: string

):string;

Description

Deprecated. Use LineBreaksToSystemLineBreaks instead.


FindNextDelimitedItem

Declaration

Source position: lazstringutils.pas line 80

function FindNextDelimitedItem(

  const List: string;

  Delimiter: Char;

  var Position: Integer;

  FindItem: string

):string;


GetNextDelimitedItem

Declaration

Source position: lazstringutils.pas line 76

function GetNextDelimitedItem(

  const List: string;

  Delimiter: Char;

  var Position: Integer

):string;


GetPart

Declaration

Source position: lazstringutils.pas line 86

function GetPart(

  const ASkipTo: string;

  const AnEnd: string;

  var ASource: string;

  const AnIgnoreCase: Boolean = False;

  const AnUpdateSource: Boolean = True

):string; overload;

function GetPart(

  const ASkipTo: array of string;

  const AnEnd: array of string;

  var ASource: string;

  const AnIgnoreCase: Boolean = False;

  const AnUpdateSource: Boolean = True

):string; overload;


HasDelimitedItem

Declaration

Source position: lazstringutils.pas line 78

function HasDelimitedItem(

  const List: string;

  Delimiter: Char;

  FindItem: string

):Boolean;


IsNumber

Declaration

Source position: lazstringutils.pas line 40

function IsNumber(

  s: string

):Boolean;


LazIsValidIdent

This is a copy of IsValidIdent from FPC 3.1

Declaration

Source position: lazstringutils.pas line 101

function LazIsValidIdent(

  const Ident: string;

  AllowDots: Boolean = False;

  StrictDots: Boolean = False

):Boolean;

Description

TODO: Switch to using IsValidIdent from FPC 3.2 when it is the minimum requirement.


LineBreaksToDelimiter

Declaration

Source position: lazstringutils.pas line 46

function LineBreaksToDelimiter(

  const s: string;

  Delimiter: Char

):string;


LineBreaksToSystemLineBreaks

Declaration

Source position: lazstringutils.pas line 45

function LineBreaksToSystemLineBreaks(

  const s: string

):string;


LineEndingCount

Declaration

Source position: lazstringutils.pas line 43

function LineEndingCount(

  const Txt: string;

  var LengthOfLastLine: Integer

):Integer;


MergeWithDelimiter

Declaration

Source position: lazstringutils.pas line 82

function MergeWithDelimiter(

  const a: string;

  const b: string;

  Delimiter: Char

):string;


SamePChar

Return True if P1 and P2 have the same content

Declaration

Source position: lazstringutils.pas line 97

function SamePChar(

  P1: PChar;

  P2: PChar

):Boolean;

Arguments

P1 | Pointer to characters compared in the routine
P2 | Pointer to characters compared in the routine

Function result

True when P1 and P2 have the same content, or are the same pointer

Description

Returns False if either P1 or P2 are unassigned (contain Nil).


SimpleSyntaxToRegExpr

Declaration

Source position: lazstringutils.pas line 56

function SimpleSyntaxToRegExpr(

  const Src: string

):string;


SpecialCharsToHex

Declaration

Source position: lazstringutils.pas line 59

function SpecialCharsToHex(

  const s: string

):string;


SpecialCharsToSpaces

Declaration

Source position: lazstringutils.pas line 58

function SpecialCharsToSpaces(

  const s: string;

  FixUTF8: Boolean

):string;


SplitString

Declaration

Source position: lazstringutils.pas line 63

function SplitString(

  const s: string;

  Delimiter: Char

):TStrings;

procedure SplitString(

  const s: string;

  Delimiter: Char;

  AddTo: TStrings;

  ClearList: Boolean = True

);


StringCase

Declaration

Source position: lazstringutils.pas line 93

function StringCase(

  const AString: string;

  const ACase: array of string

):Integer; overload;

function StringCase(

  const AString: string;

  const ACase: array of string;

  const AIgnoreCase: Boolean;

  const APartial: Boolean

):Integer; overload;


StringListPartToText

Converts the specified lines in TStrings to a string

Declaration

Source position: lazstringutils.pas line 68

function StringListPartToText(

  List: TStrings;

  FromIndex: Integer;

  ToIndex: Integer;

  const Delimiter: string;

  IgnoreEmptyLines: Boolean = False

):string;

Arguments

List | TStrings instance examined in the method
FromIndex | First line includes in the text
ToIndex | Last line included in the text
Delimiter | Delimiter inserted between lines in the text
IgnoreEmptyLines | Indicates if empty lines are excluded from the text

Function result

Text representing the specified lines in the TStrings instance


StringListToString

Converts the contents in TStrings to a string

Declaration

Source position: lazstringutils.pas line 71

function StringListToString(

  List: TStrings;

  FromIndex: Integer;

  ToIndex: Integer;

  IgnoreEmptyLines: Boolean = False

):string;

Arguments

List | TStrings instance examined in the method
FromIndex | First line included in the string value
ToIndex | Last line included in the string value

Function result

String representing the contents of the TStrings instance


StringListToText

Declaration

Source position: lazstringutils.pas line 66

function StringListToText(

  List: TStrings;

  const Delimiter: string;

  IgnoreEmptyLines: Boolean = False

):string;


StringToStringList

Stores the specified string as lines in a TStrings instance

Declaration

Source position: lazstringutils.pas line 73

procedure StringToStringList(

  const s: string;

  List: TStrings

);

Arguments

s | String with values stored in the method
List | TStrings instance where values are stored in the method


StripLN

Declaration

Source position: lazstringutils.pas line 85

function StripLN(

  const ALine: string

):string;


StrLScan

Like StrScan but compares only the specified number of characters in MaxLen

Declaration

Source position: lazstringutils.pas line 98

function StrLScan(

  P: PChar;

  c: Char;

  MaxLen: Cardinal

):PChar;

Arguments

P | Pointer to characters examined in the routine
c | Character to locate in the specified values
MaxLen | Maximum number of characters examined in the routine

Function result

Pointer to the character located in P, or Nil

Description

The return value is Nil when P is unassigned (contains Nil), or when P contains a null termination character prior to finding a match for c before comparing the requested number of characters in MaxLen.

When c is located in P, the return value is a PChar pointer to the location where c was located.


SwapCase

Declaration

Source position: lazstringutils.pas line 91

function SwapCase(

  const S: string

):string;


TabsToSpaces

Declaration

Source position: lazstringutils.pas line 50

function TabsToSpaces(

  const s: string;

  TabWidth: Integer;

  UseUTF8: Boolean

):string;


TextToSingleLine

Declaration

Source position: lazstringutils.pas line 90

function TextToSingleLine(

  const AText: string

):string;


GetTickCount64

Gets the number of Milliseconds elapsed since the computer was started

Declaration

Source position: lazsysutils.pas line 19

function GetTickCount64: QWord;

Function result

Number of ticks (Milliseconds)


NowUTC

Gets the current date and time in UTC (Coordinated Universal Time)

Declaration

Source position: lazsysutils.pas line 18

function NowUTC: TDateTime;

Function result

Date/Time value in UTC


GetLineInfo

Gets information about the specified code address

Declaration

Source position: laztracer.pas line 27

function GetLineInfo(

  Addr: Pointer;

  UseCache: Boolean

):string;

Arguments

Addr | The code address examined in the routine
UseCache | Indicates if locally cached line information can be used in the routine

Function result

String with information about the code address

Description

GetLineInfo is a String function used to get information about the code address specified in Addr.

UseCache indicates if cached line information from an internal AVL tree can be used in the routine. When UseCache contains False, the BackTraceStrFunc in the lclproc.pas initialization section is called to get the line information for each of the backtrace addresses.


GetStackTrace

Retrieves backtrace information for code addresses

Declaration

Source position: laztracer.pas line 23

function GetStackTrace(

  UseCache: Boolean

):string;

Arguments

UseCache

Indicates if cached line information can be used in the routine

Function result

String with information about backtrace addresses

Description

GetStackTrace is a String function used to retrieve backtrace information for code addresses in a string format.

Calls GetLineInfo to get information for the code addresses, using the value in UseCache as an argument. UseCache indicates if cached line information from an internal AVL tree can be used in the routine. When UseCache contains False, the BackTraceStrFunc in lclproc.pas initialization section is called to get the line information for each of the backtrace addresses.

See also

GetLineInfo

Gets information about the specified code address


GetStackTracePointers

Retrieve the addresses and information for a code address and its callers

Declaration

Source position: laztracer.pas line 24

procedure GetStackTracePointers(

  var AStack: TStackTracePointers

);

Arguments

AStack

Array where pointers to code addresses are stored

Description

GetStackTracePointers is a procedure used to retrieve the addresses and information for a code address and its callers.

AStack is the array where pointers to code addresses for calling routines are stored.

See also

StackTraceAsString

Gets a string with backtrace information for the specified call stack


RaiseAndCatchException

Raises an exception that is caught and handled in an application

Declaration

Source position: laztracer.pas line 22

procedure RaiseAndCatchException;

Description

RaiseAndCatchException is a procedure used to generate an Exception that is caught and handled by an application.

Remark: Please note: For the Amiga platform, Division by Zero errors are not catchable. The program will simply crash.


RaiseGDBException

Raises an exception in the GDB debugger

Declaration

Source position: laztracer.pas line 21

procedure RaiseGDBException(

  const Msg: string

);

Arguments

Msg

Value for the message in the exception

Description

RaiseGDBException is a procedure used to raise an exception in the GDB debugger. Normally, GDB does not catch FPC Exception objects. This procedure raises a standard "Division By Zero" exception, which IS caught by GDB. This allows a program to be stopped in the debugger without extra GDB configuration.

Remark: Please note: For the Amiga platform, Division by Zero errors are not catchable. The program will simply crash.

Msg contains the value used as the message in the exception.


StackTraceAsString

Gets a string with backtrace information for the specified call stack

Declaration

Source position: laztracer.pas line 25

function StackTraceAsString(

  const AStack: TStackTracePointers;

  UseCache: Boolean

):string;

Arguments

AStack | Array of pointers to code addresses examined in the routine
UseCache | Indicates if cached line information can be used in the routine

Function result

String with backtrace information for the call stack

Description

StackTraceAsString is a String function used to get backtrace information for the code addresses specified in AStack. The return value contains lines with the values from GetLineInfo for each of the code addresses.

UseCache indicates if cached line information from an internal AVL tree can be used in the routine. It is passed as an argument in calls to the GetLineInfo routine.

See also

GetLineInfo | Gets information about the specified code address
TStackTracePointers | Array type used for Pointers to code addresses


CodePointCopy

Copies the specified number of codepoints starting at a character position

Declaration

Source position: lazunicode.pas line 44

function CodePointCopy(

  const s: string;

  StartCharIndex: NativeInt;

  CharCount: NativeInt

):string;

Arguments

s | UTF-encoded string values
StartCharIndex | Initial character position
CharCount | Number of characters needed in the copy operation

Function result

Values copied from the string

Description

Copies the number of codepoints in CharCount from s, starting at the character position in StartCharIndex. For platforms that require UTF-16, UTF16Copy is called. For other platforms, UTF8Copy is called.

See also

#LazUtils.LazUTF16.UTF16Copy

#LazUtils.LazUTF8.UTF8Copy

Copies the specified number of codepoints from the UTF-8-encoded string


CodePointLength

Gets the number of codepoints in the specified string.

Declaration

Source position: lazunicode.pas line 45

function CodePointLength(

  const s: string

):NativeInt;

Arguments

s

UTF-encoded values examined in the function

Function result

Number of codepoints in the string

Description

Gets the number of codepoints in the specified string. For platforms that require UTF-16, UTF16Length is called to get the return value for the function. For other platforms, UTF8LengthFast is called to get the number of codepoints.


CodePointPos

Gets the position where the search value is found in a string

Declaration

Source position: lazunicode.pas line 46

function CodePointPos(

  const SearchForText: string;

  const SearchInText: string;

  StartPos: NativeInt = 1

):NativeInt;

Arguments

SearchForText | Values to locate in the string
SearchInText | String to search for the specified values
StartPos | Initial character position (codepoint) used in the comparison

Function result

Character position (codepoint) where the search value was found in the string

Description

Gets the position in SearchInText where SearchForText is found. StartPos indicates the initial character position (codepoint) in SearchInText used for the comparison. The default value is 1.

The return value contains the character position (codepoint) where the search value was found. The return value is 0 (zero) if SearchForText is not found in the string. For platforms that require UTF-16, UTF16Pos is called to get the return value. For other platforms, UTF8Pos is called to get the character position (codepoint).


CodePointSize

Gets the number of bytes needed for a CodePoint in the specified value

Declaration

Source position: lazunicode.pas line 47

function CodePointSize(

  p: PChar

):Integer;

Arguments

p

String with the codepoint to examine in the function

Function result

Number of bytes required for a codepoint

Description

Gets the number of bytes needed for the CodePoint specified in p. For platforms that require UTF-16, TCharacter.IsHighSurrogate is called to get the return value. For other platforms, UTF8CodepointSizeFast is called to get the number of bytes for the codepoint. The return value is 1 or 2 for UTF-16-enabled platforms, or in the range 1..4 for UTF-8-enabled platforms. The return value can be 0 (zero) if p contains an empty string ('') or a malformed codepoint.


IsCombining

Determines if the specified value is a combining codepoint

Declaration

Source position: lazunicode.pas line 48

function IsCombining(

  const AChar: PChar

):Boolean;

Arguments

AChar

Codepoint to examine in the function

Function result

True when the codepoint represents a Unicode combining character

Description

Determines if the specified value is a combining codepoint. Please note, there are many more rules for combining codepoints.The diacritical marks handled in the function are only a subset of the possible Unicode values. For platforms that require UTF-16, UTF16IsCombining is called to get the return value for the specified codepoint. For other platforms, UTF8IsCombining is called to examine the codepoint.


StringOfCodePoint

Creates a string with the specified number of codepoints.

Declaration

Source position: lazunicode.pas line 53

function StringOfCodePoint(

  ACodePoint: string;

  N: Integer

):string;

Arguments

ACodePoint | Codepoint to use when creating the string
N | Number of codepoints required in the string

Function result

String with the specified number of codepoints

Description

Creates a string with the specified number of codepoints. Like StringOfChar. For platforms that require UTF-16, the values in ACodePoint are concatenated together until the number of codepoints in N have been created. For other platforms, Utf8StringOfChar is called to get the return value for the function.


UnicodeToWinCP

Converts the specified value to the Windows system codepage

Declaration

Source position: lazunicode.pas line 50

function UnicodeToWinCP(

  const s: string

):AnsiString;

Arguments

s

Unicode values to convert in the function

Function result

Values after conversion to the Windows code page

Description

Converts the specified value to the Windows system codepage. The Unicode encoding used in s depends on the modeswitch value. For platforms that require UTF-16, UTF16ToUTF8 and UTF8ToWinCP are called to get the return value for the function, except when String is defined as UnicodeString. No conversion is required in that situation. For other platforms, UTF8ToWinCP is called to get the return value.


WinCPToUnicode

Converts the specified string to Unicode

Declaration

Source position: lazunicode.pas line 51

function WinCPToUnicode(

  const s: AnsiString

):string;

Arguments

s

String with Windows code page values

Function result

Unicode values for the specified string

Description

Converts the specified value from the Windows system codepage to Unicode. The Unicode encoding used depends on the modeswitch value. For platforms that require UTF-16, WinCPToUTF8 and UTF8ToUTF16 are called to get the return value for the function. Except when String is defined as UnicodeString. No conversion is required in that situation. For other platforms, WinCPToUTF8 is called to get the return value.


IsUTF16CharValid

Declaration

Source position: lazutf16.pas line 46

function IsUTF16CharValid(

  AChar: WideChar;

  ANextChar: WideChar

):Boolean;


IsUTF16StringValid

Declaration

Source position: lazutf16.pas line 47

function IsUTF16StringValid(

  AWideStr: widestring

):Boolean;


UnicodeLowercase

Declaration

Source position: lazutf16.pas line 51

function UnicodeLowercase(

  u: Cardinal

):Cardinal;


UnicodeToUTF16

Declaration

Source position: lazutf16.pas line 45

function UnicodeToUTF16(

  u: Cardinal

):widestring;


UTF16CharacterLength

Declaration

Source position: lazutf16.pas line 38

function UTF16CharacterLength(

  p: PWideChar

):Integer;


UTF16CharacterToUnicode

Declaration

Source position: lazutf16.pas line 44

function UTF16CharacterToUnicode(

  p: PWideChar;

  out CharLen: Integer

):Cardinal;


UTF16CharStart

Declaration

Source position: lazutf16.pas line 42

function UTF16CharStart(

  P: PWideChar;

  Len: PtrInt;

  CharIndex: PtrInt

):PWideChar;


UTF16Copy

Declaration

Source position: lazutf16.pas line 41

function UTF16Copy(

  const s: UnicodeString;

  StartCharIndex: PtrInt;

  CharCount: PtrInt

):Unicodestring;


UTF16Length

Declaration

Source position: lazutf16.pas line 39

function UTF16Length(

  const s: widestring

):PtrInt; overload;

function UTF16Length(

  p: PWideChar;

  WordCount: PtrInt

):PtrInt; overload;


UTF16Pos

Declaration

Source position: lazutf16.pas line 43

function UTF16Pos(

  const SearchForText: UnicodeString;

  const SearchInText: UnicodeString;

  StartPos: PtrInt = 1

):PtrInt;


Utf16StringReplace

Declaration

Source position: lazutf16.pas line 48

function Utf16StringReplace(

  const S: WideString;

  const OldPattern: WideString;

  const NewPattern: WideString;

  Flags: TReplaceFlags

):WideString;

function Utf16StringReplace(

  const S: WideString;

  const OldPattern: WideString;

  const NewPattern: WideString;

  Flags: TReplaceFlags;

  out Count: Integer

):WideString;


CompareStrListUTF8LowerCase

Compares the specified lines of text in a TStringList

Declaration

Source position: lazutf8.pas line 181

function CompareStrListUTF8LowerCase(

  List: TStringList;

  Index1: Integer;

  Index2: Integer

):Integer;

Arguments

List | TStringList with values for the comparison
Index1 | Position of the first text line
Index2 | Position of the second text line

Function result

Relative order for the compared values

Description

CompareStrListUTF8LowerCase is an Integer function used to compare the specified lines of text in the TStringList argument. Index1 and Index2 contain the ordinal positions for the lines of text. CompareStrListUTF8LowerCase calls UTF8CompareText to perform a case-insensitive comparison between the values.

The return value contains the relative order for the compared values, as defined for UTF8CompareText.


ConsoleToUTF8

Converts an OEM-encoded string to UTF8

Declaration

Source position: lazutf8.pas line 53

function ConsoleToUTF8(

  const s: string

):string;

Arguments

s

Value to convert in the function

Function result

UTF-8-encode value for the string

Description

ConsoleToUTF8 is a String function used to converts an OEM-encoded string to UTF8. The implementation of ConsoleToUTF8 is OS-specific, and essentially handles differences between various Windows platforms where use of OemToChar and WinCPToUTF8 are required. For UNIX-like environments, the value in s is converted by calling SysToUTF8.

ConsoleToUTF8 is used in the implementation of the GetEnvironmentStringUTF8 and GetEnvironmentVariableUTF8 functions.


ConvertUTF16ToUTF8

Converts values from UTF-16 encoding to UTF-8 encoding

Declaration

Source position: lazutf8.pas line 195

function ConvertUTF16ToUTF8(

  Dest: PChar;

  DestCharCount: SizeUInt;

  Src: PWideChar;

  SrcWideCharCount: SizeUInt;

  Options: TConvertOptions;

  out ActualCharCount: SizeUInt

):TConvertResult;

Arguments

Dest | Pointer to destination string
DestCharCount | Char count allocated in destination string
Src | Pointer to source string
SrcWideCharCount | Wide char count allocated in source string
Options | Conversion options, if none is set, both invalid and unfinished source chars are skipped
ActualCharCount | Actual char count converted from source string to destination string

Function result

Converted values from the function

Description

Converts the specified UTF-16 encoded string (system endian) to its UTF-8 encoding.

Options indicates the conversion options enabled in the function, and can include the following values:

toInvalidCharError
Stop on invalid source char and report error
toInvalidCharToSymbol
Replace invalid source chars with '?'
toUnfinishedCharError
Stop on unfinished source char and report error
toUnfinishedCharToSymbol
Replace unfinished source char with '?'

The return value is a value from the TConvertResult enumeration, including:

trNoError
The string was successfully converted without any error
trNullSrc
Pointer to source string is nil
trNullDest
Pointer to destination string is nil
trDestExhausted
Destination buffer size is not big enough to hold converted string
trInvalidChar
Invalid source char has occurred
trUnfinishedChar
Unfinished source char has occurred


ConvertUTF8ToUTF16

Converts values from UTF-8 encoding to UTF-16 encoding

Declaration

Source position: lazutf8.pas line 191

function ConvertUTF8ToUTF16(

  Dest: PWideChar;

  DestWideCharCount: SizeUInt;

  Src: PChar;

  SrcCharCount: SizeUInt;

  Options: TConvertOptions;

  out ActualWideCharCount: SizeUInt

):TConvertResult;

Arguments

Dest | Pointer to destination string
DestWideCharCount | Wide char count allocated in destination string
Src | Pointer to source string
SrcCharCount | Char count allocated in source string
Options | Conversion options, if none is set, both invalid and unfinished source chars are skipped
ActualWideCharCount | Actual WideChar count used int he conversion

Function result

Converted values from the function

Description

ConvertUTF8ToUTF16 is used to convert the specified UTF-8 encoded string to UTF-16 encoded (system endian).

Options indicates the conversion options enabled in the function, and can include the following values:

toInvalidCharError
Stop on invalid source char and report error
toInvalidCharToSymbol
Replace invalid source chars with '?'
toUnfinishedCharError
Stop on unfinished source char and report error
toUnfinishedCharToSymbol
Replace unfinished source char with '?'

The return value is a value from the TConvertResult enumeration, including:

trNoError
The string was successfully converted without any error
trNullSrc
Pointer to source string is nil
trNullDest
Pointer to destination string is nil
trDestExhausted
Destination buffer size is not big enough to hold converted string
trInvalidChar
Invalid source char has occurred
trUnfinishedChar
Unfinished source char has occurred


FindInvalidUTF8Character

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

FindInvalidUTF8Character (deprecated)

Returns -1 if OK, otherwise byte index of invalid UTF-8 codepoint

Declaration

Source position: lazutf8.pas line 137

function FindInvalidUTF8Character(

  p: PChar;

  Count: PtrInt;

  StopOnNonUTF8: Boolean = True

):PtrInt;

Description

Remark: Deprecated. Use FindInvalidUTF8Codepoint instead.

It always stops on irregular codepoints. For example Codepoint 0 is normally encoded as #0, but it can also be encoded as #192#0. Because most software does not check this, it can be exploited and is a security risk. If StopOnNonUTF8 is false it will ignore undefined codes. For example #128. By default it stops on such codes.


FindInvalidUTF8Codepoint

Finds the position where an invalid UTF-8 codepoint is found in the string

Declaration

Source position: lazutf8.pas line 136

function FindInvalidUTF8Codepoint(

  p: PChar;

  Count: PtrInt;

  StopOnNonUTF8: Boolean = True

):PtrInt;

Arguments

p | Values to examine in the function
Count | Length of the input values
StopOnNonUTF8 | True to exit on an malformed codepoint

Function result

Offset into the string for the error

Description

FindInvalidUTF8Codepoint is a PtrInt function used to find the position where an invalid UTF-8 codepoint is located in the specified value. The return value contains -1 when none of the values in p are invalid, or the zero-based offset into p where the invalid encoding was located.

StopOnNonUTF8 indicates if the function should be exited when an encoded value is found that is not defined in the UTF-8 encoding, or for single byte characters inserted in the middle of a UTF-8 encoding (used in XSS attacks).


GetEnvironmentStringUTF8

Returns a system environment string.

Declaration

Source position: lazutf8.pas line 71

function GetEnvironmentStringUTF8(

  Index: Integer

):string;

Arguments

Index

Position for the environment variable

Function result

Value for the environment variable at the specified position

Description

Returns a system environment string stored at the specified position. The value in Index is in the range 1..GetEnvironmentVariableCountUTF8. On Unix and Windows the string often has the form 'name=value'. Beware that Windows knows some special formats, e.g. '=C:=SomePath'. Use GetEnvironmentVariableUTF8 to lookup environment values by name.


GetEnvironmentVariableCountUTF8

Returns the number of system environment variables.

Declaration

Source position: lazutf8.pas line 70

function GetEnvironmentVariableCountUTF8: Integer;

Description

Returns the number of system environment variables. Use together with GetEnvironmentStringUTF8.


GetEnvironmentVariableUTF8

Returns the value of a system environment variable

Declaration

Source position: lazutf8.pas line 72

function GetEnvironmentVariableUTF8(

  const EnvVar: string

):string;

Description

Returns the value of a environment variable stored in the form 'EnvVar=value'. See GetEnvironmentStringUTF8 to retrieve the whole list of environment strings.


LazGetLanguageIDs

Declaration

Source position: lazutf8.pas line 205

procedure LazGetLanguageIDs(

  var Lang: string;

  var FallbackLang: string

);


LazGetShortLanguageID

Declaration

Source position: lazutf8.pas line 206

procedure LazGetShortLanguageID(

  var Lang: string

);

Description

LazGetShortLanguageID strips country information from the language ID, making it simpler to use. Ideally the resulting ID from here should conform to ISO 639-1 or ISO 639-2, if the language has no code in ISO 639-1.


NeedRTLAnsi

Indicates if the OS requires use of AnsiToUTF8 and UTF8ToAnsi for the RTL

Declaration

Source position: lazutf8.pas line 41

function NeedRTLAnsi: Boolean;

Function result

True when a WideStringManager is needed for the OS

Description

NeedRTLAnsi is a Boolean function that indicates if the OS requires use of AnsiToUTF8 and UTF8ToAnsi for the RTL. AnsiToUTF8 and UTF8ToAnsi need a widestring manager under Linux, BSD, and MacOSX. Normally these OS's use UTF-8 as the system encoding so the WideStringManager is not needed.

For the Windows environment, NeedRTLAnsi is True if the system code page is not CP_UTF8. For UNIX-like environments, NeedRTLAnsi is True when any of the LC_ALL, LC_MESSAGES, or LANG environment variables contain a language code other than UTF-8.


ParamStrUTF8

Converts the specified command line parameter to a UTF-8-encoded string

Declaration

Source position: lazutf8.pas line 63

function ParamStrUTF8(

  Param: Integer

):string;

Arguments

Param

Ordinal position of the command line parameter

Function result

UTF-8-encoded value for the command line parameter

Description

ParamStrUTF8 is a String function used to convert the specified command line parameter to a UTF-8-encoded string. The implementation for ParamStrUTF8 is OS- or platform-specific. For UNIX-like environments, SysToUTF8 is called to convert the value for the command line parameter at the position in Param. For Windows platforms like WinCE, the stub for the Ansi or WideString version of ParamStr is called.

See also

SysToUTF8

Converts strings (and format settings) from the system codepage to UTF-8


ReplaceSubstring

Declaration

Source position: lazutf8.pas line 211

procedure ReplaceSubstring(

  var s: string;

  StartPos: SizeInt;

  Count: SizeInt;

  const Insertion: string

);


SetNeedRTLAnsi

Sets the value for the unit global variable

Declaration

Source position: lazutf8.pas line 42

procedure SetNeedRTLAnsi(

  NewValue: Boolean

);

Arguments

NewValue

New value for the variable

See also

NeedRTLAnsi

Indicates if the OS requires use of AnsiToUTF8 and UTF8ToAnsi for the RTL


SysErrorMessageUTF8

Gets the UTF-8-encoded system error message for the specified error code

Declaration

Source position: lazutf8.pas line 73

function SysErrorMessageUTF8(

  ErrorCode: Integer

):string;

Arguments

ErrorCode

Numeric system error code for the message

Function result

UTF-8-encoded value for the system error message

Description

SysErrorMessageUTF8 used to get the UTF-8-encoded system error message for the specified error code. SysErrorMessageUTF8 calls the SysUtils.SysErrorMessage function and converts the error message using SysToUTF8.


SysToUTF8

Converts strings (and format settings) from the system codepage to UTF-8

Declaration

Source position: lazutf8.pas line 49

function SysToUTF8(

  const s: string

):string; overload;

function SysToUTF8(

  const AFormatSettings: TFormatSettings

):TFormatSettings; overload;

Arguments

s

Values to examine in the function

Function result

Values after conversion to UTF-8

Arguments

AFormatSettings

Format settings to examine in the function

Description

SysToUTF8 is an overloaded function used to convert strings (and format settings) from the system codepage to UTF-8. SysToUTF8 works like AnsiToUTF8, but has no reliance on the widestring manager on platforms where UTF8_RTL is defined. For platforms where UTF8_RTL is not defined, and NeedRTLAnsi contains True, non-ASCII values are converted to UTF-8 by calling AnsiToUTF8.

An overloaded variant of the function handles TFormatSettings for the platform. The return value for the function is the specified values in AFormatSettings after conversion from the system codepage to UTF-8. The values in the following format settings are updated: CurrencyString, LongMonthNames, ShortMonthNames, LongDayNames, and ShortDayNames.


UnicodeToUTF8

Encodes the given code point as an UTF-8 sequence of 1 to 4 bytes

Declaration

Source position: lazutf8.pas line 90

function UnicodeToUTF8(

  CodePoint: Cardinal

):string;

function UnicodeToUTF8(

  CodePoint: Cardinal;

  Buf: PChar

):Integer;

Arguments

CodePoint

Unicode character value to convert in the function

Function result

Number of bytes needed for the UTF-8-encode value

Arguments

CodePoint | Unicode character value to convert in the function
Buf | Stores the UTF-8-encoded byte values for the codepoint

Description

UnicodeToUTF8 is an Integer function used to convert the Unicode character value in CodePoint to the sequence of bytes needed for the UTF-8 encoding. UnicodeToUTF8 stores the UTF-8-encode byte values for the Unicode character in Buf.

The return value contains the number of bytes required for the UTF-8-encoded value (in the range 1..4). If it contains 0 (zero), the Unicode codepoint was invalid and an Exception is raised.

Remark: UnicodeToUTF8 does not process #0 byte values for the codepoint, as done for UTF-32.

Errors

Raises an Exception when CodePoint is an invalid Unicode character value. Raised with the message 'UnicodeToUTF8: invalid Unicode: XXXXXXXX'.


UnicodeToUTF8Inline

Encodes the given code point as an UTF-8 sequence of 1 to 4 bytes

Declaration

Source position: lazutf8.pas line 93

function UnicodeToUTF8Inline(

  CodePoint: Cardinal;

  Buf: PChar

):Integer;

Arguments

CodePoint | Unicode character value to convert
Buf | Destination where encoded byte values are stored

Function result

Number of bytes required for the UTF-8-encoded value

Description

UnicodeToUTF8Inline is an Integer function used to convert the Unicode character value in CodePoint to the sequence of bytes needed for the UTF-8 encoding. UnicodeToUTF8Inline stores the UTF-8-encode byte values for the Unicode character in Buf.

The return value contains the number of bytes required for the UTF-8-encoded value (in the range 1..4).

Used in the implementation of UnicodeToUTF8 and UnicodeToUTF8SkipErrors.

Remark: UnicodeToUTF8Inline does not process #0 byte values for the codepoint, as done for UTF-32.


UnicodeToUTF8SkipErrors

Stores a single Unicode codepoint as a UTF-8-encoded value in the buffer

Declaration

Source position: lazutf8.pas line 92

function UnicodeToUTF8SkipErrors(

  CodePoint: Cardinal;

  Buf: PChar

):Integer;

Arguments

CodePoint | Codepoint (Unicode character) to convert in the function
Buf | Buffer where the converted value is stored

Function result

UTF-8-encoded value for the codepoint

Description

UnicodeToUTF8SkipErrors is a simple and fast function used to write a single Unicode codepoint as UTF-8 to Buf, and returns the number of bytes written. It does not append a #0. It does not check if it is the codepoint actually exists in Unicode tables. It returns 0 if the codepoint can not be represented as a 1 to 4 byte UTF-8 sequence.


UTF16ToUTF8

Converts a UTF-16-encoded string (system endian) to UTF-8 encoding

Declaration

Source position: lazutf8.pas line 201

function UTF16ToUTF8(

  const S: UnicodeString

):AnsiString; overload;

function UTF16ToUTF8(

  const P: PWideChar;

  WideCnt: SizeUInt

):AnsiString; overload;

Arguments

S

Source UTF-16 string (system endian)

Function result

UTF-8-encoded string

Arguments

P | Pointer to the Source UTF-16 string (system endian)
WideCnt | Number of WideChar values in the source string

Description

Converts the specified UTF-16 encoded string (system endian) to UTF-8 encoding.


UTF8AddChar

Adds the specified number of UTF-8 codepoints to a string

Declaration

Source position: lazutf8.pas line 139

function UTF8AddChar(

  AUtf8Char: string;

  const S: string;

  N: Integer

):string;

Arguments

AUtf8Char | Codepoint to prepend to the string value
S | Original values for the string
N | Number of codepoints to prepend to the string

Function result

Updated value for the string

Description

UTF8AddChar is a String function used to add the specified number of UTF-8 codepoints to a string. AUtf8Char is the UTF-8-encoded codepoint to add to string value in S. N indicates the number of times the codepoint should be added to the string.

No actions are performed in the function when AUtf8Char is an empty string (''), or contains a malformed UTF-8 codepoint.

Remark: Values added to the string in S are inserted at the beginning of the string (prepended).


UTF8AddCharR

Appends the specified number of UTF-8 codepoints to a string

Declaration

Source position: lazutf8.pas line 140

function UTF8AddCharR(

  AUtf8Char: string;

  const S: string;

  N: Integer

):string;

Arguments

AUtf8Char | Codepoint to append to the string value
S | Original values for the string
N | Number of codepoints to append to the string

Function result

Updated value for the string

Description

UTF8AddChar is a String function used to append the specified number of UTF-8 codepoints to a string. AUtf8Char is the UTF-8-encoded codepoint to add to string value in S. N indicates the number of times the codepoint should be appended to the string.

No actions are performed in the function when AUtf8Char is an empty string (''), or contains a malformed UTF-8 codepoint.


UTF8CharacterLength

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

UTF8CharacterLength (deprecated)

Returns the number of bytes for the codepoint starting at p

Declaration

Source position: lazutf8.pas line 77

function UTF8CharacterLength(

  p: PChar

):Integer;

Description

Remark: Deprecated. Use UTF8CodepointSize instead.

It returns 0 if p is nil. It returns 1 if p is a 1-byte UTF-8 codepoint or p is an invalid UTF-8 sequence. Otherwise it returns a number 2..4. It does not check for malicious codepoints like #$c0#$80, nor for undefined codepoints like #$f3#$a0#$87#$b9. Use UTF8CharacterLength to step through a string with a simple loop:

while p^ <> #0 do
              begin
                inc(p, UTF8CharacterLength(p));
              end;

Even if p contains invalid UTF-8 it will run through the string without overflow.

See also

UTF8CharacterStrictLength

Returns the length in bytes (1..4) for a valid UTF-8 character. Otherwise 0.


UTF8CharacterStrictLength

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

UTF8CharacterStrictLength (deprecated)

Returns the length in bytes (1..4) for a valid UTF-8 character. Otherwise 0.

Declaration

Source position: lazutf8.pas line 109

function UTF8CharacterStrictLength(

  P: PChar

):Integer;

Description

Remark: Deprecated. Use UTF8CodepointStrictSize instead.


UTF8CharacterToUnicode

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

UTF8CharacterToUnicode (deprecated)

Returns the codepoint at p and the number of bytes to skip

Declaration

Source position: lazutf8.pas line 89

function UTF8CharacterToUnicode(

  p: PChar;

  out CharLen: Integer

):Cardinal;

Description

Remark: Deprecated. Use Use UTF8CodepointToUnicode instead.

If p=nil then CharLen and result are 0 otherwise CharLen>0. If there is an encoding error the Result is 0 and CharLen=1 to skip forward. It is safe to do:

var
              s: string;
              p:=1;
            while p <= length(s) do
            begin
              UTF8CharacterToUnicode(@s[p], CharLen);
              inc(p, CharLen);
            end;

For speed reasons, this function only checks for 1, 2, 3, or 4 byte encoding errors. It does not check whether the codepoint is defined in the Unicode table.


UTF8CharStart

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

UTF8CharStart (deprecated)

Declaration

Source position: lazutf8.pas line 102

function UTF8CharStart(

  UTF8Str: PChar;

  Len: PtrInt;

  CharIndex: PtrInt

):PChar;

Description

Remark: Deprecated. Use UTF8CodepointStart instead.


UTF8CharToByteIndex

[Overview][Types][Procedures and functions][Variables][Index] Reference for unit 'LazUTF8' (#lazutils)

UTF8CharToByteIndex (deprecated)

Declaration

Source position: lazutf8.pas line 105

function UTF8CharToByteIndex(

  UTF8Str: PChar;

  Len: PtrInt;

  CharIndex: PtrInt

):PtrInt;

Description

Remark: Deprecated. Use UTF8CodepointToByteIndex instead.


UTF8CodepointSize

Returns the size of the UTF-8 codepoint in bytes

Declaration

Source position: lazutf8.pas line 76

function UTF8CodepointSize(

  p: PChar

):Integer;

Arguments

p

UTF-8-encoded value to examine in the function

Function result

Number of bytes for the codepoint

Description

Returns the size of the UTF-8 codepoint in bytes. The return value is for a single codepoint.


UTF8CodepointSizeFast

Fast version of UTF8CodepointSize

Declaration

Source position: lazutf8.pas line 79

function UTF8CodepointSizeFast(

  p: PChar

):Integer;

Arguments

p

Encoded values to examine in the function

Function result

Number of bytes for the codepoint

Description

Fast version of UTF8CodepointSize. Assumes the UTF-8 codepoint is valid. The return value is for a single codepoint.


UTF8CodepointStart

Finds the n-th UTF-8 codepoint

Declaration

Source position: lazutf8.pas line 101

function UTF8CodepointStart(

  UTF8Str: PChar;

  Len: PtrInt;

  CodepointIndex: PtrInt

):PChar;

Arguments

UTF8Str | Values to examine in the function
Len | Length in bytes for the input values
CodepointIndex | Character position for the desired codepoint (zero-based)

Function result

Byte values for the codepoint, or Nil

Description

Finds the n-th UTF-8 codepoint, ignoring BIDI. Len is the length in bytes for the values in UTF8Str. CodepointIndex is the position of the desired codepoint (starting at 0), in characters. The return value contains the byte values for the codepoint, or Nil when a valid codepoint was not found.


UTF8CodepointStrictSize

Gets the number of bytes needed for the UTF-8 codepoint

Declaration

Source position: lazutf8.pas line 108

function UTF8CodepointStrictSize(

  P: PChar

):Integer;

Arguments

P

UTF-8-encoded values to examine

Function result

Number of bytes needed for the codepoint

Description

Gets the number of bytes needed for the UTF-8 codepoint in P. The return value contains the number of bytes need for the codepoint (in the range 1..4), or 0 (zero) when P is not assigned or the codepoint is invalid.


UTF8CodepointToByteIndex

Finds the byte index of the n-th UTF-8 codepoint

Declaration

Source position: lazutf8.pas line 104

function UTF8CodepointToByteIndex(

  UTF8Str: PChar;

  Len: PtrInt;

  CodepointIndex: PtrInt

):PtrInt;

Description

Finds the byte index of the n-th UTF-8 codepoint, ignoring BIDI (byte len of substr).


UTF8CodepointToUnicode

Declaration

Source position: lazutf8.pas line 88

function UTF8CodepointToUnicode(

  p: PChar;

  out CodepointLen: Integer

):Cardinal;

Arguments

p | The UTF-8-encode string value
CodepointLen | Number of bytes needed for the codepoint

Function result

Unicode character value for the UTF-8 character

Description

UTF8CodepointToUnicode is a Cardinal function used to convert a UTF-8-encoded character to its representation as a unique Unicode U+XXXX hexadecimal character value. For example: The letter 'A' (Decimal 65) is expressed in Unicode as U+0041.

CodepointLen is an output variable used to store the number of UTF-8-encoded bytes needed for the codepoint. It will normally contain a value in the range 1..4 (the number of possible bytes used in UTF-8 encoding). It can contain 0 (zero) when p is an empty PChar value.

The return value for the function contains the hexadecimal Unicode character value as a Cardinal data type. It can contain 0 (zero) when the value in p is not a valid UTF-8-encoded character. Use UTF8FixBroken to fix invalid UTF-8 encoding in the string.

Use UnicodeToUTF8 to convert a Unicode character value to its UTF-8-encoded value.

Remark: UTF8CodepointToUnicode does not check whether the codepoint is actually defined in the Unicode tables.


UTF8CompareStr

Compares the UTF-8-encoded string values

Declaration

Source position: lazutf8.pas line 176

function UTF8CompareStr(

  const S1: string;

  const S2: string

):PtrInt;

function UTF8CompareStr(

  S1: PChar;

  Count1: SizeInt;

  S2: PChar;

  Count2: SizeInt

):PtrInt;

Arguments

S1 | First value for the comparison
S2 | Second value for the comparison

Function result

Relative order for the compared values

Arguments

S1 | First value for the comparison
Count1 | Length of the first value
S2 | Second value for the comparison
Count2 | Length of the second value

Description

UTF8CompareStr is a function used to compare the specified UTF-8-encoded string values. The return value indicates the relative sort order for the compared values, and includes:

0
Values are the same
-1
Value S1 comes before S2 in an alphabetic sort order
+1
Value S1 comes after S2 in an alphabetic sort order
-2
Value S1 comes before S2 but the comparison ended at a different byte in an invalid UTF-8 codepoint
+2
Value S1 comes after S2 but the comparison ended at a different byte in an invalid UTF-8 codepoint

Internally, UTF8CompareStr uses WideCompareStr on the first UTF-8 codepoint that differs between S1 and S2. As a result, it has proper collation on platforms where the WidestringManager supports this (Windows, *nix with cwstring unit).


UTF8CompareStrCollated

Compare two strings using language-specific sorting

Declaration

Source position: lazutf8.pas line 180

function UTF8CompareStrCollated(

  const S1: string;

  const S2: string

):PtrInt;

Arguments

S1 | First string for the comparison
S2 | Second string for the comparison

Function result

Relative order for the compared values

Description

UTF8CompareStrCollated is used to compare two strings using language-specific sorting. The return value contains the relative order for the compared values, as defined for UTF8CompareStr.


UTF8CompareStrP

Declaration

Source position: lazutf8.pas line 177

function UTF8CompareStrP(

  S1: PChar;

  S2: PChar

):PtrInt;


UTF8CompareText

Case-insensitive comparison of two UTF-8-encoded values

Declaration

Source position: lazutf8.pas line 179

function UTF8CompareText(

  const S1: string;

  const S2: string

):PtrInt;

Arguments

S1 | First value for the comparison
S2 | Second value for the comparison

Function result

Relative order for the compared values

Description

UTF8CompareText is a function used to perform a case-insensitive comparison between the specified UTF-8-encoded values. The return value indicates the relative sort order for the compared values, and includes:

0
Values are the same
-1
Value S1 comes before S2 in an alphabetic sort order
+1
Value S1 comes after S2 in an alphabetic sort order
-2
Value S1 comes before S2 but the comparison ended at a different byte in an invalid UTF-8 codepoint
+2
Value S1 comes after S2 but the comparison ended at a different byte in an invalid UTF-8 codepoint

Internally, UTF8CompareText uses WideCompareText. This function guarantees proper collation on all supported platforms. Use this function instead of AnsiCompareText to compare UTF-8-encode values.


UTF8Copy

Copies the specified number of codepoints from the UTF-8-encoded string

Declaration

Source position: lazutf8.pas line 115

function UTF8Copy(

  const s: string;

  StartCharIndex: PtrInt;

  CharCount: PtrInt

):string;

Arguments

s | String with values to copy in the function
StartCharIndex | Initial character position for the copy operation
CharCount | Number of characters (codepoints) to copy in the function

Function result

String with codepoints copied from the specified source

Description

UTF8Copy is a String function used copy to UTF-8-encoded values from s starting at the position in StartCharIndex. CharCount specifies the number of multi-byte characters (or codepoints) to include in the return value. The return value is an empty string ('') when s is not a valid UTF-8-encoded string. UTF8Copy behaves like a substring function.


UTF8CStringToUTF8String

Copies from a C-style string with UTF-8 encoding to UTF-8 string

Declaration

Source position: lazutf8.pas line 110

function UTF8CStringToUTF8String(

  SourceStart: PChar;

  SourceLen: PtrInt

):string;

Arguments

SourceStart | PChar with the UTF-8-encoded C-style string
SourceLen | Number of codepoints to copy in the method

Function result

UTF-8-encode string with C-style quoting removed

Description

UTF8CStringToUTF8String is a String function used to copy the specified number of characters (codepoints) from a C-style string with UTF-8 encoding. The return value is a UTF-encoded string with C-style specials characters converted to their common equivalents. The following C-style quoted characters are handled in the function:

\t
Converted to a Tab character (Decimal 9)
\"
Converted to a Double Quote character (Decimal 34)
\\
Converted to a Reverse Solidus character (Decimal 92)
\n
Converted to the LineEnding ending for the OS or platform

The return value is a string which contains the number of codepoints from SourceStart specified in SourceLen, or an empty string ('') when SourceLen is 0 (zero).


UTF8Delete

Deletes characters (or codepoints) in a UTF-8-encoded string

Declaration

Source position: lazutf8.pas line 119

procedure UTF8Delete(

  var s: string;

  StartCharIndex: PtrInt;

  CharCount: PtrInt

);

Arguments

s | String with values to delete in the procedure
StartCharIndex | Initial character position where values will be deleted
CharCount | Number of characters (or codepoints) to remove in the procedure

Description

UTF8Delete is an overloaded procedure used to delete characters (or codepoints) in a UTF-8-encoded string starting at a given position. StartCharIndex contains the character position in s where values will be removed. StartCharIndex refers to codepoints and not individual byte or character values. A single character can be expressed as 1-4 byte values in UTF-8 encoding. CharCount indicates the number of codepoints to remove in the function. The value in s is updated directly in the function.

An overloaded variant of the procedure is provided for platforms where the Win1252 code page is used. On these platforms, raw byte values values in s are converted to the UTF-8 code page prior to performing the delete operation.


UTF8EndsText

Determines if a string ends with the specified value

Declaration

Source position: lazutf8.pas line 149

function UTF8EndsText(

  const ASubText: string;

  const AText: string

):Boolean;

Arguments

ASubText | Value to locate at the end of the string
AText | String to examine in the function

Function result

True when the strings ends with the specified text

Description

UTF8EndsText determines if the value in AText ends with the value in ASubText. Both values can contain a valid UTF-8-encoded string. The return value is False when ASubText is an empty string (''), or ASubText contains more characters (codepoints) than the value in AText. UTF8StartsText calls Utf8Copy and Utf8CompareText to perform a case-insensitive comparison between the values.


Utf8EscapeControlChars

Translates control characters in a UTF-8-encoded string into human readable format

Declaration

Source position: lazutf8.pas line 160

function Utf8EscapeControlChars(

  S: string;

  EscapeMode: TEscapeMode = emPascal

):string;

Arguments

S | Must be UTF-8 encoded input string
EscapeMode | Controls the human readable format for escape characters

Description

Utf8EscapeControlChars translates control characters inside a UTF-8-encoded string into human readable format. Characters in the range 0..31 are converted into the human-readable values for the control characters in the format specified by EscapeMode, including:

emPascal
Pascal-style escape characters '#27'
emHexPascal
Pascal-style hexadecimal strings '#$1B'
emHexC
C-style hexadecimal strings '\0x1B'
emC
C-style strings '\t'
emAsciiControlNames
ASCII-style control names '[ESC]'

All other byte values are included in the return value in their unmodified form.

Utf8EscapeControlChars calls FindInvalidUTF8Codepoint to see if S contains any invalid codepoints for the UTF-8 encoding. UTF8UTF8FixBroken is called to repair the input value. Mainly used as a diagnostic or logging tool.


UTF8FindNearestCharStart

Finds the start of the UTF-8 character at the specified position

Declaration

Source position: lazutf8.pas line 96

function UTF8FindNearestCharStart(

  UTF8Str: PChar;

  Len: SizeInt;

  BytePos: SizeInt

):SizeInt;

Arguments

UTF8Str | Values to examine in the function
Len | Length of the input values
BytePos | Offset into UTF8Str for the initial byte value

Function result

Position where the next codepoint begins

Description

Find the start of the UTF-8 character which contains BytePos. If BytePos is not part of a valid UTF-8 Codepoint the function returns BytePos. BytePos values starts at position 0. Len is the length in bytes.


UTF8FixBroken

Replaces all invalid UTF-8 characters with spaces

Declaration

Source position: lazutf8.pas line 106

procedure UTF8FixBroken(

  P: PChar

); overload;

procedure UTF8FixBroken(

  var S: string

); overload;

Description

Replaces all invalid UTF-8 characters with spaces. Stops at the first occurrence of the byte value #0 (Decimal 0).


UTF8Insert

Inserts the specified values into a string at the given position

Declaration

Source position: lazutf8.pas line 123

procedure UTF8Insert(

  const source: string;

  var s: string;

  StartCharIndex: PtrInt

);

Arguments

source | UTF-8 String where values are inserted
s | Values to insert into the original string
StartCharIndex | Starting character position (1-based) for the new values

Description

Inserts the specified values into a string at the given position. The value in StartCharIndex starts at 1, and represents the n-th codepoint in the string where values are inserted.


UTF8LeftStr

Declaration

Source position: lazutf8.pas line 144

function UTF8LeftStr(

  const AText: string;

  const ACount: Integer

):string;


UTF8Length

Gets the length of a UTF-8-encoded string in codepoints

Declaration

Source position: lazutf8.pas line 81

function UTF8Length(

  const s: string

):PtrInt;

function UTF8Length(

  p: PChar;

  ByteCount: PtrInt

):PtrInt;

Arguments

s

UTF-8-encoded string to examine in the function

Function result

Number of codepoints in the byte values for the string

Arguments

p | Pointer to the UTF-8-encoded string to examine in the function
ByteCount | Number of byte values in the UTF-8-encoded string

Description

UTF8Length is a function used to get the character length for the specified UTF-8-encoded string. The return value contains the number of UTF-8-encoded characters (or codepoints) found in the byte values for the string.

An overloaded variant of the function is provided which uses the PChar type to access the byte values in the string.


UTF8LengthFast

Fast version of UTF8Length

Declaration

Source position: lazutf8.pas line 84

function UTF8LengthFast(

  const s: string

):PtrInt;

function UTF8LengthFast(

  p: PChar;

  ByteCount: PtrInt

):PtrInt;

Arguments

s

String with UTF-8-encoded values

Function result

Number of codepoints in the string

Arguments

p | Pointer to the String with UTF-8-encoded values
ByteCount | Number of byte values in the UTF-8-encoded string

Description

UTF8LengthFast gets the length of a UTF-8-encoded string in codepoints (or characters). UTF8LengthFast is the fast version of UTF8Length. It does not call the UTF8CodepointSize function. The UTF-8-encoded data is assumed to be valid. The native data size for the CPU is used to process blocks of UTF-8-encoded data. For a 64-bit CPU, this means that 8 bytes are read an processed at once.


UTF8LowerCase

Converts the specified string to lowercase using Unicode case mapping rules

Declaration

Source position: lazutf8.pas line 129

function UTF8LowerCase(

  const AInStr: string;

  ALanguage: string = ''

):string;

Arguments

AInStr | Values to convert in the function
ALanguage | Language code for the operation

Function result

Lowercase values for the specified string

Description

UTF8LowerCase is a String function used to convert the UTF-8-encoded value in AInStr to its lowercase equivalent. UTF8LowerCase uses Unicode Data available at the Unicode.org website. The conversion is performed using the Case Mapping Rules defined here.

ALanguage indicates the language code to use for the conversion. ALanguage should be specified using ISO 639-1 format, which uses 2 characters to represent each language. If the language has no code in ISO 639-1, then the 3-chars code from ISO 639-2 should be used. For example: "tr"for the Turkish language locale. Special handling is provided in the function for Turkish ('tr') and Azeri ('az') language codes. ALanguage can be set to an empty string ('') for maximum speed in the conversion.


UTF8LowerString

Declaration

Source position: lazutf8.pas line 130

function UTF8LowerString(

  const s: string

):string;


UTF8PadCenter

Center aligns a string to the specified length

Declaration

Source position: lazutf8.pas line 143

function UTF8PadCenter(

  const S: string;

  const N: Integer;

  const AUtf8Char: string = #32

):string;

Arguments

S | Original string value
N | Desired length for the string (in codepoints)
AUtf8Char | UTF-8 codepoint used as a padding character

Function result

Modified value for the string after center alignment

Description

UTF8PadCenter is used to center align a string to the specified length (number of codepoints). N indicates the length of the modified string after padding on the left and right with the UTF-8 codepoint in AUtf8Char. The default value for AUtf8Char is #32 ([SPACE]), but can contains any valid UTF-8 codepoint (1 to 4 bytes).


UTF8PadLeft

Adds the specified number of values in AUtf8Char to the beginning of a string

Declaration

Source position: lazutf8.pas line 141

function UTF8PadLeft(

  const S: string;

  const N: Integer;

  const AUtf8Char: string = #32

):string;

Arguments

S | Original string value to modify in the function
N | Number of codepoints desired in the modified string
AUtf8Char | UTF-8 codepoint to insert into the string

Function result

Updated value for the string with characters inserted at the beginning

Description

UTF8PadLeft is used to add the specified number of values in AUtf8Char to the beginning of a string. The default value for AUtf8Char is #32 ([SPACE]), but can contain any valid UTF-8 codepoint (1 to 4 bytes). UTF8PadLeft calls Utf8AddChar to create the return value for the function.


UTF8PadRight

Appends the specified number of UTF-8 codepoints to the end of a string

Declaration

Source position: lazutf8.pas line 142

function UTF8PadRight(

  const S: string;

  const N: Integer;

  const AUtf8Char: string = #32

):string;

Arguments

S | Original string to modify in the function
N | Number of codepoints desired in the modified string
AUtf8Char | Codepoint to append to the string value

Function result

Updated value for the string

Description

UTF8PadRight is used to append the specified number of UTF-8 codepoints to the end of a string. The default value for AUtf8Char is #32 ([SPACE]), but can contain any valid UTF-8 codepoint (1 to 4 bytes). UTF8PadRight calls Utf8AddCharR to create the return value for the function.


UTF8Pos

Returns the character index where the search text starts in the string

Declaration

Source position: lazutf8.pas line 112

function UTF8Pos(

  const SearchForText: string;

  const SearchInText: string;

  StartPos: SizeInt = 1

):PtrInt;

Arguments

SearchForText | Value to locate in the string
SearchInText | String to search for the specified value

Function result

Character position where the search text was located

Description

Returns the character index where SearchForText starts in SearchInText. An optional StartPos can be given to start searching at a given character index. StartPos starts at 1. Returns 0 if the search text is not found in the string.


UTF8PosP

Declaration

Source position: lazutf8.pas line 113

function UTF8PosP(

  SearchForText: PChar;

  SearchForTextLen: SizeInt;

  SearchInText: PChar;

  SearchInTextLen: SizeInt

):PChar;


UTF8ProperCase

Capitalizes the first letter of each word in the string

Declaration

Source position: lazutf8.pas line 135

function UTF8ProperCase(

  const AInStr: string;

  const WordDelims: TSysCharSet

):string;

Arguments

AInStr | Values to convert in the function
WordDelims | Characters used as word delimiters

Function result

Converting values for the string

Description

UTF8ProperCase is a String function used to capitalize the first letter of each word in the specified string. WordDelims is set which contains the system characters used as word boundaries in the string.

UTF8ProperCase converts all of the values in AInStr to their lowercase equivalents, before converting letters following a word delimiter to uppercase.


UTF8QuotedStr

Performs safe quoting for the string value

Declaration

Source position: lazutf8.pas line 146

function UTF8QuotedStr(

  const S: string;

  const Quote: string

):string;

Description

UTF8QuotedStr is used to replace all Quote characters in S with double Quote characters, and enclose the replaced values in Quote characters.


UTF8ReverseString

Declaration

Source position: lazutf8.pas line 150

function UTF8ReverseString(

  p: PChar;

  const ByteCount: LongInt

):string;

function UTF8ReverseString(

  const AText: string

):string;

Description

UTF8ReverseString is used to create a string with the specified content in reverse order. p contains the UTF-8-encoded values for the original string. ByteCount indicates the total number of bytes needed to represent the codepoints in p. UTF8ReverseString calls UTF8CodepointSize and moves the byte values in p to the return value for the function.


UTF8RightStr

Gets the specified number of characters (codepoints) at the end of the string

Declaration

Source position: lazutf8.pas line 145

function UTF8RightStr(

  const AText: string;

  const ACount: Integer

):string;

Arguments

AText | Original string to examine in the function
ACount | Number of characters (codepoints) to get from the string

Function result

Values from the string

Description

UTF8RightStr is used to get the specified number of characters (codepoints) at the end of the UTF-8-encoded string. UTF8RightStr calls Utf8Copy to get the return value for the function.


UTF8RPos

Declaration

Source position: lazutf8.pas line 152

function UTF8RPos(

  const Substr: string;

  const Source: string

):PtrInt;


UTF8StartsText

Determines if a string starts with the specified value

Declaration

Source position: lazutf8.pas line 148

function UTF8StartsText(

  const ASubText: string;

  const AText: string

):Boolean;

Arguments

ASubText | Value to locate at the start of the string
AText | String to examine in the function

Function result

True when the strings starts with the specified text

Description

UTF8StartsText determines if the value in AText begins with the value in ASubText. Both values can contain a valid UTF-8-encoded string. The return value is False when ASubText is an empty string (''), or ASubText contains more characters (codepoints) than the value in AText. UTF8StartsText calls Utf8Copy and Utf8CompareText to perform a case-insensitive comparison between the values.


UTF8StringOfChar

Creates a string filled with the specified number of given codepoints

Declaration

Source position: lazutf8.pas line 138

function UTF8StringOfChar(

  AUtf8Char: string;

  N: Integer

):string;

Arguments

AUtf8Char | Codepoint to reproduce in the function
N | Number of occurrences to include in the return value

Description

UTF8StringOfChar is a function used to creates a UTF-8-encoded string filled with the specified number of occurrences of the given codepoint. AUtf8Char is the UTF-8 codepoint to reproduce in the function. No actions are performed if AUtf8Char is an empty string (''), or contains a malformed UTF-8 codepoint.

The return value is filled with byte values for the codepoint (1 to 4 bytes as per the UTF-8 encoding). The process is repeated until the number of codepoints in N have been stored in the return value.


UTF8StringReplace

Replaces values in a String matching a pattern starting at a given position

Declaration

Source position: lazutf8.pas line 124

function UTF8StringReplace(

  const S: string;

  const OldPattern: string;

  const NewPattern: string;

  Flags: TReplaceFlags;

  ALanguage: string = ''

):string;

function UTF8StringReplace(

  const S: string;

  const OldPattern: string;

  const NewPattern: string;

  Flags: TReplaceFlags;

  out Count: Integer;

  ALanguage: string = ''

):string;

Arguments

S | Original UTF-8-encoded values to examine
OldPattern | Pattern to replace in the function
NewPattern | Replacement values for the operation
Flags | Replace options enabled in the function
ALanguage | Language Code used for locale-specific lowercase conversions

Function result

UTF-8-encoded values after the replace operation

Arguments

S | Original UTF-8-encoded values to examine
OldPattern | Pattern to replace in the function
NewPattern | Replacement values for the operation
Flags | Replace options enabled in the function
Count | Number of times the search pattern was replaced in the string
ALanguage | Language Code used for locale-specific lowercase conversions

Description

UTF8StringReplace is an overloaded String function which replaces values in a String matching a pattern starting at a given position. S is the UTF-8 encode string to update in the function. OldPattern is a pattern with the values to be replaced. NewPattern is the values used to replace OldPattern. Flags contains TReplaceFlags values to use for the operation. ALanguage is the Language Code to use values in function. Count is an output variable used to return the number of replacements performed in the function.

The return value is a UTF-8-encoded string with the updated values following replacement.

UTF8StringReplace uses the same algorithm as the StringReplace function, but uses UTF8LowerCase for case insensitive search (when enabled in Flags).


UTF8SwapCase

Provides a simplistic implementation of UTF8UpperCase and UTF8LowerCase

Declaration

Source position: lazutf8.pas line 133

function UTF8SwapCase(

  const AInStr: string;

  ALanguage: string = ''

):string;

Arguments

AInStr | Original values for the conversion
ALanguage | Language code for the locale used in the conversion

Function result

String with the converted case values

Description

UTF8SwapCase provides a "naive" implementation that uses UTF8UpperCase and UTF8LowerCase. Performance is acceptable for short and reasonably long strings, but it could benefit from better performance and lower memory consumption.

AInStr contains a UTF-8-encoded string with values to convert it the method. Each character in AInStr will have its case "toggled" in the function. In other words, an uppercase character is converted to lowercase, and vice versa.

ALanguage indicates the language code to use for the conversion. ALanguage should be specified using ISO 639-1 format, which uses 2 characters to represent each language. If the language has no code in ISO 639-1, then the 3-character code from ISO 639-2 should be used. For example: "tr"for the Turkish language locale. Special handling is provided in the function for Turkish ('tr') and Azeri ('az') language codes. ALanguage can be set to an empty string ('') for maximum speed in the conversion.

No actions are performed in the method when the number of bytes for the converted value differs from the number of bytes in the original value. In this case, the return value contains the unmodified string in AInStr. The return value is an empty string ('') when AInStr is an empty string ('').


UTF8ToConsole

Converts a UTF-8-encoded string to console (OEM) encoding

Declaration

Source position: lazutf8.pas line 55

function UTF8ToConsole(

  const s: string

):string;

Arguments

s

UTF-8-encode input values

Function result

OEM-encoded value for the string

Description

UTF8ToConsole converts a UTF-8-encoded string to console (OEM) encoding as used in Write and WriteLn. The implementation is platform specific. In the Windows environment, either UTF8ToSys or UTF8ToWinCP is used to convert the value to the Codepage or character set needed in RTL. The Windows CharToOem API is used to prepare the return value. In UNIX-like environments, UTF8ToSys is used to get the return value .


UTF8ToDoubleByte

Converts a UTF-8-encode string to its DBCS representation

Declaration

Source position: lazutf8.pas line 95

function UTF8ToDoubleByte(

  UTF8Str: PChar;

  Len: PtrInt;

  DBStr: PByte

):PtrInt;

Arguments

UTF8Str | UTF-8-encoded values to convert in the function
Len | Length of the UTF-8-encoded input values
DBStr | Storage for the Double Byte values

Function result

Number of double bytes converted in the function

Description

UTF8ToDoubleByte is used to convert UTF-8-encoded values to the representation used in Double Byte Character Sets (DBCS). UTF8ToDoubleByte calls UTF8CodepointToUnicode to process each of the codepoints in UTF8Str. The return value contains the byte values from the conversion.


UTF8ToDoubleByteString

Converts UTF-8 values to their DBCS equivalent

Declaration

Source position: lazutf8.pas line 94

function UTF8ToDoubleByteString(

  const s: string

):string;

Arguments

s

UTF-8-encoded values to convert in the function

Function result

DBCS values for the specified codepoints

Description

UTF8ToDoubleByteString is a String function used to convert UTF-8-encoded values to the representation used in Double Byte Character Sets (DBCS). UTF8ToDoubleByteString calls UTF8Length to get the number of codepoints (or characters) in s, and calls UTF8ToDoubleByte to perform the conversion. Each codepoint is converted to Unicode by calling UTF8CodepointToUnicode. The return value is a String type with the byte values from the conversion, or an empty string ('') when s does not contain a valid UTF-8-encoded string.


UTF8ToSys

Ensures UTF-8 characters (or format settings) are converted to the system code page

Declaration

Source position: lazutf8.pas line 45

function UTF8ToSys(

  const s: string

):string; overload;

function UTF8ToSys(

  const AFormatSettings: TFormatSettings

):TFormatSettings; overload;

Arguments

s

Value to examine in the function

Function result

Value for the string after conversion

Arguments

AFormatSettings

Format settings to examine in the function

Description

UTF8ToSys is an overloaded function used to convert the specified string value (or format settings) to the system codepage for the platform. UTF8ToSys works like UTF8ToAnsi, but is more independent of WideStringManager. For platforms where UTF8_RTL is not defined, and NeedRTLAnsi returns True, UTF8ToAnsi is called to convert non-ASCII values in s. For platforms where UTF8_RTL is defined, the value in s is used without modification.

An overloaded variant of the function handles TFormatSettings for the platform. The return value for the function is the specified values in AFormatSettings after being updated to reflect the system codepage for the platform. For platforms where UTF8_RTL is not defined, the values in the following format settings are updated: CurrencyString, LongMonthNames, ShortMonthNames, LongDayNames, and ShortDayNames. No action are needed for platforms where UTF8_RTL is defined.


UTF8ToUTF16

Converts the UTF-8 encoded string to UTF-16 encoding (system endian)

Declaration

Source position: lazutf8.pas line 199

function UTF8ToUTF16(

  const S: AnsiString

):UnicodeString; overload;

function UTF8ToUTF16(

  const P: PChar;

  ByteCnt: SizeUInt

):UnicodeString; overload;

Description

Converts the UTF-8 encoded string to UTF-16 encoding (system endian).


UTF8ToWinCP

Converts the UTF-8-encoded string to the Windows code page encoding

Declaration

Source position: lazutf8.pas line 61

function UTF8ToWinCP(

  const s: string

):string;

Arguments

s

Values in the Windows codepage encoding

Function result

UTF-8-encoded input values

Description

Converts the UTF-8-encoded string to the Windows code page encoding Used by Write, WriteLn.


UTF8Trim

Removes leading and trailing whitespace or control characters

Declaration

Source position: lazutf8.pas line 172

function UTF8Trim(

  const s: string;

  Flags: TUTF8TrimFlags = []

):string;

Arguments

s | String with values to trim
Flags | Actions to perform in the function

Function result

Trimmed values for the string

Description

It removes spaces, tabs, line breaks and control characters at start and end. Use Flags to delete at start only or at end only, or to to not delete line breaks. Control characters are the Unicode sets C0 and C1, and the left-to-right and right-to-left marks.


Utf8TryFindCodepointStart

Tries to find the start of a valid UTF-8 codepoint in a string

Declaration

Source position: lazutf8.pas line 98

function Utf8TryFindCodepointStart(

  AString: PChar;

  var CurPos: PChar;

  out CodepointLen: Integer

):Boolean;

function Utf8TryFindCodepointStart(

  const AString: string;

  var Index: Integer;

  out CharLen: Integer

):Boolean;

Arguments

AString | Pointer to the string to examine in the function
CurPos | Pointer to the first position in the string examined in the function
CodepointLen | Number of bytes in the codepoint, or 0 when invalid

Function result

True when the bytes at the specified position are a valid UTF-8 codepoint

Arguments

AString | Pointer to the string to examine in the function
Index | Initial position in the string examined in the function
CharLen | Number of bytes required for the UTF-8 codepoint

Description

Utf8TryFindCodepointStart is a Boolean function which tries to find the start of a valid UTF-8 codepoint at the specified position in AString. The return value contains True if the bytes at the specified position are a valid UTF-8 codepoint (1 - 4 bytes).

When the return value is True, the value in CurPos is updated to contain the position in AString where the UTF-8 codepoint begins. Otherwise, the value in CurPos is unchanged. Please note, when CurPos points beyond the end of AString you will get a crash!

Remark: UTF8CodepointStrictSize will NOT "look" beyond the terminating #0 in a PChar, so this is safe with AnsiStrings.


UTF8UpperCase

Converts the specified string to uppercase using Unicode case mapping rules

Declaration

Source position: lazutf8.pas line 131

function UTF8UpperCase(

  const AInStr: string;

  ALanguage: string = ''

):string;

Arguments

AInStr | Values to convert in the function
ALanguage | Language code for the operation

Function result

Uppercase values for the specified string

Description

UTF8UpperCase is a String function used to convert the UTF-8-encoded value in AInStr to its uppercase equivalent. UTF8UpperCase uses Unicode Data available at the Unicode.org website. The conversion is performed using the Case Mapping Rules defined here.

ALanguage indicates the language code to use for the conversion. ALanguage should be specified using ISO 639-1 format, which uses 2 characters to represent each language. If the language has no code in ISO 639-1, then the 3-chars code from ISO 639-2 should be used. For example: "tr"for the Turkish language locale. Special handling is provided in the function for Turkish ('tr') and Azeri ('az') language codes.ALanguage can be set to an empty string ('') for maximum speed in the conversion.


UTF8UpperString

Inline variant of UTF8UpperCase.

Declaration

Source position: lazutf8.pas line 132

function UTF8UpperString(

  const s: string

):string;

Arguments

s

Values to convert in the function

Function result

Uppercase values for the string

Description

Inline variant of UTF8UpperCase.


UTF8WrapText

Declaration

Source position: lazutf8.pas line 154

function UTF8WrapText(

  S: string;

  BreakStr: string;

  BreakChars: TSysCharSet;

  MaxCol: Integer

):string; overload;

function UTF8WrapText(

  S: string;

  MaxCol: Integer

):string; overload;


WinCPToUTF8

Converts the string from Windows code page to UTF-8

Declaration

Source position: lazutf8.pas line 59

function WinCPToUTF8(

  const s: string

):string;

Arguments

s

Input values in Windows codepage encoding

Function result

UTF-8-encoded values for the string

Description

Converts the string from Windows code page to UTF-8. Used with some Windows-specific functions. For all Windows versions supporting 8-bit codepages (e.g. not WinCE).


CompareStringListItemsUTF8LowerCase

Performs lowercase comparison of values in a string list

Declaration

Source position: lazutf8classes.pas line 45

function CompareStringListItemsUTF8LowerCase(

  List: TStringList;

  Index1: Integer;

  Index2: Integer

):Integer;

Arguments

List | String list with values for the comparison
Index1 | Ordinal position for the first string value
Index2 | Ordinal position for the second string value

Function result

Relative order for the compared values

Description

CompareStringListItemsUTF8LowerCase is an Integer function used to perform lowercase comparison of string values in a string list. List is the TStrings descendant with values for the comparison. Index1 and Index2 specify the ordinal positions in List for strings used in the comparison.

CompareStringListItemsUTF8LowerCase converts the string values to lowercase using UTF8LowerCase, and calls the CompareStr function to perform the comparison. The return value is in the following ranges:

<0
String at Index1 comes before String at Index2
0
Strings have the same value
>0
String at Index1 comes after String at Index2


LoadStringsFromFileUTF8

Loads the content for a TStringList from the specified file name

Declaration

Source position: lazutf8classes.pas line 42

procedure LoadStringsFromFileUTF8(

  List: TStrings;

  const FileName: string

);

Arguments

List | TStrings descendant where the content is stored
FileName | File name with the content to load in the string list

Description

LoadStringsFromFileUTF8 is a procedure used to load the content for a string list from the specified file name. List is the TStrings decendant where the content from FileName is stored. FileName can contain UTF-8-encoded characters. LoadStringsFromFileUTF8 creates an internal TStringListUTF8 instance (when needed) that is used to load the content in FileName, and calls the Assign method in List to store the values.


SaveStringsToFileUTF8

Saves the content in the TStringList to the specified file name

Declaration

Source position: lazutf8classes.pas line 43

procedure SaveStringsToFileUTF8(

  List: TStrings;

  const FileName: string

);

Arguments

List | String list to store in the specified file
FileName | Name of the file where the content is stored

Description

SaveStringsToFileUTF8 is a procedure used to save the content in the List to the specified file name. List is a TStrings desccendant with the content to store in the specified file name. FileName can contain UTF-8-encoded character values. SaveStringsToFileUTF8 uses a TStringListUTF8 (when needed) to store the content in the string list to the specified FileName.


GetTickCount64

[Overview][Procedures and functions][Index] Reference for unit 'LazUTF8SysUtils' (#lazutils)

GetTickCount64 (deprecated)

Deprecated; use the function from the LazSysUtils unit

Declaration

Source position: lazutf8sysutils.pas line 22

function GetTickCount64: QWord;

Function result

Number of ticks (milliseconds)


NowUTC

[Overview][Procedures and functions][Index] Reference for unit 'LazUTF8SysUtils' (#lazutils)

NowUTC (deprecated)

Deprecated; use the function from the LazSysUtils unit

Declaration

Source position: lazutf8sysutils.pas line 21

function NowUTC: TDateTime;

Function result

Current Date/Time value in UTC


CompareBoolean

Declaration

Source position: lazutilities.pas line 20

function CompareBoolean(

  b1: Boolean;

  b2: Boolean

):Integer;


ComparePointers

Declaration

Source position: lazutilities.pas line 19

function ComparePointers(

  p1: Pointer;

  p2: Pointer

):Integer;


FreeThenNil

Declaration

Source position: lazutilities.pas line 18

procedure FreeThenNil(

  var obj

);


MergeSortWithLen

Declaration

Source position: lazutilities.pas line 25

procedure MergeSortWithLen(

  List: PPointer;

  ListLength: PtrInt;

  const Compare: TListSortCompare

);


ReadDTDFile

Reads and stores a DTD file into the specified XML document

Declaration

Source position: laz_xmlread.pas line 37

procedure ReadDTDFile(

  var ADoc: TXMLDocument;

  const AFilename: string

); overload;

procedure ReadDTDFile(

  var ADoc: TXMLDocument;

  var f: file

); overload;

procedure ReadDTDFile(

  var ADoc: TXMLDocument;

  var f: TStream

); overload;

procedure ReadDTDFile(

  var ADoc: TXMLDocument;

  var f: TStream;

  const AFilename: string

); overload;

Arguments

ADoc | XML document where the DTD is stored in the routine
AFilename | File name with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD

Arguments

ADoc | XML document where the DTD is stored in the routine
f | Stream with the content for the DTD
AFilename | File name with the content for the DTD


ReadXMLFile

Reads the content of an XML file into the specified XML document

Declaration

Source position: laz_xmlread.pas line 27

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  const AFilename: string

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  var f: file

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  f: TStream

); overload;

procedure ReadXMLFile(

  out ADoc: TXMLDocument;

  f: TStream;

  const AFilename: string

); overload;

Arguments

ADoc | XML document populated in the routine
AFilename | File name with the XML content read in the routine

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine

Arguments

ADoc | XML document populated in the routine
f | Stream with the XML content read in the routine
AFilename | File name with the XML content read in the routine


ReadXMLFragment

Reads an XML fragment into the specified DOM Node

Declaration

Source position: laz_xmlread.pas line 32

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  const AFilename: string

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  var f: file

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  var f: TStream

); overload;

procedure ReadXMLFragment(

  AParentNode: TDOMNode;

  var f: TStream;

  const AFilename: string

); overload;

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
AFilename | File name with the XML content read in the routine

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine

Arguments

AParentNode | DOM Node used as the parent for the XML fragment
f | Stream with the XML content read in the routine
AFilename | File name with the XML content read in the routine


WriteComponentToXMLStream

Declaration

Source position: laz_xmlstreaming.pas line 153

procedure WriteComponentToXMLStream(

  AComponent: TComponent;

  AStream: TStream

);


WriteXML

Writes a DOM Node to a file, text file, or stream

Declaration

Source position: laz_xmlwrite.pas line 28

procedure WriteXML(

  Element: TDOMNode;

  const AFileName: string

); overload;

procedure WriteXML(

  Element: TDOMNode;

  var AFile: Text

); overload;

procedure WriteXML(

  Element: TDOMNode;

  AStream: TStream

); overload;

Arguments

Element | DOM Node with the XML content written in the method
AFileName | File name where the XML content is stored

Arguments

Element

DOM Node with the XML content written in the method

Arguments

Element | DOM Node with the XML content written in the method
AStream | Stream where the XML document is stored


WriteXMLFile

Writes an XML document to a file, text file, or stream

Declaration

Source position: laz_xmlwrite.pas line 24

procedure WriteXMLFile(

  doc: TXMLDocument;

  const AFileName: string

); overload;

procedure WriteXMLFile(

  doc: TXMLDocument;

  var AFile: Text

); overload;

procedure WriteXMLFile(

  doc: TXMLDocument;

  AStream: TStream

); overload;

Arguments

doc | XML document written in the routine
AFileName | File name where the XML content is stored

Arguments

doc | XML document written in the routine
AFile | Text file type where the content is written

Arguments

doc | XML document written in the routine
AStream | Stream where the XML document is stored


ConvertEncoding

Declaration

Source position: lconvencoding.pas line 99

function ConvertEncoding(

  const s: string;

  const FromEncoding: string;

  const ToEncoding: string

):string;


ConvertEncodingErrorMode

Declaration

Source position: lconvencoding.pas line 45

var ConvertEncodingErrorMode: TConvertEncodingErrorMode = ceemSkip;

Description

Global variable which controls the behaviour of encoding conversion errors for the following:

  • UTF8 to single byte encoding
  • DBCS (Asian) encoding to UTF8
  • UTF8 to DBCS


ConvertEncodingFromUTF8

Declaration

Source position: lconvencoding.pas line 95

function ConvertEncodingFromUTF8(

  const s: string;

  const ToEncoding: string;

  out Encoded: Boolean

):string;


ConvertEncodingToUTF8

Declaration

Source position: lconvencoding.pas line 97

function ConvertEncodingToUTF8(

  const s: string;

  const FromEncoding: string;

  out Encoded: Boolean

):string;


CP1250ToUTF8

Declaration

Source position: lconvencoding.pas line 127

function CP1250ToUTF8(

  const s: string

):string;


CP1251ToUTF8

Declaration

Source position: lconvencoding.pas line 128

function CP1251ToUTF8(

  const s: string

):string;


CP1252ToUTF8

Declaration

Source position: lconvencoding.pas line 129

function CP1252ToUTF8(

  const s: string

):string;


CP1253ToUTF8

Declaration

Source position: lconvencoding.pas line 130

function CP1253ToUTF8(

  const s: string

):string;


CP1254ToUTF8

Declaration

Source position: lconvencoding.pas line 131

function CP1254ToUTF8(

  const s: string

):string;


CP1255ToUTF8

Declaration

Source position: lconvencoding.pas line 132

function CP1255ToUTF8(

  const s: string

):string;


CP1256ToUTF8

Declaration

Source position: lconvencoding.pas line 133

function CP1256ToUTF8(

  const s: string

):string;


CP1257ToUTF8

Declaration

Source position: lconvencoding.pas line 134

function CP1257ToUTF8(

  const s: string

):string;


CP1258ToUTF8

Declaration

Source position: lconvencoding.pas line 135

function CP1258ToUTF8(

  const s: string

):string;


CP437ToUTF8

Declaration

Source position: lconvencoding.pas line 136

function CP437ToUTF8(

  const s: string

):string;


CP850ToUTF8

Declaration

Source position: lconvencoding.pas line 137

function CP850ToUTF8(

  const s: string

):string;


CP852ToUTF8

Declaration

Source position: lconvencoding.pas line 138

function CP852ToUTF8(

  const s: string

):string;


CP866ToUTF8

Declaration

Source position: lconvencoding.pas line 139

function CP866ToUTF8(

  const s: string

):string;


CP874ToUTF8

Declaration

Source position: lconvencoding.pas line 140

function CP874ToUTF8(

  const s: string

):string;


CP932ToUTF8

Declaration

Source position: lconvencoding.pas line 201

function CP932ToUTF8(

  const s: string

):string;


CP936ToUTF8

Declaration

Source position: lconvencoding.pas line 202

function CP936ToUTF8(

  const s: string

):string;


CP949ToUTF8

Declaration

Source position: lconvencoding.pas line 203

function CP949ToUTF8(

  const s: string

):string;


CP950ToUTF8

Declaration

Source position: lconvencoding.pas line 204

function CP950ToUTF8(

  const s: string

):string;


GetConsoleTextEncoding

Declaration

Source position: lconvencoding.pas line 107

function GetConsoleTextEncoding: string;

Description

This routine returns the console text encoding, which might be different from the normal system encoding in some Windows systems. See http://mantis.freepascal.org/view.php?id=20552


GetDefaultTextEncoding

Declaration

Source position: lconvencoding.pas line 103

function GetDefaultTextEncoding: string;

Description

This routine should obtain the encoding utilized by AnsiString in the RTL.


GetSupportedEncodings

Fills the specified string list with supported encoding names for the platform

Declaration

Source position: lconvencoding.pas line 221

procedure GetSupportedEncodings(

  List: TStrings

);

Arguments

List

String list where supported encoding names are added

Description

GetSupportedEncodings is a procedure used to get the names for the supported encodings on the platform or operating system. GetSupportedEncodings adds each of the encoding names to List; it does NOT removing any existing content in the string list.

GetSupportedEncodings stores the following values in List:

  • 'UTF-8'
  • 'UTF-8BOM'
  • 'Ansi'
  • 'ISO-8859-1'
  • 'ISO-8859-2'
  • 'ISO-8859-15'
  • 'KOI8-R'
  • 'KOI8-U'
  • 'KOI8-RU'
  • 'Macintosh'
  • 'UCS-2LE'
  • 'UCS-2BE'

The uppercase variants of the following constants are also added to the list:

  • EncodingCP1250
  • EncodingCP1251
  • EncodingCP1252
  • EncodingCP1253
  • EncodingCP1254
  • EncodingCP1255
  • EncodingCP1256
  • EncodingCP1257
  • EncodingCP1258
  • EncodingCP437
  • EncodingCP850
  • EncodingCP852
  • EncodingCP866
  • EncodingCP874

For platforms that support Asian code pages, the following encoding names are added to the list:

  • EncodingCP932
  • EncodingCP936
  • EncodingCP950
  • EncodingCP949


GuessEncoding

Declaration

Source position: lconvencoding.pas line 93

function GuessEncoding(

  const s: string

):string;


ISO_8859_15ToUTF8

Declaration

Source position: lconvencoding.pas line 125

function ISO_8859_15ToUTF8(

  const s: string

):string;


ISO_8859_1ToUTF8

Declaration

Source position: lconvencoding.pas line 124

function ISO_8859_1ToUTF8(

  const s: string

):string;


ISO_8859_2ToUTF8

Declaration

Source position: lconvencoding.pas line 126

function ISO_8859_2ToUTF8(

  const s: string

):string;


KOI8RToUTF8

Declaration

Source position: lconvencoding.pas line 141

function KOI8RToUTF8(

  const s: string

):string;


MacintoshToUTF8

Declaration

Source position: lconvencoding.pas line 142

function MacintoshToUTF8(

  const s: string

):string;


NormalizeEncoding

Declaration

Source position: lconvencoding.pas line 108

function NormalizeEncoding(

  const Encoding: string

):string;


SingleByteToUTF8

Declaration

Source position: lconvencoding.pas line 143

function SingleByteToUTF8(

  const s: string;

  const Table: TCharToUTF8Table

):string;


UCS2BEToUTF8

Declaration

Source position: lconvencoding.pas line 145

function UCS2BEToUTF8(

  const s: string

):string;


UCS2LEToUTF8

Declaration

Source position: lconvencoding.pas line 144

function UCS2LEToUTF8(

  const s: string

):string;


UTF8BOMToUTF8

Declaration

Source position: lconvencoding.pas line 123

function UTF8BOMToUTF8(

  const s: string

):string;


UTF8ToCP1250

Declaration

Source position: lconvencoding.pas line 174

function UTF8ToCP1250(

  const s: string

):string;


UTF8ToCP1251

Declaration

Source position: lconvencoding.pas line 175

function UTF8ToCP1251(

  const s: string

):string;


UTF8ToCP1252

Declaration

Source position: lconvencoding.pas line 176

function UTF8ToCP1252(

  const s: string

):string;


UTF8ToCP1253

Declaration

Source position: lconvencoding.pas line 177

function UTF8ToCP1253(

  const s: string

):string;


UTF8ToCP1254

Declaration

Source position: lconvencoding.pas line 178

function UTF8ToCP1254(

  const s: string

):string;


UTF8ToCP1255

Declaration

Source position: lconvencoding.pas line 179

function UTF8ToCP1255(

  const s: string

):string;


UTF8ToCP1256

Declaration

Source position: lconvencoding.pas line 180

function UTF8ToCP1256(

  const s: string

):string;


UTF8ToCP1257

Declaration

Source position: lconvencoding.pas line 181

function UTF8ToCP1257(

  const s: string

):string;


UTF8ToCP1258

Declaration

Source position: lconvencoding.pas line 182

function UTF8ToCP1258(

  const s: string

):string;


UTF8ToCP437

Declaration

Source position: lconvencoding.pas line 183

function UTF8ToCP437(

  const s: string

):string;


UTF8ToCP850

Declaration

Source position: lconvencoding.pas line 184

function UTF8ToCP850(

  const s: string

):string;


UTF8ToCP852

Declaration

Source position: lconvencoding.pas line 185

function UTF8ToCP852(

  const s: string

):string;


UTF8ToCP866

Declaration

Source position: lconvencoding.pas line 186

function UTF8ToCP866(

  const s: string

):string;


UTF8ToCP874

Declaration

Source position: lconvencoding.pas line 187

function UTF8ToCP874(

  const s: string

):string;


UTF8ToCP932

Declaration

Source position: lconvencoding.pas line 212

function UTF8ToCP932(

  const s: string

):string;


UTF8ToCP936

Declaration

Source position: lconvencoding.pas line 213

function UTF8ToCP936(

  const s: string

):string;


UTF8ToCP949

Declaration

Source position: lconvencoding.pas line 214

function UTF8ToCP949(

  const s: string

):string;


UTF8ToCP950

Declaration

Source position: lconvencoding.pas line 215

function UTF8ToCP950(

  const s: string

):string;


UTF8ToDBCS

Declaration

Source position: lconvencoding.pas line 218

function UTF8ToDBCS(

  const s: string;

  const UTF8CharConvFunc: TUnicodeToCharID

):string;


UTF8ToISO_8859_1

Declaration

Source position: lconvencoding.pas line 171

function UTF8ToISO_8859_1(

  const s: string

):string;


UTF8ToISO_8859_15

Declaration

Source position: lconvencoding.pas line 172

function UTF8ToISO_8859_15(

  const s: string

):string;


UTF8ToISO_8859_2

Declaration

Source position: lconvencoding.pas line 173

function UTF8ToISO_8859_2(

  const s: string

):string;


UTF8ToKOI8R

Declaration

Source position: lconvencoding.pas line 188

function UTF8ToKOI8R(

  const s: string

):string;


UTF8ToKOI8RU

Declaration

Source position: lconvencoding.pas line 190

function UTF8ToKOI8RU(

  const s: string

):string;


UTF8ToKOI8U

Declaration

Source position: lconvencoding.pas line 189

function UTF8ToKOI8U(

  const s: string

):string;


UTF8ToMacintosh

Declaration

Source position: lconvencoding.pas line 191

function UTF8ToMacintosh(

  const s: string

):string;


UTF8ToSingleByte

Declaration

Source position: lconvencoding.pas line 194

function UTF8ToSingleByte(

  const s: string;

  const UTF8CharConvFunc: TUnicodeToCharID

):string;


UTF8ToUCS2BE

Declaration

Source position: lconvencoding.pas line 197

function UTF8ToUCS2BE(

  const s: string

):string;


UTF8ToUCS2LE

Declaration

Source position: lconvencoding.pas line 196

function UTF8ToUCS2LE(

  const s: string

):string;


UTF8ToUTF8BOM

Declaration

Source position: lconvencoding.pas line 147

function UTF8ToUTF8BOM(

  const s: string

):string;


LoadFromCSVFile

Loads and process comma-separated valued from the specified file

Declaration

Source position: lcsvutils.pas line 25

procedure LoadFromCSVFile(

  aFilename: string;

  AProc: TCSVRecordProc;

  ADelimiter: Char = ',';

  CSVEncoding: TCSVEncoding = ceAuto

);

Arguments

aFilename | File name which contains the CSV data
AProc | Routine used to load and process records in the CSV data
ADelimiter | Delimiter used to separate fields in the CSV data
CSVEncoding | Character encoding used for the CSV data


LoadFromCSVStream

Loads and processes comma-separated values from the specified stream

Declaration

Source position: lcsvutils.pas line 23

procedure LoadFromCSVStream(

  AStream: TStream;

  AProc: TCSVRecordProc;

  ADelimiter: Char = ',';

  CSVEncoding: TCSVEncoding = ceAuto

);

Arguments

AStream | TStream instance containing the CSV data
AProc | Routine used to load and process records in the CSV data
ADelimiter | Delimiter used to separate fields in the CSV data
CSVEncoding | Character encoding used for the CSV data


Deduplicate

Removes duplicate strings in AStrings

Declaration

Source position: lookupstringlist.pas line 56

function Deduplicate(

  AStrings: TStrings

):Boolean;

Arguments

AStrings

TStrings to examine in the function

Function result

False if AStrings owns and contains objects

Description

Removes duplicate strings (with case sensitivity) from AStrings. Deduplicate creates a TLookupStringList instance that is used to remove the duplicate values in AStrings. When AStrings owns and contains objects, the function will return False.


MapReport

Gets information about the AVL Tree in the specified map

Declaration

Source position: maps.pp line 207

function MapReport(

  AMap: TBaseMap

):string;

Arguments

AMap

Map class to examine in the routine

Function result

String with the multi-line information about the AVL Tree

Description

MapReport is a String function used to get information about the AVL Tree in the specified map. The return value contains information about the order of nodes in the AVL Tree, and the pointers used in the structure. It is intended for use as a diagnostic tool.


MatchesMask

Test if the file name matches the passed mask.

Declaration

Source position: masks.pas line 85

function MatchesMask(

  const FileName: string;

  const Mask: string;

  const CaseSensitive: Boolean

):Boolean;

function MatchesMask(

  const FileName: string;

  const Mask: string;

  const Options: TMaskOptions = []

):Boolean;


MatchesMaskList

Test if the file name matches at least one of passed masks separated by the parameter Separator.

Declaration

Source position: masks.pas line 90

function MatchesMaskList(

  const FileName: string;

  const Mask: string

):Boolean;

function MatchesMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char

):Boolean;

function MatchesMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char;

  const CaseSensitive: Boolean

):Boolean;

function MatchesMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char;

  const Options: TMaskOptions

):Boolean;


MatchesWindowsMask

Test if the file name matches the passed mask. Implements some special rules for a Windows© filesystem comparison.

Declaration

Source position: masks.pas line 87

function MatchesWindowsMask(

  const FileName: string;

  const Mask: string;

  const CaseSensitive: Boolean

):Boolean;

function MatchesWindowsMask(

  const FileName: string;

  const Mask: string;

  const Options: TMaskOptions = []

):Boolean;


MatchesWindowsMaskList

Test if the file name matches at least one of passed masks separated by the parameter Separator. Implements some special rules for a Windows© filesystem comparison.

Declaration

Source position: masks.pas line 94

function MatchesWindowsMaskList(

  const FileName: string;

  const Mask: string

):Boolean;

function MatchesWindowsMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char

):Boolean;

function MatchesWindowsMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char;

  const CaseSensitive: Boolean

):Boolean;

function MatchesWindowsMaskList(

  const FileName: string;

  const Mask: string;

  Separator: Char;

  const Options: TMaskOptions

):Boolean;


SetPasWidestringManager

Declaration

Source position: paswstring.pas line 41

procedure SetPasWidestringManager;


FindAllTranslatedPoFiles

Declaration

Source position: translations.pas line 193

function FindAllTranslatedPoFiles(

  const Filename: string

):TStringList;


GetPOFilenameParts

Declaration

Source position: translations.pas line 192

function GetPOFilenameParts(

  const Filename: string;

  out AUnitName: string;

  out Language: string

):Boolean;


TranslateResourceStrings

Declaration

Source position: translations.pas line 203

function TranslateResourceStrings(

  po: TPOFile

):Boolean;

function TranslateResourceStrings(

  const AFilename: string

):Boolean;

procedure TranslateResourceStrings(

  const BaseFilename: string;

  const Lang: string;

  const FallbackLang: string

);


TranslateUnitResourceStrings

Declaration

Source position: translations.pas line 196

function TranslateUnitResourceStrings(

  const ResUnitName: string;

  const BaseFilename: string;

  const Lang: string;

  const FallbackLang: string

):TTranslateUnitResult; overload;

function TranslateUnitResourceStrings(

  const ResUnitName: string;

  const AFilename: string

):Boolean; overload;

function TranslateUnitResourceStrings(

  const ResUnitName: string;

  po: TPOFile

):Boolean; overload;


UpdatePoFile

Declaration

Source position: translations.pas line 209

function UpdatePoFile(

  RSTFiles: TStrings;

  const POFilename: string

):Boolean;


UpdatePoFileTranslations

Declaration

Source position: translations.pas line 210

procedure UpdatePoFileTranslations(

  const BasePOFilename: string;

  BasePOFile: TPOFile = Nil

);


UTF8ToSystemCharSet

Declaration

Source position: translations.pas line 207

function UTF8ToSystemCharSet(

  const s: string

):string;


Cache_Create

Declaration

Source position: ttcache.pas line 106

function Cache_Create(

  var clazz: TCache_Class;

  var cache: TCache

):TError;


Cache_Destroy

Declaration

Source position: ttcache.pas line 112

function Cache_Destroy(

  var cache: TCache

):TError;


Cache_Done

Declaration

Source position: ttcache.pas line 120

function Cache_Done(

  var cache: TCache;

  obj: Pointer

):TError;


Cache_New

Declaration

Source position: ttcache.pas line 115

function Cache_New(

  var cache: TCache;

  var new_object: Pointer;

  parent_data: Pointer

):TError;


Element_Done

Declaration

Source position: ttcache.pas line 136

procedure Element_Done(

  element: PList_Element

);


Element_New

Declaration

Source position: ttcache.pas line 132

function Element_New: PList_Element;


TTCache_Done

Declaration

Source position: ttcache.pas line 145

function TTCache_Done: TError;


TTCache_Init

Declaration

Source position: ttcache.pas line 143

function TTCache_Init: TError;


Div64by32

Declaration

Source position: ttcalc.pas line 70

function Div64by32(

  X: Int64;

  Y: Int32

):Int32;


MulDiv

Declaration

Source position: ttcalc.pas line 64

function MulDiv(

  A: Int32;

  B: Int32;

  C: Int32

):Int32;


MulDiv_Round

Declaration

Source position: ttcalc.pas line 66

function MulDiv_Round(

  A: Int32;

  B: Int32;

  C: Int32

):Int32;


MulTo64

Declaration

Source position: ttcalc.pas line 68

procedure MulTo64(

  X: Int32;

  Y: Int32;

  out Z: Int64

);


Order32

Declaration

Source position: ttcalc.pas line 73

function Order32(

  Z: Int32

):Integer;


Order64

Declaration

Source position: ttcalc.pas line 72

function Order64(

  Z: Int64

):Integer;


Sqrt32

Declaration

Source position: ttcalc.pas line 75

function Sqrt32(

  L: Int32

):LongInt;


Sqrt64

Declaration

Source position: ttcalc.pas line 76

function Sqrt64(

  L: Int64

):LongInt;


CharMap_Free

Declaration

Source position: ttcmap.pas line 127

procedure CharMap_Free(

  var cmap: TCMapTable

);


CharMap_Index

Declaration

Source position: ttcmap.pas line 129

function CharMap_Index(

  var cmap: TCMapTable;

  charCode: Long

):UShort;


CharMap_Load

Declaration

Source position: ttcmap.pas line 125

function CharMap_Load(

  var cmap: TCMapTable

):TError;


Clear_All_Breaks

Declaration

Source position: ttdebug.pas line 85

procedure Clear_All_Breaks(

  var Head: PBreakPoint

);


Clear_Break

Declaration

Source position: ttdebug.pas line 81

procedure Clear_Break(

  var Head: PBreakPoint;

  Bp: PBreakPoint

);


Cur_U_Line

Declaration

Source position: ttdebug.pas line 93

function Cur_U_Line(

  Code: PByte;

  IP: Int

):DebugStr;


Find_BreakPoint

Declaration

Source position: ttdebug.pas line 89

function Find_BreakPoint(

  Head: PBreakPoint;

  Range: Int;

  IP: Int

):PBreakPoint;


Generate_Range

Declaration

Source position: ttdebug.pas line 63

procedure Generate_Range(

  CR: PCodeRange;

  index: Int;

  var RR: TRangeRec

);


Get_Dis_Line

Declaration

Source position: ttdebug.pas line 99

function Get_Dis_Line(

  var cr: TRangeRec;

  addr: Int

):Int;


Get_Length

Declaration

Source position: ttdebug.pas line 97

function Get_Length(

  Code: PByte;

  IP: Int

):Int;


Hex16

Declaration

Source position: ttdebug.pas line 105

function Hex16(

  W: Word

):ShortHexStr;


Hex32

Declaration

Source position: ttdebug.pas line 106

function Hex32(

  L: Long

):LongHexStr;


Hex8

Declaration

Source position: ttdebug.pas line 104

function Hex8(

  B: Byte

):ByteHexStr;


Set_Break

Declaration

Source position: ttdebug.pas line 77

procedure Set_Break(

  var Head: PBreakPoint;

  Range: Int;

  Adr: Int

);


Throw_Range

Declaration

Source position: ttdebug.pas line 69

procedure Throw_Range(

  var RR: TRangeRec

);


Toggle_Break

Declaration

Source position: ttdebug.pas line 73

procedure Toggle_Break(

  var Head: PBreakPoint;

  Range: Int;

  Adr: Int

);


Check_Error

Declaration

Source position: tterror.pas line 24

procedure Check_Error(

  error: Integer

);


Panic1

Declaration

Source position: tterror.pas line 26

procedure Panic1(

  message: string

);


Trace1

Declaration

Source position: tterror.pas line 27

procedure Trace1(

  message: string

);


TTFile_Done

Declaration

Source position: ttfile.pas line 130

procedure TTFile_Done;


TTFile_Init

Declaration

Source position: ttfile.pas line 129

function TTFile_Init: TError;


TT_Close_Stream

Declaration

Source position: ttfile.pas line 145

procedure TT_Close_Stream(

  var stream: TT_Stream

);


TT_Done_Stream

Declaration

Source position: ttfile.pas line 165

procedure TT_Done_Stream(

  stream: TT_Stream

);


TT_Flush_Stream

Declaration

Source position: ttfile.pas line 161

procedure TT_Flush_Stream(

  stream: TT_Stream

);


TT_Open_Stream

Declaration

Source position: ttfile.pas line 138

function TT_Open_Stream(

  name: string;

  var stream: TT_Stream

):TError;

function TT_Open_Stream(

  AStream: TStream;

  AStreamOwner: Boolean;

  var stream: TT_Stream

):TError;


TT_Stream_Size

Declaration

Source position: ttfile.pas line 171

function TT_Stream_Size(

  stream: TT_Stream

):LongInt;


TT_Use_Stream

Declaration

Source position: ttfile.pas line 149

function TT_Use_Stream(

  org_stream: TT_Stream;

  out ftstream: TFreeTypeStream

):TError;


Get_Advance_Widths

Declaration

Source position: ttgload.pas line 55

function Get_Advance_Widths(

  face: PFace;

  ppem: Int

):PByte;


Load_TrueType_Glyph

Declaration

Source position: ttgload.pas line 28

function Load_TrueType_Glyph(

  instance: PInstance;

  glyph: PGlyph;

  glyph_index: Word;

  load_flags: Int

):TError;


TT_Get_Metrics

Declaration

Source position: ttgload.pas line 50

procedure TT_Get_Metrics(

  var header: TT_Horizontal_Header;

  index: Int;

  var bearing: TT_Pos;

  var advance: TT_Pos

);


Run_Ins

Declaration

Source position: ttinterp.pas line 40

function Run_Ins(

  exec: PExec_Context;

  AErrorLog: Boolean = False

):TError;


Load_TrueType_Any

Declaration

Source position: ttload.pas line 52

function Load_TrueType_Any(

  face: PFace;

  tag: LongInt;

  offset: LongInt;

  var buffer;

  var length: LongInt

):TError;


Load_TrueType_CMap

Declaration

Source position: ttload.pas line 41

function Load_TrueType_CMap(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_CVT

Declaration

Source position: ttload.pas line 40

function Load_TrueType_CVT(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_Directory

Declaration

Source position: ttload.pas line 34

function Load_TrueType_Directory(

  AStream: TFreeTypeStream;

  face: PFace;

  faceIndex: Int

):TError;


Load_TrueType_Gasp

Declaration

Source position: ttload.pas line 42

function Load_TrueType_Gasp(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_HDMX

Declaration

Source position: ttload.pas line 47

function Load_TrueType_HDMX(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_Header

Declaration

Source position: ttload.pas line 38

function Load_TrueType_Header(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_Locations

Declaration

Source position: ttload.pas line 39

function Load_TrueType_Locations(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_MaxProfile

Declaration

Source position: ttload.pas line 37

function Load_TrueType_MaxProfile(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_Metrics_Header

Declaration

Source position: ttload.pas line 49

function Load_TrueType_Metrics_Header(

  AStream: TFreeTypeStream;

  face: PFace;

  vertical: Boolean

):TError;


Load_TrueType_Names

Declaration

Source position: ttload.pas line 43

function Load_TrueType_Names(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_OS2

Declaration

Source position: ttload.pas line 46

function Load_TrueType_OS2(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_trueType_Postscript

Declaration

Source position: ttload.pas line 45

function Load_trueType_Postscript(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


Load_TrueType_Programs

Declaration

Source position: ttload.pas line 44

function Load_TrueType_Programs(

  AStream: TFreeTypeStream;

  face: PFace

):TError;


LookUp_TrueType_Table

Declaration

Source position: ttload.pas line 31

function LookUp_TrueType_Table(

  face: PFace;

  aTag: string

):Int;


Alloc

Declaration

Source position: ttmemory.pas line 79

function Alloc(

  var P;

  size: LongInt

):TError;


Free

Declaration

Source position: ttmemory.pas line 83

procedure Free(

  var P

);


TTMemory_Done

Declaration

Source position: ttmemory.pas line 89

procedure TTMemory_Done;


TTMemory_Init

Declaration

Source position: ttmemory.pas line 88

function TTMemory_Init: TError;


Clear_CodeRange

Declaration

Source position: ttobjs.pas line 705

function Clear_CodeRange(

  exec: PExec_Context;

  range: Int

):TError;


Context_Load

Declaration

Source position: ttobjs.pas line 735

procedure Context_Load(

  exec: PExec_Context;

  ins: PInstance

);


Context_Run

Declaration

Source position: ttobjs.pas line 745

function Context_Run(

  exec: PExec_Context;

  debug: Boolean

):TError;


Context_Save

Declaration

Source position: ttobjs.pas line 740

procedure Context_Save(

  exec: PExec_Context;

  ins: PInstance

);


Done_Context

Declaration

Source position: ttobjs.pas line 722

procedure Done_Context(

  exec: PExec_Context

);


Get_CodeRange

Declaration

Source position: ttobjs.pas line 694

function Get_CodeRange(

  exec: PExec_Context;

  range: Int

):PCodeRange;


Goto_CodeRange

Declaration

Source position: ttobjs.pas line 689

function Goto_CodeRange(

  exec: PExec_Context;

  range: Int;

  IP: Int

):TError;


Instance_Init

Declaration

Source position: ttobjs.pas line 748

function Instance_Init(

  ins: PInstance

):TError;


Instance_Reset

Declaration

Source position: ttobjs.pas line 750

function Instance_Reset(

  ins: PInstance;

  debug: Boolean

):TError;


New_Context

Declaration

Source position: ttobjs.pas line 715

function New_Context(

  instance: PInstance

):PExec_Context;


Scale_X

Declaration

Source position: ttobjs.pas line 754

function Scale_X(

  var metrics: TIns_Metrics;

  x: TT_Pos

):TT_Pos;


Scale_Y

Declaration

Source position: ttobjs.pas line 756

function Scale_Y(

  var metrics: TIns_Metrics;

  y: TT_Pos

):TT_Pos;


Set_CodeRange

Declaration

Source position: ttobjs.pas line 699

function Set_CodeRange(

  exec: PExec_Context;

  range: Int;

  base: Pointer;

  length: Int

):TError;


TTObjs_Done

Declaration

Source position: ttobjs.pas line 761

procedure TTObjs_Done;


TTObjs_Init

Declaration

Source position: ttobjs.pas line 758

function TTObjs_Init: TError;


ProfileList_AppendToList

Declaration

Source position: ttprofile.pas line 127

procedure ProfileList_AppendToList(

  var ListOrElement: TProfile;

  ElementOrListToAppend: TProfile

);


ProfileList_Count

Declaration

Source position: ttprofile.pas line 131

function ProfileList_Count(

  L: TProfile

):Integer;


ProfileList_Init

Declaration

Source position: ttprofile.pas line 125

procedure ProfileList_Init(

  out L: TProfile

);


ProfileList_InsertFirstElement

Declaration

Source position: ttprofile.pas line 126

procedure ProfileList_InsertFirstElement(

  var L: TProfile;

  Element: TProfile

);


ProfileList_Remove

Declaration

Source position: ttprofile.pas line 128

procedure ProfileList_Remove(

  var List: TProfile;

  ElementToRemove: TProfile

);


ProfileList_SortByStart

Declaration

Source position: ttprofile.pas line 130

procedure ProfileList_SortByStart(

  var L: TProfile

);


ProfileList_SortByX

Declaration

Source position: ttprofile.pas line 129

procedure ProfileList_SortByX(

  var L: TProfile

);


ProfileList_Split

Declaration

Source position: ttprofile.pas line 132

procedure ProfileList_Split(

  List: TProfile;

  out Part1: TProfile;

  out Part2: TProfile

);


IncludeFullGrainMax

Declaration

Source position: ttraster.pas line 212

function IncludeFullGrainMax(

  maxValue: Integer;

  Grain: Integer

):Integer;


IncludeFullGrainMin

Declaration

Source position: ttraster.pas line 211

function IncludeFullGrainMin(

  minValue: Integer;

  Grain: Integer

):Integer;


TTGetDefaultRasterizer

Declaration

Source position: ttraster.pas line 217

function TTGetDefaultRasterizer: TFreeTypeRasterizer;


TTRaster_Done

Declaration

Source position: ttraster.pas line 215

procedure TTRaster_Done;


TTRaster_Init

Declaration

Source position: ttraster.pas line 214

function TTRaster_Init: TError;


FindFilenameOfCmd

Declaration

Source position: utf8process.pp line 109

function FindFilenameOfCmd(

  ProgramFilename: string

):string;


GetSystemThreadCount

Gets a default value for the number of threads on the system

Declaration

Source position: utf8process.pp line 111

function GetSystemThreadCount: Integer;

Function result

Default for the number of threads on the system

Description

GetSystemThreadCount is an Integer function used to get the default value for the number of threads on the system. The implementation for GetSystemThreadCount is platform- and/or OS-specific. For the Windows environment, the total number of processors available (including logical hyperthreaded processors) are returned using the GetProcessAffinityMask API. When GetProcessAffinityMask is unavailable, the total number of processors from GetSystemInfo is used. For UNIX-like environments, either the sysconf or the fpsysctl function is used. For other environments, the value is 1.


Register

Declaration

Source position: utf8process.pp line 113

procedure Register;


RunCmdFromPath

Executes a command found in the current PATH environment

Declaration

Source position: utf8process.pp line 108

procedure RunCmdFromPath(

  ProgramFilename: string;

  CmdLineParameters: string

);

Arguments

ProgramFilename | Name of the program to execute
CmdLineParameters | Command line parameters for the process

Description

RunCmdFromPath is used to execute a command which can be found in the current PATH environment. For example, the following locates and executes the /bin/ls command with the specified arguments:

RunCmdFromPath('ls', '-l /home');

An exception will be raised if the program file cannot be located, or cannot be executed.

RunCmdFromPath creates an instance of TProcessUTF8 to execute the program using the specified arguments.

Errors

EFOpenError
Raised with the message in lrsProgramFileNotFound
EFOpenError
Raised with the message in lrsCanNotExecute


Reference for package 'lazutils'

Lazutils

Units

AvgLvlTree | An Average Level Tree structure, which is kept balanced so that finding a node is very rapid
CompWriterPas | Contains types, classes, and rotuinees used to serialize components into Pascal code
DynamicArray
DynHashArray
DynQueue
EasyLazFreeType |
ExtendedStrings
FileUtil | Miscellaneous procedures, functions, types, and classes for manipulating files and file names
FPCAdds | Contains additional types and routines not currently available in FPC
GraphType
HTML2TextRender | Contains an HTML-to-Text renderer
IntegerList | Provides lists for Integer data types implemented using generics
Laz2_DOM | Value for the Attributes property
Laz2_XMLCfg | Implements classes used to read and write configuration data files in XML format
laz2_XMLRead | Provides routines used to read XML content from a file, text file, or stream
laz2_xmlutils |
laz2_XMLWrite | Provides routines used to write XML content to a file, text file, or stream
laz2_xpath | An implementation of the XML Path Language (XPath) for Free Pascal
LazClasses |
lazCollections | Contains classes used to implement thread-safe collections
LazConfigStorage |
LazDbgLog |
Laz_DOM | Provides an implementation of DOM Interfaces
lazfglhash |
LazFileCache |
LazFileUtils | Contains types, procedures, and functions used for file and directory operations
LazFreeType |
LazFreeTypeFontCollection |
LazFreeTypeFPImageDrawer |
LazLinkedList | Defines a simple doubly linked list
LazListClasses
LazLogger | Provides a log framework
LazLoggerBase |
LazLoggerDummy |
LazLoggerProfiling
LazMethodList | Implements a list of TMethod entries
LazStringUtils | Contains routines used for string manipulation
LazSysUtils |
LazTracer
LazUnicode | Provides encoding-agnostic Unicode string manipulation functions and an enumerator
LazUTF16 |
LazUTF8 | Number of characters (codepoints) to get from the string
LazUTF8Classes | Implements UTF-8-enabled classes and routines
LazUTF8SysUtils | Unit renamed to LazSysUtils
LazUtilities |
LazUtils
LazUtilsStrConsts | Resource strings used in the LazUtils package
LazVersion | Contains constants which identify the version numbers for the Lazarus IDE installed on the local system
Laz_XMLCfg |
Laz_XMLRead |
Laz_XMLStreaming |
Laz_XMLWrite |
LConvEncoding | Used to perform conversions between Unicode and System Code Page encodings
lcsvutils | Contains routines used to read and process Comma-separated values from a file or a stream
LookupStringList | Contains TLookupStringList, an unsorted StringList with a fast lookup feature
Maps | Implements a map for unique IDs to arbitrary data
Masks | This unit contains classes for mask matching.
ObjectLists | Defines classes used to associate objects/pointers with objects/pointers
PasWString |
StringHashList |
TextStrings
Translations | Contains classes and routines used to load/check/maintain translations from .po (portable object) files.
TTCache |
TTCalc |
TTCMap |
TTDebug |
TTError |
TTFile |
TTGLoad |
TTInterp |
TTLoad |
TTMemory |
TTObjs
TTProfile |
TTRASTER |
TTTables |
TTTypes |
UITypes | Contains types and constants used in modal dialogs
UTF8Process | Defines a version of FPC TProcess that allows UTF-8-encoded arguments

Description

The Lazutils package contains basic non visual stuff, needed by the LCL and other packages. Historically some units originated from the LCL and the codetools.


Index of all identifiers in package 'lazutils'

A B C D E F G H I K L M N O P R S T U W X

A

aaBoth | ArrayOfFontCollectionItemDestroyListener | axisAttribute
aaPrefix | ArrayOfSingle | axisChild
aaUnchanged | ArrayOfString | axisDescendant
adDefault | assign(Boolean):TLazLoggerLogEnabled | axisDescendantOrSelf
adFixed | assign(Boolean):TLazLoggerLogEnabled | axisFollowing
adImplied | assign(Boolean):TLazLoggerLogEnabled | axisFollowingSibling
adRequired | assign(PLazLoggerLogGroup):TLazLoggerLogEnabled | axisInvalid
AlignToInt | assign(PLazLoggerLogGroup):TLazLoggerLogEnabled | axisNamespace
AlignToPtr | assign(PLazLoggerLogGroup):TLazLoggerLogEnabled | axisParent
AllDirectoryEntriesMask | ATTRIBUTE_NODE | axisPreceding
Alloc | AvgLvlTree | axisPrecedingSibling
AppendPathDelim | axisAncestor | axisRoot
ArrayOfCharPosition | axisAncestorOrSelf | axisSelf

B

BinaryStrToText | bvNone | ByteHexStr
BreakString | bvRaised |
bvLowered | bvSpace |

C

Cache_Create | CompareFilenameAndFilenameToStringTreeItemI | CP1251ToUTF8
Cache_Destroy | CompareFilenames | CP1252ToUTF8
Cache_Done | CompareFilenames | CP1253ToUTF8
Cache_New | CompareFilenamesIgnoreCase | CP1254ToUTF8
CallDefinePropertiesPas | CompareFilenamesP | CP1255ToUTF8
CDATA_SECTION_NODE | CompareFilenameStarts | CP1256ToUTF8
ceAuto | CompareFilenameToStringItems | CP1257ToUTF8
ceemException | CompareFilenameToStringItemsI | CP1258ToUTF8
ceemReplace | CompareFilenameWithFileStateCacheItem | CP437ToUTF8
ceemReturnEmpty | CompareFileStateItems | CP850ToUTF8
ceemSkip | CompareMethods | CP852ToUTF8
ceUTF16 | ComparePCharWithConfigMemStorageNode | CP866ToUTF8
ceUTF16be | ComparePhysicalFilenames | CP874ToUTF8
ceUTF8 | ComparePointer | CP932ToUTF8
cffCreateDestDirectory | ComparePointers | CP936ToUTF8
cffOverwriteFile | ComparePointerToPointerItems | CP949ToUTF8
cffPreserveTime | ComparePointerWithPtrToPtrItem | CP950ToUTF8
ChangeLineEndings | CompareStringListItemsUTF8LowerCase | CreateAbsolutePath
CharMap_Free | CompareStringToStringItems | CreateAbsolutePath
CharMap_Index | CompareStringToStringItemsI | CreateAbsoluteSearchPath
CharMap_Load | CompareStrListUTF8LowerCase | CreateAbsoluteSearchPath
Check_Error | CompWriterPas | CreateDirUTF8
CheckIfFileIsExecutable | comtCPP | CreateRelativePath
CheckIfFileIsSymlink | comtDefault | CreateRelativeSearchPath
CheckPathDelim | comtDelphi | CSPDefaultAccessClass
ChompPathDelim | comtHtml | CSPDefaultAssignOp
CleanAndExpandDirectory | comtNone | CSPDefaultExecCustomProc
CleanAndExpandFilename | comtPascal | CSPDefaultExecCustomProcUnit
Clear_All_Breaks | comtPerl | CSPDefaultMaxColumn
Clear_Break | comtTurboPascal | CSPDefaultSignature
Clear_CodeRange | ConfigMemStorageFormatVersion | CSPDefaultSignatureBegin
cmsmDelete | ConsoleToUTF8 | CSPDefaultSignatureEnd
cmsmDeleteValue | ConsoleVerbosity | CSPVersion
cmsmGet | Context_Load | Cur_U_Line
cmsmSet | Context_Run | CvtFlag_Both
CodePointCopy | Context_Save | CvtFlag_None
CodePointLength | ConvertAnsiToUTF8 | CvtFlag_X
CodePointPos | ConvertEncoding | CvtFlag_Y
CodePointSize | ConvertEncodingErrorMode | cwpcsCreate
COMMENT_NODE | ConvertEncodingFromUTF8 | cwpcsProperties
CommentText | ConvertEncodingToUTF8 | cwpoNoFinalLineBreak
CompareAnsiStringWithStrToStrItem | ConvertLineEndings | cwpoNoSelf
CompareAnsiStringWithStrToStrItemI | ConvertUTF16ToUTF8 | cwpoNoSignature
CompareBoolean | ConvertUTF8ToAnsi | cwpoNoWithBlocks
CompareConfigMemStorageNames | ConvertUTF8ToUTF16 | cwpoSetParentFirst
CompareConfigMemStorageNodes | CopyDirTree | cwpoSrcCodepageUTF8
CompareDomNodeNames | CopyFile | CWPSkipParentName
CompareFileExt | CopyImageData |
CompareFilenameAndFilenameToStringTreeItem | CP1250ToUTF8 |

D

dbghex | DbgStopMemWatch | DirPathExists
dbghex | DbgStopTimer | DirPathExistsCached
dbghex | DbgStr | Div64by32
dbgMemRange | DbgStr | DOCUMENT_FRAGMENT_NODE
dbgMemRange | DbgWideStr | DOCUMENT_NODE
dbgMemRange | DbgWideStr | DOCUMENT_TYPE_NODE
dbgMemStream | DebugLn | DOMChar
dbgMemStream | DebugLn | DOMPChar
dbgMemStream | DebugLn | DOMPChar
dbgObjMem | DebugLnEnter | DOMString
dbgObjMem | DebugLnEnter | DOMString
dbgObjMem | DebugLnEnter | DOMSTRING_SIZE_ERR
DbgOut | DebugLnExit | Done_Context
DbgOut | DebugLnExit | dtCdata
DbgOut | DebugLnExit | dtEntities
DbgS | DebuglnStack | dtEntity
DbgS | DebuglnStack | dtId
DbgS | DebuglnStack | dtIdRef
DbgSFileAttr | DebugStr | dtIdRefs
DbgSJoin | Deduplicate | dtNmToken
DbgSJoin | DefaultByteOrder | dtNmTokens
DbgSJoin | Default_GraphicsState | dtNotation
DbgsMemUsed | DeleteDirectory | DumpExceptionBackTrace
DbgSName | DeleteFileUTF8 | DumpExceptionBackTrace
DbgSName | dhaoCacheContains | DumpExceptionBackTrace
DbgSName | dhaoCachingEnabled | DumpStack
DbgStartMemWatch | DirectoryExistsUTF8 | DynamicArray
DbgStartTimer | DirectoryIsWritable | DynHashArray
DbgsTimeUsed | DirectoryIsWritableCached | DynQueue

E

EArray | EncodingCP1250 | ENTITY_NODE
EasyLazFreeType | EncodingCP1251 | ENTITY_REFERENCE_NODE
EDOMError | EncodingCP1252 | EPOFileError
EDOMError | EncodingCP1253 | error
EDOMHierarchyRequest | EncodingCP1254 | Err_Ras_Invalid
EDOMIndexSize | EncodingCP1255 | Err_Ras_Invalid_Contours
EDOMInUseAttribute | EncodingCP1256 | Err_Ras_Neg_H
EDOMInvalidAccess | EncodingCP1257 | Err_Ras_None
EDOMInvalidModification | EncodingCP1258 | Err_Ras_NotIni
EDOMInvalidState | EncodingCP437 | Err_Ras_Overflow
EDOMNamespace | EncodingCP850 | esError
EDOMNotFound | EncodingCP852 | esFatal
EDOMNotSupported | EncodingCP866 | esoClearRecordsOnCreate
EDOMSyntax | EncodingCP874 | esoFreeObjectsOnDelete
EDOMWrongDocument | EncodingCP932 | esWarning
EDynHashArrayException | EncodingCP936 | EvaluateXPathExpression
EFreeType | EncodingCP949 | EvaluationError
elChildrenList | EncodingCP950 | exec_cache
Element_Done | EncodingCPIso1 | EXMLReadError
Element_New | EncodingCPIso15 | EXMLReadError
ELEMENT_NODE | EncodingCPIso2 | ExpandFileNameUTF8
elPropertyList | EncodingCPKOI8R | ExpandUNCFileNameUTF8
elUnknown | EncodingCPKOI8RU | EXPathEvaluationError
emAsciiControlNames | EncodingCPKOI8U | ExtendedStrings
emC | EncodingCPMac | ExtractFileNameOnly
emHexC | EncodingUCS2BE | ExtractFileNameWithoutExt
emHexPascal | EncodingUCS2LE | ExtractFileNameWithoutExt
emPascal | EncodingUTF8 | ExtractFileRoot
EncodeLesserAndGreaterThan | EncodingUTF8BOM | ExtractShortPathNameUTF8
EncodingAnsi | EndOfLine | ExtractUNCVolume

F

face_cache | FileUtil | fsciDirectoryWritable
Failure | FindAllDirectories | fsciExecutable
FileAgeCached | FindAllFiles | fsciExists
FileAgeUTF8 | FindAllTranslatedPoFiles | fsciPhysical
FileCreateUTF8 | Find_BreakPoint | fsciReadable
FileExistsCached | FindCloseUTF8 | fsciText
FileExistsUTF8 | FindDefaultExecutablePath | fsciWritable
FileGetAttrUTF8 | FindDiskFileCaseInsensitive | fsSurface
FileIsExecutable | FindDiskFilename | ftaBaseline
FileIsExecutableCached | FindFilenameOfCmd | ftaBottom
FileIsHardLink | FindFirstUTF8 | ftaCenter
FileIsInDirectory | FindInvalidUTF8Character | ftaJustify
FileIsInPath | FindInvalidUTF8Codepoint | ftaLeft
FileIsInPath | FindNextDelimitedItem | ftaRight
FileIsReadable | FindNextUTF8 | ftaTop
FileIsReadableCached | FindPathInSearchPath | ftaVerticalCenter
FileIsReadOnlyUTF8 | FontCollection | ftiCopyrightNotice
FileIsSymlink | FontCollectionItemDestroyListener | ftiDesigner
FileIsText | Font_Pool_Allocated | ftiDesignerURL
FileIsTextCached | ForceDirectoriesUTF8 | ftiFamily
FileIsWritable | ForceDirectory | ftiFullName
FileIsWritableCached | ForcePathDelims | ftiIdentifier
FilenameIsAbsolute | FPCAdds | ftiLicenseDescription
FilenameIsPascalUnit | FPUpChars | ftiLicenseInfoURL
FilenameIsTrimmed | Free | ftiManufacturer
FilenameIsUnixAbsolute | FreeThenNil | ftiPostscriptName
FilenameIsWinAbsolute | FreeTypeInformationStr | ftiStyle
FilenamesCaseSensitive | FreeTypeMinPointSize | ftiTrademark
FilenamesLiteral | frFalse | ftiVendorURL
FileOpenUTF8 | frNoRecurseFalse | ftiVersionString
FileSearchUTF8 | frNoRecurseTrue | ftsBold
FileSetAttrUTF8 | frTrue | ftsItalic
FileSetDateUTF8 | fsBorder | Function_Sweep_Init
FileSize | fsciAge | Function_Sweep_Span
FileSizeUtf8 | fsciDirectory | Function_Sweep_Step
FileStateCache | fsciDirectoryReadable |

G

Gasp_DoGray | GetDebugLoggerGroups | GetPOFilenameParts
Gasp_GridFit | GetDebugLoggerGroups | GetShellLinkTarget
gde1Bit | GetDefaultTextEncoding | GetStackTrace
gdeDisabled | Get_Dis_Line | GetStackTracePointers
gdeHighlighted | GetEnvironmentStringUTF8 | GetStringRefCount
gdeNormal | GetEnvironmentVariableCountUTF8 | GetSupportedEncodings
gdeShadowed | GetEnvironmentVariableUTF8 | GetSystemThreadCount
Generate_Range | GetExeExt | GetTempFileNameUTF8
Get_Advance_Widths | GetExistingDebugLogger | GetTickCount64
GetAllFilesMask | GetExistingDebugLogger | GetTickCount64
GetAppConfigDirUTF8 | GetFileDescription | GoingDown
GetAppConfigFileUTF8 | GetForcedPathDelims | GoingHoriz
GetBitsPerLine | Get_Length | GoingUnknown
GetBytesPerLine | GetLineInfo | GoingUp
Get_CodeRange | GetNextDelimitedItem | Goto_CodeRange
GetConsoleTextEncoding | GetParamByName | GraphType
GetCurrentDirUTF8 | GetParamByNameCount | grqHighQuality
GetDebugLogger | GetPart | grqLowQuality
GetDebugLogger | GetPhysicalFilename | grqMonochrome
GetDebugLogger | GetPhysicalFilenameCached | GuessEncoding

H

HasDelimitedItem | Hex32 | HTML2TextRender
Hash | Hex8 |
Hex16 | HIERARCHY_REQUEST_ERR |

I

IFreeTypeFamilyEnumerator | INVALID_STATE_ERR | ItemMemManager
IFreeTypeFontEnumerator | IsCombining | its1
IncludeFullGrainMax | IsCurrentPathDelim | its16
IncludeFullGrainMin | IsNumber | its2
INDEX_SIZE_ERR | ISO_8859_15ToUTF8 | its32
Instance_Init | ISO_8859_1ToUTF8 | its4
Instance_Reset | ISO_8859_2ToUTF8 | its8
Int | IsUNCPath | itsPtrSize
Int32 | IsUTF16CharValid | itu1
IntegerList | IsUTF16StringValid | itu16
INUSE_ATTRIBUTE_ERR | IsValidXmlEncoding | itu2
INVALID_ACCESS_ERR | IsXmlName | itu32
InvalidateFileStateCache | IsXmlNames | itu4
InvalidateFileStateCache | IsXmlNmToken | itu8
INVALID_CHARACTER_ERR | IsXmlNmTokens | ituPtrSize
INVALID_MODIFICATION_ERR | IsXmlWhiteSpace |

K

KOI8RToUTF8

L

Laz2_DOM | Laz_XMLCfg | lrsBoolean
Laz2_XMLCfg | Laz_XMLRead | lrsCanNotExecute
laz2_XMLRead | Laz_XMLStreaming | lrsCreatingGdbCatchableError
laz2_xmlutils | Laz_XMLWrite | lrsERRORInCode
laz2_XMLWrite | LConvEncoding | lrsEvalInvalidArgCount
laz2_xpath | lcsvutils | lrsEvalUnknownFunction
LazClasses | lgfAddedByParamParser | lrsEvalUnknownVariable
lazCollections | lgfAddedByParamParser | lrsFileDoesNotExist
LazConfigStorage | lgfNoDefaultEnabledSpecified | lrsFileIsADirectoryAndNotAnExecutable
LazDbgLog | lgfNoDefaultEnabledSpecified | lrsHasACircularSymbolicLink
LazDebugLoggerCreator | LineBreaksToDelimiter | lrsInsufficientMemory
LazDebugLoggerCreator | LineBreaksToSystemLineBreaks | lrsInvalidCharSet
Laz_DOM | LineEndingCount | lrsIsNotASymbolicLink
lazfglhash | ListOfPDynamicQueueItem | lrsIsNotExecutable
LazFileCache | LoadFromCSVFile | lrsListIndexExceedsBounds
LazFileUtils | LoadFromCSVStream | lrsListMustBeEmpty
LazFreeType | LoadStringsFromFileUTF8 | lrsModified
LazFreeTypeFontCollection | LoadStringToStringTree | lrsNodeSet
LazFreeTypeFPImageDrawer | Load_TrueType_Any | lrsNumber
laz_fullversion | Load_TrueType_CMap | lrsParserBadAxisName
LazGetLanguageIDs | Load_TrueType_CVT | lrsParserBadNodeType
LazGetShortLanguageID | Load_TrueType_Directory | lrsParserExpectedLeftBracket
LazIsValidIdent | Load_TrueType_Gasp | lrsParserExpectedRightBracket
LazLinkedList | Load_TrueType_Glyph | lrsParserExpectedRightSquareBracket
LazListClasses | Load_TrueType_HDMX | lrsParserGarbageAfterExpression
LazLogger | Load_TrueType_Header | lrsParserInvalidNodeTest
LazLoggerBase | Load_TrueType_Locations | lrsParserInvalidPrimExpr
LazLoggerDummy | Load_TrueType_MaxProfile | lrsProgramFileNotFound
LazLoggerProfiling | Load_TrueType_Metrics_Header | lrsReadAccessDeniedFor
laz_major | Load_TrueType_Names | lrsScannerExpectedVarName
LazMethodList | Load_TrueType_OS2 | lrsScannerInvalidChar
laz_minor | Load_trueType_Postscript | lrsScannerMalformedQName
laz_patch | Load_TrueType_Programs | lrsScannerUnclosedString
laz_release | logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lrsSize
LazStringUtils | logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lrsString
LazSysUtils | logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lrsUnableToCreateConfigDirectoryS
LazTracer | logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lrsVarNoConversion
LazUnicode | logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | LUIncreaseChangeStamp
LazUTF16 | logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | LUIncreaseChangeStamp64
LazUTF8 | Long | LUInvalidChangeStamp
LazUTF8Classes | LongHexStr | LUInvalidChangeStamp64
LazUTF8SysUtils | LookupStringList | lwtNone
LazUtilities | LookUp_TrueType_Table | lwtStdErr
LazUtils | lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml | lwtStdOut
LazUtilsStrConsts | lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml2 | lwtTextFile
LazVersion | lrsADirectoryComponentInIsNotADirectory |
laz_version | lrsADirectoryComponentInIsNotADirectory2 |

M

MacintoshToUTF8 | mbYes | mrClose
MapReport | mbYesToAll | mrIgnore
Maps | mcAnyChar | mrLast
Masks | mcAnyText | mrNo
MatchesMask | mcChar | mrNone
MatchesMaskList | mcCharSet | mrNoToAll
MatchesWindowsMask | MemSizeFPList | mrOK
MatchesWindowsMaskList | MemSizeString | mrRetry
MaxCodeRanges | MergeCmdLineParams | mrYes
mbAbort | MergeSortWithLen | mrYesToAll
mbAll | MergeWithDelimiter | mtConfirmation
mbCancel | MinimizeSearchPath | mtCustom
mbClose | MissingBits | mtError
mbHelp | moCaseSensitive | mtInformation
mbIgnore | ModalResultStr | mtWarning
mbNo | moDisableSets | MulDiv
mbNoToAll | mrAbort | MulDiv_Round
mbOK | mrAll | MulTo64
mbRetry | mrCancel |

N

NamePages | NormalizeEncoding | ns_0B00
NAMESPACE_ERR | NormalizeSpaces | ns_0C00
namingBitmap | NOTATION_NODE | ns_0D00
NeedRTLAnsi | NOT_FOUND_ERR | ns_0E00
New_Context | NOT_SUPPORTED_ERR | ns_0F00
nfDestroying | NowUTC | ns_3000
nfIgnorableWS | NowUTC | ns_ASCII
nfLevel2 | ns_0200 | ntAnyNode
nfReadonly | ns_0300 | ntAnyPrincipal
nfRecycled | ns_0400 | ntCommentNode
nfSpecified | ns_0500 | ntName
NilThenReleaseRef | ns_0600 | ntPINode
NO_DATA_ALLOWED_ERR | ns_0900 | ntTextNode
NO_MODIFICATION_ALLOWED_ERR | ns_0A00 |

O

ObjectLists | opAdd | opMod
OnFileAgeCached | opAnd | opMultiply
OnFileExistsCached | opDivide | opNotEqual
OnInvalidateFileStateCache | opEqual | opOr
OnWidgetSetDbgOut | opGreater | opSubtract
OnWidgetSetDbgOut | opGreaterEqual | Order32
OnWidgetSetDebugLn | opLess | Order64
OnWidgetSetDebugLn | opLessEqual |

P

P2Pointer | pfeException | PRawImagePosition
Panic1 | pfeOriginal | PrepareCmdLineOption
ParamStrUTF8 | PFont_Input | PROCESSING_INSTRUCTION_NODE
PascalFileExt | PGaspRanges | ProfileList_AppendToList
PascalSourceExt | PGlyph | ProfileList_Count
PasWString | PGlyph_Transform | ProfileList_Init
PathDelimSwitchToDelim | PGlyph_Zone | ProfileList_InsertFirstElement
PathIsInPath | PGraphicsState | ProfileList_Remove
PBezierStack | PHandle | ProfileList_SortByStart
PBreakPoint | PHashItem | ProfileList_SortByX
PByte | PHashItemArray | ProfileList_Split
PCache | PHdmx_Record | ProgramDirectory
PCache_Class | PHdmx_Records | ProgramDirectoryWithBundle
PCallStack | PInstance | PShort
PCharSet | PLazLoggerLogGroup | PStorage
PCMap2SubHeaders | PLazLoggerLogGroup | PStringHashItem
PCMap4Segments | PLazLoggerLogGroup | PStringHashItemList
PCMapDirEntries | PLineInfoCacheItem | PStringMapItem
PCMapTable | PList_Element | PStringToPointerTreeItem
PCMapTables | PLong | PStringToStringItem
PCodeRange | PMapID | PSubglyph_Record
PCoordinates | PMapItem | PSubglyph_Stack
PDefArray | PMapLink | PTableDir
PDefRecord | PModalResult | PTableDirEntries
PDOMString | PName_Record | PTableLongMetrics
pdsNone | PName_Records | PTableShortMetrics
pdsSystem | PName_Table | PTextLineRange
pdsUnix | PNodePoolArray | PTouchTable
pdsWindows | PoolIdleCapacity | PtrInt
PDynamicQueueItem | PoolMaxCapacity | PtrInt
PDynHashArrayItem | PPHashItem | PTTCHeader
PExec_Context | PPointerToPointerItem | PTT_Gray_Palette
PExpHashEntryArray | PRangeRec | PULong
PExtent | PRawImage | PUShort
PFace | PRawImageDescription | PXMLUtilChar
pfeEmpty | PRawImageLineStarts | PXMLUtilString

R

RaiseAndCatchException | RegisterDefinePropertiesPas | rileDWordBoundary
RaiseGDBException | ReleaseRefAndNil | rileQWordBoundary
RawImageQueryFlagsToString | RemoveDirUTF8 | rileTight
ReadAllLinks | RenameFileUTF8 | rileWordBoundary
ReadDTDFile | ReplaceSubstring | riloBottomToTop
ReadDTDFile | ResolveDots | riloTopToBottom
ReadFileToString | riboBitsInOrder | riqfAlpha
ReadXMLFile | riboLSBFirst | riqfGrey
ReadXMLFile | riboMSBFirst | riqfMask
ReadXMLFragment | riboReversedBits | riqfMono
ReadXMLFragment | ricfGray | riqfPalette
RecreateDebugLogger | ricfNone | riqfRGB
RecreateDebugLogger | ricfRGBA | riqfUpdate
Register | rileByteBoundary | RunCmdFromPath
RegisterDecoder | rileDQWordBoundary | Run_Ins

S

SamePChar | sffFile | StringCase
SaveStringsToFileUTF8 | sffFindProgramInPath | StringHashList
SaveStringToStringTree | sffSearchLoUpCase | StringListPartToText
sBadFormatFlag | sFormatFlag | StringListToString
Scale_X | sFuzzyFlag | StringListToText
Scale_Y | Short | StringOfCodePoint
SearchAllFilesInPath | ShortDisplayFilename | StringToStringList
SearchFileInPath | ShortHexStr | StripLN
Set_Break | SimpleSyntaxToRegExpr | StrLScan
Set_CodeRange | SingleByteToUTF8 | stRsj
SetCurrentDirUTF8 | sNoFormatFlag | stRst
SetDebugLogger | SpecialCharsToHex | StrToCmdLineParam
SetDebugLogger | SpecialCharsToSpaces | StrToWord
SetDebugLogger | SplitCmdLine | StrToXMLValue
SetDebugLoggerGroups | SplitCmdLineParams | StylesToArray
SetDebugLoggerGroups | SplitString | Success
SetDefaultFreeTypeFontCollection | Sqrt32 | SwapCase
SetNeedRTLAnsi | Sqrt64 | SwitchPathDelims
SetPasWidestringManager | StackTraceAsString | SYNTAX_ERR
sffDequoteSearchPath | stduri_xml | SysErrorMessageUTF8
sffDontSearchInBasePath | stduri_xmlns | SystemCharSetIsUTF8
sffExecutable | stLrj | SysToUTF8

T

T2Pointer | tkLessEqual | TT_Err_File_Is_Not_Collection
TabsToSpaces | tkMinus | TT_Err_Header_Table_Missing
TAttrDataType | tkNotEqual | TT_Err_Hmtx_Table_Missing
TAttrDefault | tkNSNameTest | TT_Err_Horiz_Header_Missing
TAttributeAction | tkNumber | TT_Err_Interpolate_Twilight
TAvgLvlObjectSortCompare | tkPipe | TT_Err_Invalid_Argument
TAvgLvlTree | tkPlus | TT_Err_Invalid_Cache_List
TAvgLvlTreeClass | tkRightBracket | TT_Err_Invalid_CharMap_Format
TAvgLvlTreeNode | tkRightSquareBracket | TT_Err_Invalid_CharMap_Handle
TAvgLvlTreeNodeEnumerator | tkSlash | TT_Err_Invalid_CodeRange
TAxis | tkSlashSlash | TT_Err_Invalid_Composite
TBaseMap | tkString | TT_Err_Invalid_Displacement
TBaseMapIterator | tkVariable | TT_Err_Invalid_Distance
TBezierStack | TLazDebugLoggerCreator | TT_Err_Invalid_Engine
TBinding | TLazDebugLoggerCreator | TT_Err_Invalid_Extension_Id
TBreakPoint | TLazFixedRoundBufferListMemBase | TT_Err_Invalid_Face_Handle
TByteArray | TLazFPGHashTable | TT_Err_Invalid_File_Format
TByteList | TLazHTGNode | TT_Err_Invalid_File_Offset
TCache | TLazIntfImageGetPixelAtProc | TT_Err_Invalid_File_Read
TCache_Class | TLazIntfImageSetPixelAtProc | TT_Err_Invalid_Frame_Access
TCallRecord | TLazListClassesInternalMem | TT_Err_Invalid_Glyph_Handle
TCallStack | TLazListClassesItemSize | TT_Err_Invalid_Glyph_Index
TCardinalList | TLazListClassesVarItemSize | TT_Err_Invalid_Horiz_Metrics
TCharPosition | TLazLogger | TT_Err_Invalid_Instance_Handle
TCharSet | TLazLogger | TT_Err_Invalid_Opcode
TCharToUTF8Table | TLazLoggerBlockHandler | TT_Err_Invalid_Reference
TCMap0 | TLazLoggerBlockHandler | TT_Err_Invalid_Result_Address
TCMap2 | TLazLoggerBlockMemWatch | TT_Err_Invalid_Value
TCMap2SubHeader | TLazLoggerBlockTimer | TT_Err_Invalid_Vert_Metrics
TCMap2SubHeaders | TLazLoggerFile | TT_Err_Locations_Missing
TCMap4 | TLazLoggerFileHandle | TT_Err_Max_Profile_Missing
TCMap4Segment | TLazLoggerFileHandleMainThread | TT_Err_Name_Table_Missing
TCMap4Segments | TLazLoggerFileHandleThreadSave | TT_Err_Nested_DEFs
TCMap6 | TLazLoggerLogEnabled | TT_Err_Nested_Frame_Access
TCMapDir | TLazLoggerLogEnabled | TT_Err_No_Vertical_Data
TCMapDirEntries | TLazLoggerLogGroup | TT_Err_Ok
TCMapDirEntry | TLazLoggerLogGroup | TTError
TCMapTable | TLazLoggerLogGroupFlag | TT_Error
TCMapTables | TLazLoggerLogGroupFlag | TT_Err_OS2_Table_Missing
TCodePointEnumerator | TLazLoggerLogGroupFlags | TT_Err_Out_Of_CodeRanges
TCodeRange | TLazLoggerLogGroupFlags | TT_Err_Out_Of_Memory
TCodeRangeTable | TLazLoggerLogGroupList | TT_Err_Post_Table_Missing
TCommentType | TLazLoggerLogGroupList | TT_Err_Raster_Negative_Height
TCommentTypes | TLazLoggerNoOutput | TT_Err_Raster_Not_Initialised
TCompareMemSize | TLazLoggerWidgetSetWriteEvent | TT_Err_Raster_Pool_Overflow
TCompWriterPas | TLazLoggerWithGroupParam | TT_Err_Stack_Overflow
TConfigMemStorage | TLazLoggerWriteEvent | TT_Err_Storage_Overflow
TConfigMemStorageModification | TLazLoggerWriteEvent | TT_Err_Table_Missing
TConfigMemStorageNode | TLazLoggerWriteTarget | TT_Err_Too_Few_Arguments
TConfigStorage | TLazMonitor | TT_Err_Too_Many_Contours
TConfigStorageClass | TLazPagedListObj | TT_Err_Too_Many_Extensions
TConstructor | TLazPagedListObjBase | TT_Err_Too_Many_FuncDefs
TConvertEncodingErrorMode | TLazPagedListObjParent | TT_Err_Too_Many_Ins
TConvertEncodingFunction | TLazRoundBufferListObj | TT_Err_Too_Many_InsDefs
TConvertOption | TLazRoundBufferListObjBase | TT_Err_Too_Many_Points
TConvertOptions | TLazRoundBufferListObjGen | TT_Err_UNlisted_Object
TConvertResult | TLazShiftBufferList | TTextLineRange
TConvertUTF8ToEncodingFunc | TLazShiftBufferListGen | TTextStrings
TCoordinates | TLazShiftBufferListObj | TT_F26Dot6
TCopyFileFlag | TLazShiftBufferListObjBase | TT_F2Dot14
TCopyFileFlags | TLazShiftBufferListObjGen | TT_Face
TCSVEncoding | TLazStorageMemGrowProc | TT_Face_Properties
TCSVRecordProc | TLazStorageMemShrinkProc | TTFile
TCurveDirection | TLazThreadedQueue | TTFile_Done
TCustomFamilyCollectionItem | TLineInfoCacheItem | TTFile_Init
TCustomFontCollectionItem | TLinkList | TT_Fixed
TCustomFreeTypeFontCollection | TLinkListItem | TT_Flag_On_Curve
TCustomMemoStrings | TListDirectoriesSearcher | TT_Flow_Down
TCustomStringMap | TList_Element | TT_Flow_Up
TCustomStringMapEnumerator | TListFileSearcher | TT_Flush_Stream
TCWPChildrenStep | TLongMetrics | TT_FWord
TCWPDefinePropertiesEvent | TLookupStringList | TT_Get_CharMap
TCWPDefinePropertiesProc | TMap | TT_Get_CharMap_Count
TCWPFindAncestorEvent | TMapID | TT_Get_CharMap_ID
TCWPGetMethodName | TMapIdType | TTGetDefaultRasterizer
TCWPGetParentPropertyEvent | TMapItem | TT_Get_Face_Pointer
TCWPOption | TMapIterator | TT_Get_Face_Properties
TCWPOptions | TMapLink | TT_Get_Font_Data
TDblHashArray | TMarkRecord | TT_Get_Glyph_Big_Metrics
TDecoder | TMask | TT_Get_Glyph_Bitmap
TDefArray | TMaskChar | TT_Get_Glyph_Metrics
TDefRecord | TMaskCharType | TT_Get_Glyph_Outline
TDestructor | TMaskList | TT_Get_Glyph_Pixmap
TDirectoryEnterEvent | TMaskOption | TT_Get_Glyph_Pixmap_HQ
TDirectoryFoundEvent | TMaskOptions | TT_Get_Instance_Metrics
TDirectRenderingFunction | TMaskString | TT_Get_Instance_Pointer
TDOMAttr | TMaxProfile | TT_Get_KerningInfo
TDOMAttr | TMemoryStreamUTF8 | TT_Get_Metrics
TDOMAttrDef | TMemStreamSeekType | TT_Get_Name_Count
TDOMCDATASection | TMethodList | TT_Get_Name_ID
TDOMCDATASection | TModalResult | TT_Get_Name_String
TDOMCharacterData | TMove_Function | TT_Get_Outline_BBox
TDOMCharacterData | TMsgDlgBtn | TT_Get_Outline_Bitmap
TDOMComment | TMsgDlgButtons | TT_Get_Outline_Pixmap
TDOMComment | TMsgDlgType | TT_Get_Outline_Pixmap_HQ
TDOMDocument | TName_Record | TTGLoad
TDOMDocument | TName_Records | TT_Glyph
TDOMDocumentFragment | TNamespaceInfo | TT_Glyph_Metrics
TDOMDocumentFragment | TNamespaces | TT_Gray_Palette
TDOMDocumentType | TName_Table | TT_Header
TDOMDocumentType | TNodeFlagEnum | TT_Horizontal_Header
TDOMElement | TNodeFlags | TT_Init_FreeType
TDOMElement | TNodePool | TT_Instance
TDOMElementList | TNodePoolArray | TT_Instance_Metrics
TDOMEntity | TNodeSet | TT_Int
TDOMEntity | TNodeTestType | TTInterp
TDOMEntityReference | TNSSupport | TT_KerningInfo
TDOMEntityReference | TObjectArray | TTLoad
TDOMImplementation | Toggle_Break | TT_Load_Debug
TDOMImplementation | toInvalidCharError | TT_Load_Default
TDOMNamedNodeMap | toInvalidCharToSymbol | TT_Load_Glyph
TDOMNamedNodeMap | TOnChangeFileStateTimeStamp | TT_Load_Hint_Glyph
TDOMNode | TOnEachHashItem | TT_Load_Scale_Glyph
TDOMNode | TOnExchangeItem | TT_Long
TDOMNodeAllChildEnumerator | TOnFileAgeCached | TT_Matrix
TDOMNodeClass | TOnFileExistsCached | TTMemory
TDOMNodeEnumerator | TOnGetKeyForHashItem | TTMemory_Done
TDOMNodeList | TOnNotifyItem | TTMemory_Init
TDOMNodeList | TOnRenderTextHandler | TT_New_Glyph
TDOMNode_NS | toUnfinishedCharError | TT_New_Instance
TDOMNode_WithChildren | toUnfinishedCharToSymbol | TT_New_Outline
TDOMNotation | TOwnerHashFunction | TTObjs
TDOMNotation | TParseStringList | TTObjs_Done
TDOMParseOptions | TPathDelimSwitch | TTObjs_Init
TDOMParser | TPhysicalFilenameOnError | TT_Open_Collection
TDOMProcessingInstruction | TPOFile | TT_Open_Face
TDOMProcessingInstruction | TPOFileItem | TT_Open_Stream
TDOMText | TPoint | TT_OS2
TDOMText | TPointerPointerArray | TT_Outline
TDynamicDataQueue | TPointerToPointerEnumerator | TT_PConStarts
TDynamicQueueItem | TPointerToPointerItem | TT_PCoordinates
TDynHashArray | TPointerToPointerTree | TT_Points
TDynHashArrayItem | TProcessUTF8 | TT_Points_Table
TDynHashArrayItemMemManager | TProfile | TT_Pos
TDynHashArrayOption | TProfileCollection | TT_Postscript
TDynHashArrayOptions | TProject_Function | TTProfile
TError | Trace1 | TT_PTouchTable
TErrorSeverity | TRangeRec | TTranslateUnitResult
TEscapeMode | TranslateResourceStrings | TTranslationStatistics
TExec_Context | TranslateUnitResourceStrings | TTRASTER
TExpHashEntry | TranslateUTF8Chars | TTRaster_Done
TExpHashEntryArray | Translations | TTRaster_Init
TExtendedStringList | TRawImage | TT_Raster_Map
TExtent | TRawImageBitOrder | TT_Render_Directly_Glyph_Gray
TEXT_NODE | TRawImageByteOrder | TT_Render_Directly_Glyph_HQ
TextStrings | TRawImageColorFormat | TT_Render_Directly_Outline_Gray
TExtStringsOption | TRawImageDescription | TT_Render_Directly_Outline_HQ
TExtStringsOptions | TRawImageLineEnd | TT_Set_Face_Pointer
TextToSingleLine | TRawImageLineOrder | TT_Set_Instance_CharSize
TFace | TRawImageLineStarts | TT_Set_Instance_CharSizes
TFamilyCollectionItem | TRawImagePosition | TT_Set_Instance_PixelSizes
TFileFoundEvent | TRawImageQueryFlag | TT_Set_Instance_Pointer
TFileIterator | TRawImageQueryFlags | TT_Set_Instance_PointSize
TFilenameToPointerTree | trDestExhausted | TT_Set_Instance_Resolutions
TFilenameToStringTree | TRefCntObjList | TT_Set_Instance_Transforms
TFileSearcher | TRefCountedObject | TT_Set_Raster_Palette
TFileStateCache | TRenderPool | TT_Short
TFileStateCacheItem | TrimAndExpandDirectory | TT_Stream
TFileStateCacheItemFlag | TrimAndExpandFilename | TT_Stream_Size
TFileStateCacheItemFlags | TrimFilename | TTTables
TFileStreamUTF8 | trInvalidChar | TTTCHeader
TFilterResult | trNoError | TT_TouchTable
TFontCollectionItem | trNullDest | TT_Transform_Outline
TFontCollectionItemDestroyListener | trNullSrc | TT_Transform_Vector
TFontCollectionItemDestroyProc | TRound_Function | TT_Translate_Outline
TFont_Input | TRttiXMLConfig | TTTypes
TFPImageFreeTypeDrawer | TRttiXMLConfig | TT_UFWord
TFPImageWithScanlineFreeTypeDrawer | trUnfinishedChar | TT_ULong
TFPList | TryCreateRelativePath | TT_UnitVector
TFPList | TryReadAllLinks | TT_Use_Stream
TFPMemoryImageWithScanline | TSearchFileInPathFlag | TT_UShort
TFreeNotifyingObject | TSearchFileInPathFlags | TT_Vector
TFreeTypeAlignment | TSetOfByte | TT_Vertical_Header
TFreeTypeAlignments | TSetOfChar | TTypedMap
TFreeTypeCustomRasterizer | TShortArray | TTypedMapIterator
TFreeTypeDrawer | TShortMetrics | TUnicodeCharacterEnumerator
TFreeTypeFont | TSingle_List | TUnicodeEnumeratorBase
TFreeTypeFontCollection | TStackTracePointers | TUnicodeToCharID
TFreeTypeGlyph | TStep | turEmptyParam
TFreeTypeGrayscaleMap | TStorage | turNoFBLang
TFreeTypeInformation | TStreamSeekType | turNoLang
TFreeTypeKerning | TStringHashItem | turOK
TFreeTypeMonochromeMap | TStringHashList | TUShortArray
TFreeTypeRasterizer | TStringListUTF8 | TUtf8Char
TFreeTypeRasterMap | TStringMap | TUTF8TrimFlag
TFreeTypeRenderableFont | TStringMapEnumerator | TUTF8TrimFlags
TFreeTypeStream | TStringMapItem | TVecRecord
TFreeTypeStyle | TStringsType | TWordList
TFreeTypeStyles | TStringToPointerTree | TXMLConfig
TFreeTypeWordBreakHandler | TStringToPointerTreeEnumerator | TXMLConfig
TFunc_Get_CVT | TStringToPointerTreeItem | TXMLContextAction
TFunc_Set_CVT | TStringToStringItem | TXMLDocument
TGasp | TStringToStringTree | TXMLErrorEvent
TGaspRange | TStringToStringTreeEnumerator | TXMLInputSource
TGaspRanges | TSubglyph_Record | TXMLObjectReader
TGetDecoderProc | TSubglyph_Stack | TXMLObjectReaderClass
TGlyph | TTableDir | TXMLObjectWriter
TGlyphRenderQuality | TTableDirEntries | TXMLObjectWriterClass
TGlyph_Transform | TTableDirEntry | TXMLObjectWriterStackEl
TGlyph_Zone | TTableLongMetrics | TXMLObjectWriterStackElType
TGraphicsBevelCut | TTableShortMetrics | TXMLReaderFlag
TGraphicsColor | TT_BBox | TXMLReaderFlags
TGraphicsDrawEffect | TT_Big_Glyph_Metrics | TXMLUtilChar
TGraphicsFillStyle | TTCache | TXMLUtilString
TGraphicsState | TTCache_Done | TXMLWriterFlag
THashForEach | TTCache_Init | TXMLWriterFlags
THashFunction | TTCalc | TXPathBinaryNode
THashItem | TT_Char_Index | TXPathBooleanOp
THashItemArray | TT_CharMap | TXPathBooleanOpNode
THashTable | TT_Clone_Outline | TXPathBooleanVariable
THdmx | TT_Close_Face | TXPathCompareNode
THdmx_Record | TT_Close_Stream | TXPathCompareOp
THdmx_Records | TTCMap | TXPathConstantNode
Throw_Range | TT_CodeRange_Cvt | TXPathContext
THTML2TextRenderer | TT_CodeRange_Font | TXPathEnvironment
TIndexedAVLTree | TT_CodeRange_Glyph | TXPathExpression
TIndexedAVLTreeNode | TT_ConStarts | TXPathExprNode
TIns_Metrics | TT_Coordinates | TXPathFilterNode
TInstance | TT_Copy_Outline | TXPathFunction
TInt64List | TTDebug | TXPathFunctionNode
TIntegerList | TT_Done_FreeType | TXPathKeyword
TInvalidateFileStateCacheEvent | TT_Done_Glyph | TXPathMathOp
tkAsterisk | TT_Done_Instance | TXPathMathOpNode
tkAt | TT_Done_Outline | TXPathNegationNode
tkColonColon | TT_Done_Stream | TXPathNodeArray
tkComma | TT_Err_Bad_Argument | TXPathNodeSetVariable
tkDot | TT_Err_CMap_Table_Missing | TXPathNSResolver
tkDotDot | TT_Err_Code_Overflow | TXPathNumberVariable
tkEndOfStream | TT_Err_Could_Not_Find_Context | TXPathScanner
tkEqual | TT_Err_Could_Not_Open_File | TXPathStringVariable
tkGreater | TT_Err_Cvt_Overflow | TXPathToken
tkGreaterEqual | TT_Err_Debug_Opcode | TXPathUnionNode
tkIdentifier | TT_Err_Divide_By_Zero | TXPathVariable
tkInvalid | TT_Err_ENDF_In_Exec_Stream | TXPathVariableNode
tkLeftBracket | TT_Err_Execution_Too_Long | TXPathVarList
tkLeftSquareBracket | TT_Err_Extensions_Unsupported |
tkLess | TT_Err_File_Error |

U

u8tKeepControlCodes | UTF8CodepointSize | UTF8ToCP1251
u8tKeepEnd | UTF8CodepointSizeFast | UTF8ToCP1252
u8tKeepLineBreaks | UTF8CodepointStart | UTF8ToCP1253
u8tKeepNoBreakSpaces | UTF8CodepointStrictSize | UTF8ToCP1254
u8tKeepStart | UTF8CodepointToByteIndex | UTF8ToCP1255
u8tKeepTabs | UTF8CodepointToUnicode | UTF8ToCP1256
UCS2BEToUTF8 | UTF8CompareStr | UTF8ToCP1257
UCS2LEToUTF8 | UTF8CompareStrCollated | UTF8ToCP1258
UITypes | UTF8CompareStrP | UTF8ToCP437
ULong | UTF8CompareText | UTF8ToCP850
UnicodeLowercase | UTF8Copy | UTF8ToCP852
UnicodeToUTF16 | UTF8CStringToUTF8String | UTF8ToCP866
UnicodeToUTF8 | UTF8Delete | UTF8ToCP874
UnicodeToUTF8Inline | UTF8EndsText | UTF8ToCP932
UnicodeToUTF8SkipErrors | Utf8EscapeControlChars | UTF8ToCP936
UnicodeToWinCP | UTF8FileHeader | UTF8ToCP949
UnregisterDefinePropertiesPas | UTF8FindNearestCharStart | UTF8ToCP950
UpdatePoFile | UTF8FixBroken | UTF8ToDBCS
UpdatePoFileTranslations | UTF8Insert | UTF8ToDoubleByte
UShort | UTF8LeftStr | UTF8ToDoubleByteString
UTF16BEBOM | UTF8Length | UTF8ToISO_8859_1
UTF16CharacterLength | UTF8LengthFast | UTF8ToISO_8859_15
UTF16CharacterToUnicode | UTF8LowerCase | UTF8ToISO_8859_2
UTF16CharStart | UTF8LowerString | UTF8ToKOI8R
UTF16Copy | UTF8PadCenter | UTF8ToKOI8RU
UTF16LEBOM | UTF8PadLeft | UTF8ToKOI8U
UTF16Length | UTF8PadRight | UTF8ToMacintosh
UTF16Pos | UTF8Pos | UTF8ToSingleByte
Utf16StringReplace | UTF8PosP | UTF8ToSys
UTF16ToUTF8 | UTF8Process | UTF8ToSystemCharSet
UTF32BEBOM | UTF8ProperCase | UTF8ToUCS2BE
UTF32LEBOM | UTF8QuotedStr | UTF8ToUCS2LE
UTF8AddChar | UTF8ReverseString | UTF8ToUTF16
UTF8AddCharR | UTF8RightStr | UTF8ToUTF8BOM
UTF8BOM | UTF8RPos | UTF8ToWinCP
UTF8BOMToUTF8 | UTF8StartsText | UTF8Trim
UTF8CharacterLength | UTF8StringOfChar | Utf8TryFindCodepointStart
UTF8CharacterStrictLength | UTF8StringReplace | UTF8UpperCase
UTF8CharacterToUnicode | UTF8SwapCase | UTF8UpperString
UTF8CharStart | UTF8ToConsole | UTF8WrapText
UTF8CharToByteIndex | UTF8ToCP1250 |

W

WinCPToUnicode | WriteComponentToXMLStream | WriteXMLFile
WinCPToUTF8 | WriteXML | WRONG_DOCUMENT_ERR
Word32 | WriteXML |
WriteComponentToPasStream | WriteXMLFile |

X

xaAppendAsChildren | xkFollowingSibling | xkStartsWith
xaInsertAfter | xkId | xkString
xaInsertBefore | xkLang | xkStringLength
xaReplace | xkLast | xkSubstring
xaReplaceChildren | xkLocalName | xkSubstringAfter
xkAncestor | xkMod | xkSubstringBefore
xkAncestorOrSelf | xkName | xkSum
xkAnd | xkNamespace | xkText
xkAttribute | xkNamespaceUri | xkTranslate
xkBoolean | xkNode | xkTrue
xkCeiling | xkNone | Xml11HighPages
xkChild | xkNormalizeSpace | Xml11NamePages
xkComment | xkNot | XMLValueToStr
xkConcat | xkNumber | xrfAllowLowerThanInAttributeValue
xkContains | xkOr | xrfAllowSpecialCharsInAttributeValue
xkCount | xkParent | xrfAllowSpecialCharsInComments
xkDescendant | xkPosition | xrfOldXMLRead
xkDescendantOrSelf | xkPreceding | xrfPreserveWhiteSpace
xkDiv | xkPrecedingSibling | XUStrLIComp
xkFalse | xkProcessingInstruction | xwfOldXMLWrite
xkFloor | xkRound | xwfPreserveWhiteSpace
xkFollowing | xkSelf | xwfSpecialCharsInAttributeValue


Class hierarchy

  • TObject
    • TAvlTree
      • TAvgLvlTree (AvgLvlTree)
        • TIndexedAVLTree (AvgLvlTree)
    • TAvlTreeNode
      • TIndexedAVLTreeNode (AvgLvlTree)
    • TBaseMapIterator (Maps)
      • TMapIterator (Maps)
      • TTypedMapIterator (Maps)
    • TBinding (laz2_xmlutils)
    • TByteList (IntegerList)
    • TCardinalList (IntegerList)
    • TCompWriterPas (CompWriterPas)
    • TConfigMemStorageNode (LazConfigStorage)
    • TConfigStorage (LazConfigStorage)
      • TConfigMemStorage (LazConfigStorage)
    • TCustomFamilyCollectionItem (EasyLazFreeType)
      • TFamilyCollectionItem (LazFreeTypeFontCollection)
    • TCustomFontCollectionItem (EasyLazFreeType)
      • TFontCollectionItem (LazFreeTypeFontCollection)
    • TCustomFreeTypeFontCollection (EasyLazFreeType)
      • TFreeTypeFontCollection (LazFreeTypeFontCollection)
    • TCustomStringMap (AvgLvlTree)
      • TStringMap (AvgLvlTree)
      • TStringToPointerTree (AvgLvlTree)
        • TFilenameToPointerTree (AvgLvlTree)
      • TStringToStringTree (AvgLvlTree)
        • TFilenameToStringTree (AvgLvlTree)
    • TCustomStringMapEnumerator (AvgLvlTree)
      • TStringMapEnumerator (AvgLvlTree)
        • TStringToPointerTreeEnumerator (AvgLvlTree)
      • TStringToStringTreeEnumerator (AvgLvlTree)
    • TDblHashArray (laz2_xmlutils)
    • TDOMImplementation (Laz2_DOM)
    • TDOMNamedNodeMap (Laz2_DOM)
    • TDOMNode (Laz2_DOM)
      • TDOMCharacterData (Laz2_DOM)
        • TDOMComment (Laz2_DOM)
        • TDOMText (Laz2_DOM)
          • TDOMCDATASection (Laz2_DOM)
      • TDOMDocumentType (Laz2_DOM)
      • TDOMNode_WithChildren (Laz2_DOM)
        • TDOMDocument (Laz2_DOM)
          • TXMLDocument (Laz2_DOM)
        • TDOMDocumentFragment (Laz2_DOM)
        • TDOMEntity (Laz2_DOM)
        • TDOMEntityReference (Laz2_DOM)
        • TDOMNode_NS (Laz2_DOM)
          • TDOMAttr (Laz2_DOM)
            • TDOMAttrDef (Laz2_DOM)
          • TDOMElement (Laz2_DOM)
      • TDOMNotation (Laz2_DOM)
      • TDOMProcessingInstruction (Laz2_DOM)
    • TDOMNodeAllChildEnumerator (Laz2_DOM)
    • TDOMNodeEnumerator (Laz2_DOM)
    • TDOMNodeList (Laz2_DOM)
      • TDOMElementList (Laz2_DOM)
    • TDOMParseOptions (laz2_XMLRead)
    • TDOMParser (laz2_XMLRead)
    • TDynamicDataQueue (DynQueue)
    • TDynHashArray (DynHashArray)
    • TDynHashArrayItemMemManager (DynHashArray)
    • TFileIterator (FileUtil)
      • TFileSearcher (FileUtil)
        • TListDirectoriesSearcher (FileUtil)
        • TListFileSearcher (FileUtil)
    • TFileStateCache (LazFileCache)
    • TFileStateCacheItem (LazFileCache)
    • TFPMemoryImage
      • TFPMemoryImageWithScanline (LazFreeTypeFPImageDrawer)
    • TFreeNotifyingObject (LazClasses)
      • TRefCountedObject (LazClasses)
        • TLazLogger (LazLoggerBase)
          • TLazLoggerNoOutput (LazLoggerBase)
          • TLazLoggerWithGroupParam (LazLoggerBase)
            • TLazLoggerFile (LazLogger)
        • TLazLogger (LazLoggerDummy)
        • TLazLoggerBlockHandler (LazLoggerBase)
          • TLazLoggerBlockMemWatch (LazLoggerProfiling)
          • TLazLoggerBlockTimer (LazLoggerProfiling)
        • TLazLoggerLogGroupList (LazLoggerDummy)
        • TLazLoggerLogGroupList (LazLoggerBase)
    • TFreeTypeCustomRasterizer (TTTypes)
      • TFreeTypeRasterizer (TTRASTER)
    • TFreeTypeDrawer (EasyLazFreeType)
      • TFPImageFreeTypeDrawer (LazFreeTypeFPImageDrawer)
        • TFPImageWithScanlineFreeTypeDrawer (LazFreeTypeFPImageDrawer)
    • TFreeTypeGlyph (EasyLazFreeType)
    • TFreeTypeRasterMap (EasyLazFreeType)
      • TFreeTypeGrayscaleMap (EasyLazFreeType)
      • TFreeTypeMonochromeMap (EasyLazFreeType)
    • TFreeTypeRenderableFont (EasyLazFreeType)
      • TFreeTypeFont (EasyLazFreeType)
    • TFreeTypeStream (TTFile)
    • THashTable (laz2_xmlutils)
    • THTML2TextRenderer (HTML2TextRender)
    • TInt64List (IntegerList)
    • TIntegerList (IntegerList)
    • TLazLoggerBlockHandler (LazLoggerDummy)
    • TLazLoggerFileHandle (LazLogger)
      • TLazLoggerFileHandleMainThread (LazLogger)
      • TLazLoggerFileHandleThreadSave (LazLogger)
    • TLazShiftBufferList (LazListClasses)
    • TLazShiftBufferListGen (LazListClasses)
    • TLazThreadedQueue (lazCollections)
    • TLinkList (LazLinkedList)
    • TLinkListItem (LazLinkedList)
    • TMask (Masks)
    • TMaskList (Masks)
    • TMethodList (LazMethodList)
    • TNodePool (Laz2_DOM)
    • TNSSupport (laz2_xmlutils)
    • TObject
      • TSynchroObject
        • TCriticalSection
          • TLazMonitor (lazCollections)
    • TObject
      • TAbstractObjectWriter
        • TXMLObjectWriter (Laz_XMLStreaming)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMNotFound (Laz2_DOM)
    • TObject
      • Exception
        • EFreeType (EasyLazFreeType)
    • TObject
      • THTCustomNode
        • TLazHTGNode (lazfglhash)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMSyntax (Laz2_DOM)
    • TObject
      • TPersistent
        • TComponent
          • TProcess
            • TProcessUTF8 (UTF8Process)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMInUseAttribute (Laz2_DOM)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMIndexSize (Laz2_DOM)
    • TObject
      • TPersistent
        • TComponent
          • TXMLConfig (Laz2_XMLCfg)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
    • TObject
      • TPersistent
        • TBaseMap (Maps)
          • TTypedMap (Maps)
    • TObject
      • Exception
        • EXMLReadError (laz2_XMLRead)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMNamespace (Laz2_DOM)
    • TObject
      • TPersistent
        • TStrings
          • TStringList
            • TStringListUTF8 (LazUTF8Classes)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMHierarchyRequest (Laz2_DOM)
    • TObject
      • TPersistent
        • TComponent
          • TXMLConfig (Laz2_XMLCfg)
            • TRttiXMLConfig (Laz2_XMLCfg)
    • TObject
      • TPersistent
        • TStrings
          • TStringList
            • TLookupStringList (LookupStringList)
    • TObject
      • Exception
        • EDynHashArrayException (DynHashArray)
    • TObject
      • TList
        • TRefCntObjList (LazClasses)
    • TObject
      • TPersistent
        • TStrings
          • TCustomMemoStrings (TextStrings)
            • TTextStrings (TextStrings)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMInvalidAccess (Laz2_DOM)
    • TObject
      • TPersistent
        • TBaseMap (Maps)
          • TMap (Maps)
    • TObject
      • Exception
        • EArray (DynamicArray)
    • TObject
      • Exception
        • EXPathEvaluationError (laz2_xpath)
    • TObject
      • TPersistent
        • TStrings
          • TStringList
            • TExtendedStringList (ExtendedStrings)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMInvalidState (Laz2_DOM)
    • TObject
      • TPersistent
        • TStrings
          • TCustomMemoStrings (TextStrings)
    • TObject
      • TAbstractObjectReader
        • TXMLObjectReader (Laz_XMLStreaming)
    • TObject
      • TPersistent
        • TStrings
          • TStringList
            • TParseStringList (Masks)
    • TObject
      • TStream
        • TCustomMemoryStream
          • TMemoryStream
            • TMemoryStreamUTF8 (LazUTF8Classes)
    • TObject
      • TPersistent
        • TBaseMap (Maps)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMWrongDocument (Laz2_DOM)
    • TObject
      • Exception
        • EPOFileError (Translations)
    • TObject
      • TFPCustomHashTable
        • TLazFPGHashTable (lazfglhash)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMNotSupported (Laz2_DOM)
    • TObject
      • Exception
        • EDOMError (Laz2_DOM)
          • EDOMInvalidModification (Laz2_DOM)
    • TObjectArray (ObjectLists)
    • TPOFile (Translations)
    • TPOFileItem (Translations)
    • TPointerPointerArray (DynamicArray)
    • TPointerToPointerEnumerator (AvgLvlTree)
    • TPointerToPointerTree (AvgLvlTree)
    • TProfile (TTProfile)
    • TProfileCollection (TTProfile)
    • TRenderPool (TTProfile)
    • TStringHashList (StringHashList)
    • TUnicodeEnumeratorBase (LazUnicode)
      • TCodePointEnumerator (LazUnicode)
      • TUnicodeCharacterEnumerator (LazUnicode)
    • TWordList (IntegerList)
    • TXMLInputSource (laz2_XMLRead)
    • TXMLObjectWriterStackEl (Laz_XMLStreaming)
    • TXPathContext (laz2_xpath)
    • TXPathEnvironment (laz2_xpath)
    • TXPathExpression (laz2_xpath)
    • TXPathExprNode (laz2_xpath)
      • TXPathBinaryNode (laz2_xpath)
        • TXPathBooleanOpNode (laz2_xpath)
        • TXPathCompareNode (laz2_xpath)
        • TXPathMathOpNode (laz2_xpath)
        • TXPathUnionNode (laz2_xpath)
      • TXPathConstantNode (laz2_xpath)
      • TXPathFilterNode (laz2_xpath)
        • TStep (laz2_xpath)
      • TXPathFunctionNode (laz2_xpath)
      • TXPathNegationNode (laz2_xpath)
      • TXPathVariableNode (laz2_xpath)
    • TXPathNSResolver (laz2_xpath)
    • TXPathScanner (laz2_xpath)
    • TXPathVariable (laz2_xpath)
      • TXPathBooleanVariable (laz2_xpath)
      • TXPathNodeSetVariable (laz2_xpath)
      • TXPathNumberVariable (laz2_xpath)
      • TXPathStringVariable (laz2_xpath)


Reference for unit 'AvgLvlTree'

An Average Level Tree structure, which is kept balanced so that finding a node is very rapid

uses
Classes,
sysutils,
Laz_AVL_Tree,
LazFileUtils, | Contains types, procedures, and functions used for file and directory operations
LazDbgLog; |

Overview

Defines classes that use TAvlTree for data storage, and enumerators for them. TAvlTree is an Average Level binary Tree, located in unit AVL_Tree in FPC packages.


Reference for unit 'AvgLvlTree': Types

PPointerToPointerItem | PPointerToPointerItem - a pointer to a TPointerToPointerItem
PStringMapItem |
PStringToPointerTreeItem |
PStringToStringItem |
TAvgLvlObjectSortCompare |
TAvgLvlTreeClass |
TAvgLvlTreeNode | TAvgLvlTreeNode - a node, the basic structural element of a TAvgLvlTree
TAvgLvlTreeNodeEnumerator |
TPointerToPointerItem | TPointerToPointerItem - an item in a PointerToPointer Tree (associative array)
TStringMapItem |
TStringToPointerTreeItem |
TStringToStringItem |


Reference for unit 'AvgLvlTree': Classes

TAvgLvlTree | TAvgLvlTree - an Average Level binary Tree
TCustomStringMap |
TCustomStringMapEnumerator |
TFilenameToPointerTree |
TFilenameToStringTree | TStringToStringTree - an associative array of StringToString Items, or a tree of trees
TIndexedAVLTree | TAvgLvlTree - an Average Level binary Tree
TIndexedAVLTreeNode |
TPointerToPointerEnumerator |
TPointerToPointerTree | TPointerToPointerTreeis an associative array of PointerToPointer Items, or a tree of trees
TStringMap |
TStringMapEnumerator |
TStringToPointerTree |
TStringToPointerTreeEnumerator |
TStringToStringTree |
TStringToStringTreeEnumerator |


Reference for unit 'AvgLvlTree': Procedures and functions

CompareAnsiStringWithStrToStrItem

CompareAnsiStringWithStrToStrItemI

CompareFilenameAndFilenameToStringTreeItem

CompareFilenameAndFilenameToStringTreeItemI

CompareFilenameToStringItems

CompareFilenameToStringItemsI

ComparePointer

ComparePointerToPointerItems

ComparePointerWithPtrToPtrItem

CompareStringToStringItems

CompareStringToStringItemsI


Index of all identifiers in unit 'AvgLvlTree'

C P T

C

CompareAnsiStringWithStrToStrItem | CompareFilenameToStringItems | ComparePointerWithPtrToPtrItem
CompareAnsiStringWithStrToStrItemI | CompareFilenameToStringItemsI | CompareStringToStringItems
CompareFilenameAndFilenameToStringTreeItem | ComparePointer | CompareStringToStringItemsI
CompareFilenameAndFilenameToStringTreeItemI | ComparePointerToPointerItems |

P

PPointerToPointerItem | PStringToPointerTreeItem
PStringMapItem | PStringToStringItem

T

TAvgLvlObjectSortCompare | TFilenameToStringTree | TStringMapItem
TAvgLvlTree | TIndexedAVLTree | TStringToPointerTree
TAvgLvlTreeClass | TIndexedAVLTreeNode | TStringToPointerTreeEnumerator
TAvgLvlTreeNode | TPointerToPointerEnumerator | TStringToPointerTreeItem
TAvgLvlTreeNodeEnumerator | TPointerToPointerItem | TStringToStringItem
TCustomStringMap | TPointerToPointerTree | TStringToStringTree
TCustomStringMapEnumerator | TStringMap | TStringToStringTreeEnumerator
TFilenameToPointerTree | TStringMapEnumerator |


PPointerToPointerItem

PPointerToPointerItem - a pointer to a TPointerToPointerItem

Declaration

Source position: avglvltree.pas line 88

type PPointerToPointerItem = ^TPointerToPointerItem;


PStringMapItem

Declaration

Source position: avglvltree.pas line 140

type PStringMapItem = ^TStringMapItem;


PStringToPointerTreeItem

Declaration

Source position: avglvltree.pas line 260

type PStringToPointerTreeItem = ^TStringToPointerTreeItem;


PStringToStringItem

Declaration

Source position: avglvltree.pas line 216

type PStringToStringItem = ^TStringToStringItem;


TAvgLvlObjectSortCompare

Declaration

Source position: avglvltree.pas line 30

type TAvgLvlObjectSortCompare = function(

  Tree: TAvgLvlTree;

  Data1: Pointer;

  Data2: Pointer

):Integer of object;


TPointerToPointerItem

TPointerToPointerItem - an item in a PointerToPointer Tree (associative array)

Declaration

Source position: avglvltree.pas line 84

type TPointerToPointerItem = record
Key: Pointer; | The Key defining the pointer item
Value: Pointer; | The Value of the pointer item
end;


TStringMapItem

Declaration

Source position: avglvltree.pas line 137

type TStringMapItem = record

  Name: string;

end;


TStringToPointerTreeItem

Declaration

Source position: avglvltree.pas line 256

type TStringToPointerTreeItem = record

  Name: string;

  Value: Pointer;

end;


TStringToStringItem

Declaration

Source position: avglvltree.pas line 212

type TStringToStringItem = record

  Name: string;

  Value: string;

end;


CSPDefaultAccessClass

Default class name used to access protected TComponent members

Declaration

Source position: compwriterpas.pas line 56

const CSPDefaultAccessClass = 'TPasStreamAccess';


CSPDefaultAssignOp

Default value for the AssignOp property in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 60

const CSPDefaultAssignOp = ':=';


CSPDefaultExecCustomProc

Default value for the ExecCustomProc property in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 57

const CSPDefaultExecCustomProc = 'ExecCustomCSP';


CSPDefaultExecCustomProcUnit

Default value for the ExecCustomProcUnit property in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 58

const CSPDefaultExecCustomProcUnit = 'LazPasReadUtil';


CSPDefaultMaxColumn

Default value for the MaxColumn property in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 59

const CSPDefaultMaxColumn = 80;


CSPDefaultSignature

Default signature written before serialized component data

Declaration

Source position: compwriterpas.pas line 53

const CSPDefaultSignature = '// Component serialized as Pascal';


CSPDefaultSignatureBegin

Default begin signature written before a serialized component

Declaration

Source position: compwriterpas.pas line 54

const CSPDefaultSignatureBegin = CSPDefaultSignature + ' - Begin';


CSPDefaultSignatureEnd

Default end signature written after a serialized component

Declaration

Source position: compwriterpas.pas line 55

const CSPDefaultSignatureEnd = CSPDefaultSignature + ' - End';


CSPVersion

Component Serialization to Pascal version

Declaration

Source position: compwriterpas.pas line 52

const CSPVersion = 1;


CWPSkipParentName

Parent property name to skip when writing component data

Declaration

Source position: compwriterpas.pas line 61

const CWPSkipParentName = '-';


Reference for unit 'CompWriterPas'

Contains types, classes, and rotuinees used to serialize components into Pascal code

uses
Classes,
sysutils,
typinfo,
RtlConsts,
contnrs,
LazLoggerBase, |
LazUTF8; | Number of characters (codepoints) to get from the string

Overview

The following features and functionality are currently implemented:

  • signature begin, end, versionli
  • boolean, set of boolean
  • char, widechar, custom char, set of custom char
  • integers, custom int, set of custom int
  • strings, codepage system and UTF8
  • float, currency
  • enum, custom enum range
  • set of enum, set of custom enum range
  • variant: integers, boolean, string, floats, currency
  • method
  • persistent
  • component children, use SetParentComponent or optional Parent
  • collection
  • IInterfaceComponentReference
  • with ancestor
  • ancestor: change ComponentIndex -> call SetChildPos
  • reference foreign root, reference foreign component
  • create components before setting properties to avoid having to set references later
  • inline component, csInline, call SetInline, inherited inline, inline on inherited
  • TComponent.Left/Right via DesignInfo
  • DefineProperties
  • RegisterDefinePropertiesPas

TCompWriterPas is used in the implementation of the TCustomFormEditor class in the Lazarus IDE.

Author: Mattias Gaertner


Reference for unit 'CompWriterPas': Constants

CSPDefaultAccessClass | Default class name used to access protected TComponent members
CSPDefaultAssignOp | Default value for the AssignOp property in TCompWriterPas
CSPDefaultExecCustomProc | Default value for the ExecCustomProc property in TCompWriterPas
CSPDefaultExecCustomProcUnit | Default value for the ExecCustomProcUnit property in TCompWriterPas
CSPDefaultMaxColumn | Default value for the MaxColumn property in TCompWriterPas
CSPDefaultSignature | Default signature written before serialized component data
CSPDefaultSignatureBegin | Default begin signature written before a serialized component
CSPDefaultSignatureEnd | Default end signature written after a serialized component
CSPVersion | Component Serialization to Pascal version
CWPSkipParentName | Parent property name to skip when writing component data


Reference for unit 'CompWriterPas': Types

TCWPChildrenStep |
TCWPDefinePropertiesEvent |
TCWPDefinePropertiesProc |
TCWPFindAncestorEvent | Specifies an event handler used to find ancestor class in TCompWriterPas
TCWPGetMethodName | Specifies an event handler used to get property information and an identifer name for a property
TCWPGetParentPropertyEvent | Specifies an event handler used to get a parent property name for a component instance
TCWPOption | Enumeration which defines options available in TCompWriterPas
TCWPOptions | Set type used to stores values from the TCWPOption enumeration


Reference for unit 'CompWriterPas': Classes

TCompWriterPas

Serializes a component to Pascal code


Reference for unit 'CompWriterPas': Procedures and functions

CallDefinePropertiesPas

RegisterDefinePropertiesPas

UnregisterDefinePropertiesPas

WriteComponentToPasStream


Index of all identifiers in unit 'CompWriterPas'

C R T U W

C

CallDefinePropertiesPas | CSPDefaultSignatureBegin | cwpoNoSignature
CSPDefaultAccessClass | CSPDefaultSignatureEnd | cwpoNoWithBlocks
CSPDefaultAssignOp | CSPVersion | cwpoSetParentFirst
CSPDefaultExecCustomProc | cwpcsCreate | cwpoSrcCodepageUTF8
CSPDefaultExecCustomProcUnit | cwpcsProperties | CWPSkipParentName
CSPDefaultMaxColumn | cwpoNoFinalLineBreak |
CSPDefaultSignature | cwpoNoSelf |

R

RegisterDefinePropertiesPas

T

TCompWriterPas | TCWPDefinePropertiesProc | TCWPGetParentPropertyEvent
TCWPChildrenStep | TCWPFindAncestorEvent | TCWPOption
TCWPDefinePropertiesEvent | TCWPGetMethodName | TCWPOptions

U

UnregisterDefinePropertiesPas

W

WriteComponentToPasStream


TCWPChildrenStep

Declaration

Source position: compwriterpas.pas line 83

type TCWPChildrenStep = (

  cwpcsCreate,

  cwpcsProperties

);


TCWPDefinePropertiesEvent

Declaration

Source position: compwriterpas.pas line 70

type TCWPDefinePropertiesEvent = procedure(

  Writer: TCompWriterPas;

  Instance: TPersistent;

  const Identifier: string;

  var Handled: Boolean

) of object;


TCWPDefinePropertiesProc

Declaration

Source position: compwriterpas.pas line 204

type TCWPDefinePropertiesProc = procedure(

  Sender: TCompWriterPas;

  Instance: TPersistent;

  const Identifier: string;

  var Handled: Boolean

);


TCWPFindAncestorEvent

Specifies an event handler used to find ancestor class in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 64

type TCWPFindAncestorEvent = procedure(

  Writer: TCompWriterPas;

  Component: TComponent;

  const Name: string;

  var Ancestor: TComponent;

  var RootAncestor: TComponent

) of object;


TCWPGetMethodName

Specifies an event handler used to get property information and an identifer name for a property

Declaration

Source position: compwriterpas.pas line 66

type TCWPGetMethodName = procedure(

  Writer: TCompWriterPas;

  Instance: TPersistent;

  PropInfo: PPropInfo;

  out Name: string

) of object;


TCWPGetParentPropertyEvent

Specifies an event handler used to get a parent property name for a component instance

Declaration

Source position: compwriterpas.pas line 68

type TCWPGetParentPropertyEvent = procedure(

  Writer: TCompWriterPas;

  Component: TComponent;

  var PropName: string

) of object;


TCWPOption

Enumeration which defines options available in TCompWriterPas

Declaration

Source position: compwriterpas.pas line 73

type TCWPOption = (
cwpoNoSignature, | Do not write Begin, End signatures
cwpoNoSelf, | Enclose in "with LookupRootname do begin"
cwpoSetParentFirst, | Add "SetParentComponent" before setting properties, default: after
cwpoSrcCodepageUTF8, | Target unit uses $codepage utf-8, aka do not convert UTF-8 string literals
cwpoNoWithBlocks, | Do not use with ... do
cwpoNoFinalLineBreak | Do not include a final line break at the end of the serialized component data
);


TCWPOptions

Set type used to stores values from the TCWPOption enumeration

Declaration

Source position: compwriterpas.pas line 81

type TCWPOptions = set of (
cwpoNoSignature, | Do not write Begin, End signatures
cwpoNoSelf, | Enclose in "with LookupRootname do begin"
cwpoSetParentFirst, | Add "SetParentComponent" before setting properties, default: after
cwpoSrcCodepageUTF8, | Target unit uses $codepage utf-8, aka do not convert UTF-8 string literals
cwpoNoWithBlocks, | Do not use with ... do
cwpoNoFinalLineBreak | Do not include a final line break at the end of the serialized component data
);


Reference for unit 'DynamicArray'

uses

  Classes,

  sysutils;


Reference for unit 'DynamicArray': Types

TOnExchangeItem

TOnNotifyItem


Reference for unit 'DynamicArray': Classes

EArray

TPointerPointerArray


Index of all identifiers in unit 'DynamicArray'

E T

E

EArray

T

TOnExchangeItem TOnNotifyItem TPointerPointerArray


TOnExchangeItem

Declaration

Source position: dynamicarray.pas line 29

type TOnExchangeItem = procedure(

  Sender: TObject;

  Index: Integer;

  WithIndex: Integer

) of object;


TOnNotifyItem

Declaration

Source position: dynamicarray.pas line 28

type TOnNotifyItem = procedure(

  Sender: TObject;

  Col: Integer;

  Row: Integer;

  var Item: Pointer

) of object;


Reference for unit 'DynHashArray'

uses

  Classes,

  sysutils,

  LazLoggerBase;


Reference for unit 'DynHashArray': Constants

ItemMemManager


Reference for unit 'DynHashArray': Types

PDynHashArrayItem

TDynHashArrayItem

TDynHashArrayOption

TDynHashArrayOptions

THashFunction

TOnEachHashItem

TOnGetKeyForHashItem

TOwnerHashFunction


Reference for unit 'DynHashArray': Classes

EDynHashArrayException

TDynHashArray

TDynHashArrayItemMemManager


Index of all identifiers in unit 'DynHashArray'

D E I P T

D

dhaoCacheContains dhaoCachingEnabled

E

EDynHashArrayException

I

ItemMemManager

P

PDynHashArrayItem

T

TDynHashArray | TDynHashArrayOption | TOnEachHashItem
TDynHashArrayItem | TDynHashArrayOptions | TOnGetKeyForHashItem
TDynHashArrayItemMemManager | THashFunction | TOwnerHashFunction


ItemMemManager

Declaration

Source position: dynhasharray.pp line 166

const ItemMemManager: TDynHashArrayItemMemManager = Nil;


PDynHashArrayItem

Declaration

Source position: dynhasharray.pp line 58

type PDynHashArrayItem = ^TDynHashArrayItem;


TDynHashArrayOption

Declaration

Source position: dynhasharray.pp line 65

type TDynHashArrayOption = (

  dhaoCachingEnabled,

  dhaoCacheContains

);


TDynHashArrayOptions

Declaration

Source position: dynhasharray.pp line 66

type TDynHashArrayOptions = set of (

  dhaoCachingEnabled,

  dhaoCacheContains

);


THashFunction

Declaration

Source position: dynhasharray.pp line 53

type THashFunction = function(

  Sender: TDynHashArray;

  Item: Pointer

):Integer;


TOnEachHashItem

Declaration

Source position: dynhasharray.pp line 56

type TOnEachHashItem = function(

  Sender: TDynHashArray;

  Item: Pointer

):Boolean;


TOnGetKeyForHashItem

Declaration

Source position: dynhasharray.pp line 55

type TOnGetKeyForHashItem = function(

  Item: pointer

):pointer;


TOwnerHashFunction

Declaration

Source position: dynhasharray.pp line 54

type TOwnerHashFunction = function(

  Item: Pointer

):Integer of object;


Reference for unit 'DynQueue'

uses

  Classes,

  sysutils,

  LazLoggerBase;


Reference for unit 'DynQueue': Types

ListOfPDynamicQueueItem

PDynamicQueueItem

TDynamicQueueItem


Reference for unit 'DynQueue': Classes

TDynamicDataQueue


Index of all identifiers in unit 'DynQueue'

L P T

L

ListOfPDynamicQueueItem

P

PDynamicQueueItem

T

TDynamicDataQueue TDynamicQueueItem


ListOfPDynamicQueueItem

Declaration

Source position: dynqueue.pas line 29

type ListOfPDynamicQueueItem = ^PDynamicQueueItem;


PDynamicQueueItem

Declaration

Source position: dynqueue.pas line 28

type PDynamicQueueItem = ^TDynamicQueueItem;


TDynamicQueueItem

Declaration

Source position: dynqueue.pas line 24

type TDynamicQueueItem = record

  Size: Integer;

  Data: array [0..0] of Integer;

end;


ArrayOfCharPosition

Declaration

Source position: easylazfreetype.pas line 33

type ArrayOfCharPosition = array of TCharPosition;


ArrayOfFontCollectionItemDestroyListener

Declaration

Source position: easylazfreetype.pas line 70

type ArrayOfFontCollectionItemDestroyListener = array of TFontCollectionItemDestroyListener;


ArrayOfSingle

Declaration

Source position: easylazfreetype.pas line 28

type ArrayOfSingle = array of single;


ArrayOfString

Declaration

Source position: easylazfreetype.pas line 425

type ArrayOfString = array of string;


FontCollection

Declaration

Source position: easylazfreetype.pas line 422

var FontCollection: TCustomFreeTypeFontCollection = ;


FreeTypeInformationStr

Declaration

Source position: easylazfreetype.pas line 46

const FreeTypeInformationStr: array [TFreeTypeInformation] of string = ('Copyright notice', 'Family', 'Style', 'Identifier', 'Full name', 'Version string', 'Postscript name', 'Trademark', 'Manufacturer', 'Designer', 'Vendor URL', 'Designer URL', 'License description', 'License info URL');


FreeTypeMinPointSize

Declaration

Source position: easylazfreetype.pas line 429

const FreeTypeMinPointSize = 1;


Reference for unit 'EasyLazFreeType'

uses
Classes,
sysutils,
fpimage,
Laz_AVL_Tree,
LazUTF8, | Number of characters (codepoints) to get from the string
LazFreeType, |
TTRASTER, |
TTTypes, |
Types;


Reference for unit 'EasyLazFreeType': Constants

FreeTypeInformationStr

FreeTypeMinPointSize


Reference for unit 'EasyLazFreeType': Types

ArrayOfCharPosition

ArrayOfFontCollectionItemDestroyListener

ArrayOfSingle

ArrayOfString

TCharPosition

TFontCollectionItemDestroyListener

TFontCollectionItemDestroyProc

TFreeTypeAlignment

TFreeTypeAlignments

TFreeTypeInformation

TFreeTypeKerning

TFreeTypeStyle

TFreeTypeStyles

TFreeTypeWordBreakHandler

TGlyphRenderQuality

TOnRenderTextHandler


Reference for unit 'EasyLazFreeType': Classes

EFreeType

IFreeTypeFamilyEnumerator

IFreeTypeFontEnumerator

TCustomFamilyCollectionItem

TCustomFontCollectionItem

TCustomFreeTypeFontCollection

TFreeTypeDrawer

TFreeTypeFont

TFreeTypeGlyph

TFreeTypeGrayscaleMap

TFreeTypeMonochromeMap

TFreeTypeRasterMap

TFreeTypeRenderableFont


Reference for unit 'EasyLazFreeType': Procedures and functions

FontCollectionItemDestroyListener

StylesToArray


Reference for unit 'EasyLazFreeType': Variables

FontCollection


Index of all identifiers in unit 'EasyLazFreeType'

A E F G I S T

A

ArrayOfCharPosition | ArrayOfSingle
ArrayOfFontCollectionItemDestroyListener | ArrayOfString

E

EFreeType

F

FontCollection | ftaTop | ftiManufacturer
FontCollectionItemDestroyListener | ftaVerticalCenter | ftiPostscriptName
FreeTypeInformationStr | ftiCopyrightNotice | ftiStyle
FreeTypeMinPointSize | ftiDesigner | ftiTrademark
ftaBaseline | ftiDesignerURL | ftiVendorURL
ftaBottom | ftiFamily | ftiVersionString
ftaCenter | ftiFullName | ftsBold
ftaJustify | ftiIdentifier | ftsItalic
ftaLeft | ftiLicenseDescription |
ftaRight | ftiLicenseInfoURL |

G

grqHighQuality grqLowQuality grqMonochrome

I

IFreeTypeFamilyEnumerator IFreeTypeFontEnumerator

S

StylesToArray

T

TCharPosition | TFreeTypeDrawer | TFreeTypeRenderableFont
TCustomFamilyCollectionItem | TFreeTypeFont | TFreeTypeStyle
TCustomFontCollectionItem | TFreeTypeGlyph | TFreeTypeStyles
TCustomFreeTypeFontCollection | TFreeTypeGrayscaleMap | TFreeTypeWordBreakHandler
TFontCollectionItemDestroyListener | TFreeTypeInformation | TGlyphRenderQuality
TFontCollectionItemDestroyProc | TFreeTypeKerning | TOnRenderTextHandler
TFreeTypeAlignment | TFreeTypeMonochromeMap |
TFreeTypeAlignments | TFreeTypeRasterMap |


TCharPosition

Declaration

Source position: easylazfreetype.pas line 29

type TCharPosition = record

  x: single;

  width: single;

  yTop: single;

  yBase: single;

  yBottom: single;

end;


TFontCollectionItemDestroyListener

Declaration

Source position: easylazfreetype.pas line 62

type TFontCollectionItemDestroyListener = record

  TargetObject: TObject;

  NotifyProc: TFontCollectionItemDestroyProc;

end;


TFontCollectionItemDestroyProc

Declaration

Source position: easylazfreetype.pas line 61

type TFontCollectionItemDestroyProc = procedure of object;


TFreeTypeAlignment

Declaration

Source position: easylazfreetype.pas line 34

type TFreeTypeAlignment = (

  ftaLeft,

  ftaCenter,

  ftaRight,

  ftaJustify,

  ftaTop,

  ftaVerticalCenter,

  ftaBaseline,

  ftaBottom

);


TFreeTypeAlignments

Declaration

Source position: easylazfreetype.pas line 35

type TFreeTypeAlignments = set of (

  ftaLeft,

  ftaCenter,

  ftaRight,

  ftaJustify,

  ftaTop,

  ftaVerticalCenter,

  ftaBaseline,

  ftaBottom

);


TFreeTypeInformation

Declaration

Source position: easylazfreetype.pas line 37

type TFreeTypeInformation = (

  ftiCopyrightNotice,

  ftiFamily,

  ftiStyle,

  ftiIdentifier,

  ftiFullName,

  ftiVersionString,

  ftiPostscriptName,

  ftiTrademark,

  ftiManufacturer,

  ftiDesigner,

  ftiVendorURL,

  ftiDesignerURL,

  ftiLicenseDescription,

  ftiLicenseInfoURL

);


TFreeTypeKerning

Declaration

Source position: easylazfreetype.pas line 54

type TFreeTypeKerning = record

  Kerning: TPointF;

  Minimum: TPointF;

  Found: Boolean;

end;


TFreeTypeStyle

Declaration

Source position: easylazfreetype.pas line 41

type TFreeTypeStyle = (

  ftsBold,

  ftsItalic

);


TFreeTypeStyles

Declaration

Source position: easylazfreetype.pas line 42

type TFreeTypeStyles = set of (

  ftsBold,

  ftsItalic

);


TFreeTypeWordBreakHandler

Declaration

Source position: easylazfreetype.pas line 43

type TFreeTypeWordBreakHandler = procedure(

  var ABefore: string;

  var AAfter: string

) of object;


TGlyphRenderQuality

Declaration

Source position: easylazfreetype.pas line 27

type TGlyphRenderQuality = (

  grqMonochrome,

  grqLowQuality,

  grqHighQuality

);


TOnRenderTextHandler

Declaration

Source position: easylazfreetype.pas line 168

type TOnRenderTextHandler = procedure(

  AText: string;

  x: single;

  y: single

) of object;


Reference for unit 'ExtendedStrings'

uses

  Classes,

  sysutils;


Reference for unit 'ExtendedStrings': Types

TExtStringsOption

TExtStringsOptions


Reference for unit 'ExtendedStrings': Classes

TExtendedStringList


Index of all identifiers in unit 'ExtendedStrings'

E T

E

esoClearRecordsOnCreate esoFreeObjectsOnDelete

T

TExtendedStringList TExtStringsOption TExtStringsOptions


TExtStringsOption

Declaration

Source position: extendedstrings.pas line 30

type TExtStringsOption = (

  esoClearRecordsOnCreate,

  esoFreeObjectsOnDelete

);


TExtStringsOptions

Declaration

Source position: extendedstrings.pas line 34

type TExtStringsOptions = set of (

  esoClearRecordsOnCreate,

  esoFreeObjectsOnDelete

);


AllDirectoryEntriesMask

File masked used to match all directories entries

Declaration

Source position: fileutil.pas line 215

const AllDirectoryEntriesMask = '*';


FilenamesCaseSensitive

When True, uppercase and lowercase file names are treated as equivalent

Declaration

Source position: fileutil.pas line 43

const FilenamesCaseSensitive = True;

Description

The value is determined by the presence of the CaseInsensitiveFilenames compiler define.


FilenamesLiteral

When True, file names can be compared using the = string operator

Declaration

Source position: fileutil.pas line 44

const FilenamesLiteral = True;

Description

The value is determined by the presence of the NotLiteralFilenames compiler define.


Reference for unit 'FileUtil'

Miscellaneous procedures, functions, types, and classes for manipulating files and file names

uses
Classes,
sysutils,
StrUtils,
Masks, | This unit contains classes for mask matching.
LazUTF8, | Number of characters (codepoints) to get from the string
LazFileUtils; | Contains types, procedures, and functions used for file and directory operations

Overview

This unit contains functions, procedures, types, and classes used to maintain compatibility with the FileUtil unit in Delphi. File routines that deal with UTF-8 file names are located in the LazFileUtils unit.

File name handling in the unit is platform- or OS-specific. For the Windows, Darwin (MacOS), and Amiga platforms, file names are NOT case sensitive. In addition, under Darwin, the NotLiteralFilenames define is enabled. This indicates that file names cannot be compared using the = string operator.

This unit contains basic functions similar to those in the RTL, but use UTF-8 instead of the defauilt system encoding. Please note that AnsiToUTF8 and UTF8ToAnsi need a widestring manager under Linux, BSD, and MacOSX. Normally these OS's use UTF-8 as system encoding so the WideStringManager is not needed.


Reference for unit 'FileUtil': Constants

AllDirectoryEntriesMask | File masked used to match all directories entries
FilenamesCaseSensitive | When True, uppercase and lowercase file names are treated as equivalent
FilenamesLiteral | When True, file names can be compared using the = string operator
PascalFileExt | PascalFileExt - typically '.pas', '.pp' or '.p'
PascalSourceExt | An array of file extensions considered to be Pascal source code
sffFindProgramInPath |
UTF8FileHeader | Byte Order Mark (BOM) used at the beginning of UTF-8-encoded files


Reference for unit 'FileUtil': Types

TCopyFileFlag

TCopyFileFlags

TDirectoryEnterEvent

TDirectoryFoundEvent

TFileFoundEvent

TSearchFileInPathFlag

TSearchFileInPathFlags


Reference for unit 'FileUtil': Classes

TFileIterator | Class for getting info about found file or directory.
TFileSearcher | Class for searching files
TListDirectoriesSearcher | Stores directory names matching a search criteria in a TStrings class instance
TListFileSearcher | Stores file matching a search criteria in a TStrings class instance


Reference for unit 'FileUtil': Procedures and functions

CompareFilenames | CompareFileNames - compares two file names to see whether they are equal
ComparePhysicalFilenames |
CopyDirTree |
CopyFile | CopyFile - copies Source file to Destination file, optionally preserving the timestamp of the original file
CreateAbsolutePath | Deprecated
CreateAbsoluteSearchPath | CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files
DeleteDirectory | DeleteDirectory - Delete the named directory (or only its contents if OnlyChildren is True)
ExpandUNCFileNameUTF8 |
ExtractFileNameWithoutExt | ExtractFileNameWithoutExt - returns just the name of the file without an extension
ExtractShortPathNameUTF8 |
FileIsInDirectory | FileIsInDirectory - checks whether a file with FileName exists within the given Directory
FileIsInPath | FileIsInPath - checks that FileName refers to a file that exists within the given Path
FilenameIsPascalUnit | FilenameIsPascalUnit - checks that the supplied name is a correct Pascal unit name
FileSize | FileSize - finds the size of the named file
FindAllDirectories | Stores directory names matching the search criteria in a TStringList class instance
FindAllFiles | Returns the list of files in the specified path matching the search criteria
FindDefaultExecutablePath | FindDefaultExecutablePath - finds the default path to the named Executable file
FindDiskFileCaseInsensitive | FindDiskFileCaseInsensitive - searches for the given FileName in a case insensitive manner
FindDiskFilename | FindDiskFilename - finds the file that best fits the supplied filename
GetAllFilesMask | File mask representing all files suitable for showing in a file filter.
GetExeExt | GetExeExt - find the correct extension (including the starting .) for an executable file
ProgramDirectory | ProgramDirectory - returns the directory in which the currently running program resides
ProgramDirectoryWithBundle |
ReadFileToString | ReadFileToString - returns a string with the contents of the named file
SearchAllFilesInPath | SearchAllFilesInPath - searches for all files named Filename in the given SearchPath using the supplied BasePath with the specified Delimiter and the options listed in Flags
SearchFileInPath | SearchFileInPath - searches for Filename in the given SearchPath using the supplied BasePath with the specified Delimiter and the options listed in Flags


Index of all identifiers in unit 'FileUtil'

A C D E F G P R S T U

A

AllDirectoryEntriesMask

C

cffCreateDestDirectory | CompareFilenames | CopyFile
cffOverwriteFile | ComparePhysicalFilenames | CreateAbsolutePath
cffPreserveTime | CopyDirTree | CreateAbsoluteSearchPath

D

DeleteDirectory

E

ExpandUNCFileNameUTF8 ExtractFileNameWithoutExt ExtractShortPathNameUTF8

F

FileIsInDirectory | FilenamesLiteral | FindDefaultExecutablePath
FileIsInPath | FileSize | FindDiskFileCaseInsensitive
FilenameIsPascalUnit | FindAllDirectories | FindDiskFilename
FilenamesCaseSensitive | FindAllFiles |

G

GetAllFilesMask GetExeExt

P

PascalFileExt | ProgramDirectory
PascalSourceExt | ProgramDirectoryWithBundle

R

ReadFileToString

S

SearchAllFilesInPath | sffDontSearchInBasePath | sffFindProgramInPath
SearchFileInPath | sffExecutable | sffSearchLoUpCase
sffDequoteSearchPath | sffFile |

T

TCopyFileFlag | TFileFoundEvent | TListFileSearcher
TCopyFileFlags | TFileIterator | TSearchFileInPathFlag
TDirectoryEnterEvent | TFileSearcher | TSearchFileInPathFlags
TDirectoryFoundEvent | TListDirectoriesSearcher |

U

UTF8FileHeader


PascalFileExt

PascalFileExt - typically '.pas', '.pp' or '.p'

Declaration

Source position: fileutil.pas line 212

const PascalFileExt: array [1..3] of string = ('.pas', '.pp', '.p');


PascalSourceExt

An array of file extensions considered to be Pascal source code

Declaration

Source position: fileutil.pas line 213

const PascalSourceExt: array [1..6] of string = ('.pas', '.pp', '.p', '.lpr', '.dpr', '.dpk');


sffFindProgramInPath

Declaration

Source position: fileutil.pas line 87

const sffFindProgramInPath = [sffFile, sffExecutable];


TCopyFileFlag

Declaration

Source position: fileutil.pas line 197

type TCopyFileFlag = (

  cffOverwriteFile,

  cffCreateDestDirectory,

  cffPreserveTime

);


TCopyFileFlags

Declaration

Source position: fileutil.pas line 202

type TCopyFileFlags = set of (

  cffOverwriteFile,

  cffCreateDestDirectory,

  cffPreserveTime

);


TDirectoryEnterEvent

Declaration

Source position: fileutil.pas line 127

type TDirectoryEnterEvent = procedure(

  FileIterator: TFileIterator

) of object;


TDirectoryFoundEvent

Declaration

Source position: fileutil.pas line 126

type TDirectoryFoundEvent = procedure(

  FileIterator: TFileIterator

) of object;


TFileFoundEvent

Declaration

Source position: fileutil.pas line 125

type TFileFoundEvent = procedure(

  FileIterator: TFileIterator

) of object;


TSearchFileInPathFlag

Declaration

Source position: fileutil.pas line 78

type TSearchFileInPathFlag = (

  sffDontSearchInBasePath,

  sffSearchLoUpCase,

  sffFile,

  sffExecutable,

  sffDequoteSearchPath

);


TSearchFileInPathFlags

Declaration

Source position: fileutil.pas line 85

type TSearchFileInPathFlags = set of (

  sffDontSearchInBasePath,

  sffSearchLoUpCase,

  sffFile,

  sffExecutable,

  sffDequoteSearchPath

);


UTF8FileHeader

Byte Order Mark (BOM) used at the beginning of UTF-8-encoded files

Declaration

Source position: fileutil.pas line 42

const UTF8FileHeader = #$ef#$bb#$bf;


Reference for unit 'FPCAdds'

Contains additional types and routines not currently available in FPC

uses

  Classes,

  sysutils;

Overview

fpcadds.pas contains code in its initialization section to set the code page for conversions and the RTL file system to CP_UTF8. The initialization code is included only for platforms or OS-es where the RTL (Run-Time Library) is UTF-8-enabled.


Reference for unit 'FPCAdds': Types

PHandle | Type used for a pointer to a THandle type
TCompareMemSize | Alias to the PtrUInt type used when comparing memory blocks
TMemStreamSeekType | Alias to the PtrInt type used as the origin for TMemoryStream seek operations
TStreamSeekType | Alias to the Int64 type used as the origin for TStream seek operations


Reference for unit 'FPCAdds': Procedures and functions

AlignToInt | Aligns the specified pointer to the size of an Integer data type
AlignToPtr | Aligns the specified pointer to the boundaries required for the FPC compiler
StrToWord | Converts the value in a String to a Word data type


Index of all identifiers in unit 'FPCAdds'

A P S T

A

AlignToInt AlignToPtr

P

PHandle

S

StrToWord

T

TCompareMemSize TMemStreamSeekType TStreamSeekType


PHandle

Type used for a pointer to a THandle type

Declaration

Source position: fpcadds.pas line 24

type PHandle = ^THandle;

Description

Also defined in lcltype.pp.


TCompareMemSize

Alias to the PtrUInt type used when comparing memory blocks

Declaration

Source position: fpcadds.pas line 23

type TCompareMemSize = PtrUInt;

Description

Used in the implementation of TSynCustomExporter and TGraphic.


TMemStreamSeekType

Alias to the PtrInt type used as the origin for TMemoryStream seek operations

Declaration

Source position: fpcadds.pas line 22

type TMemStreamSeekType = PtrInt;

Description

Used in the implementation of TSynCustomExporter.


TStreamSeekType

Alias to the Int64 type used as the origin for TStream seek operations

Declaration

Source position: fpcadds.pas line 21

type TStreamSeekType = Int64;

Description

Used in the implementation of classes including:

  • TBitmap
  • TIcon
  • TSharedCursorImage
  • TImageList
  • TClipboard


DefaultByteOrder

Declaration

Source position: graphtype.pp line 248

const DefaultByteOrder = riboMSBFirst;


Reference for unit 'GraphType'

uses
Classes,
sysutils,
Types,
Math,
FPCAdds, | Contains additional types and routines not currently available in FPC
LazLoggerBase; |


Reference for unit 'GraphType': Constants

DefaultByteOrder


Reference for unit 'GraphType': Types

PRawImage

PRawImageDescription

PRawImageLineStarts

PRawImagePosition

TGraphicsBevelCut

TGraphicsColor

TGraphicsDrawEffect

TGraphicsFillStyle

TRawImageBitOrder

TRawImageByteOrder

TRawImageColorFormat

TRawImageLineEnd

TRawImageLineOrder

TRawImagePosition

TRawImageQueryFlag

TRawImageQueryFlags


Reference for unit 'GraphType': Classes

TRawImage

TRawImageDescription

TRawImageLineStarts


Reference for unit 'GraphType': Procedures and functions

CopyImageData

GetBitsPerLine

GetBytesPerLine

RawImageQueryFlagsToString


Reference for unit 'GraphType': Variables

MissingBits


Index of all identifiers in unit 'GraphType'

B C D F G M P R T

B

bvLowered | bvRaised
bvNone | bvSpace

C

CopyImageData

D

DefaultByteOrder

F

fsBorder fsSurface

G

gde1Bit | gdeNormal | GetBytesPerLine
gdeDisabled | gdeShadowed |
gdeHighlighted | GetBitsPerLine |

M

MissingBits

P

PRawImage | PRawImageLineStarts
PRawImageDescription | PRawImagePosition

R

RawImageQueryFlagsToString | rileByteBoundary | riqfAlpha
riboBitsInOrder | rileDQWordBoundary | riqfGrey
riboLSBFirst | rileDWordBoundary | riqfMask
riboMSBFirst | rileQWordBoundary | riqfMono
riboReversedBits | rileTight | riqfPalette
ricfGray | rileWordBoundary | riqfRGB
ricfNone | riloBottomToTop | riqfUpdate
ricfRGBA | riloTopToBottom |

T

TGraphicsBevelCut | TRawImageBitOrder | TRawImageLineOrder
TGraphicsColor | TRawImageByteOrder | TRawImageLineStarts
TGraphicsDrawEffect | TRawImageColorFormat | TRawImagePosition
TGraphicsFillStyle | TRawImageDescription | TRawImageQueryFlag
TRawImage | TRawImageLineEnd | TRawImageQueryFlags


MissingBits

Declaration

Source position: graphtype.pp line 261

var MissingBits: array [0..15] of array [0..7] of Word = ;


PRawImage

Declaration

Source position: graphtype.pp line 227

type PRawImage = ^TRawImage;


PRawImageDescription

Declaration

Source position: graphtype.pp line 183

type PRawImageDescription = ^TRawImageDescription;


PRawImageLineStarts

Declaration

Source position: graphtype.pp line 245

type PRawImageLineStarts = ^TRawImageLineStarts;


PRawImagePosition

Declaration

Source position: graphtype.pp line 193

type PRawImagePosition = ^TRawImagePosition;


TGraphicsBevelCut

Declaration

Source position: graphtype.pp line 41

type TGraphicsBevelCut = (

  bvNone,

  bvLowered,

  bvRaised,

  bvSpace

);


TGraphicsColor

Declaration

Source position: graphtype.pp line 35

type TGraphicsColor = - $7FFFFFFF - 1..$7FFFFFFF;


TGraphicsDrawEffect

Declaration

Source position: graphtype.pp line 48

type TGraphicsDrawEffect = (

  gdeNormal,

  gdeDisabled,

  gdeHighlighted,

  gdeShadowed,

  gde1Bit

);


TGraphicsFillStyle

Declaration

Source position: graphtype.pp line 36

type TGraphicsFillStyle = (

  fsSurface,

  fsBorder

);


TRawImageLineEnd

Declaration

Source position: graphtype.pp line 80

type TRawImageLineEnd = (

  rileTight,

  rileByteBoundary,

  rileWordBoundary,

  rileDWordBoundary,

  rileQWordBoundary,

  rileDQWordBoundary

);


TRawImageLineOrder

Declaration

Source position: graphtype.pp line 91

type TRawImageLineOrder = (

  riloTopToBottom,

  riloBottomToTop

);


TRawImagePosition

Declaration

Source position: graphtype.pp line 189

type TRawImagePosition = record

  Byte: PtrUInt;

  Bit: Cardinal;

end;


TRawImageQueryFlag

Declaration

Source position: graphtype.pp line 96

type TRawImageQueryFlag = (

  riqfMono,

  riqfGrey,

  riqfRGB,

  riqfAlpha,

  riqfMask,

  riqfPalette,

  riqfUpdate

);


TRawImageQueryFlags

Declaration

Source position: graphtype.pp line 105

type TRawImageQueryFlags = set of (

  riqfMono,

  riqfGrey,

  riqfRGB,

  riqfAlpha,

  riqfMask,

  riqfPalette,

  riqfUpdate

);


Reference for unit 'HTML2TextRender'

Contains an HTML-to-Text renderer

uses

  Classes,

  sysutils,

  LConvEncoding;

Used to perform conversions between Unicode and System Code Page encodings

Overview

html2textrender.pas contains an HTML-to-Text renderer. It converts HTML into plain text by converting tags and their attributes to a representation as plain text.


Reference for unit 'HTML2TextRender': Classes

THTML2TextRenderer


Index of all identifiers in unit 'HTML2TextRender'

T

T

THTML2TextRenderer


Reference for unit 'IntegerList'

Provides lists for Integer data types implemented using generics

uses

  fgl;

Overview

The classes provide the same methods and properties for Integer types as provided for Strings in TStringList. They provide an overloaded Sort method to ensure that the specialization types are handled in the methods.


Reference for unit 'IntegerList': Classes

TByteList | Implements a specialization of TFPGList for Byte data types
TCardinalList | Implements a specialization of TFPGList for Cardinal data types
TInt64List | Implements a specialization of TFPGList for Int64 data types
TIntegerList | Implements a specialization of TFPGList for Integer data types
TWordList | Implements a specialization of TFPGList for Word data types


Index of all identifiers in unit 'IntegerList'

T

T

TByteList | TInt64List | TWordList
TCardinalList | TIntegerList |


ATTRIBUTE_NODE

Represents the DOM Node Type for attributes

Declaration

Source position: laz2_dom.pas line 76

const ATTRIBUTE_NODE = 2;


CDATA_SECTION_NODE

Represents the DOM Node Type for CDATA nodes

Declaration

Source position: laz2_dom.pas line 78

const CDATA_SECTION_NODE = 4;


COMMENT_NODE

Represents the DOM Node Type for comments

Declaration

Source position: laz2_dom.pas line 82

const COMMENT_NODE = 8;


DOCUMENT_FRAGMENT_NODE

Represents the DOM Node Type for document fragments

Declaration

Source position: laz2_dom.pas line 85

const DOCUMENT_FRAGMENT_NODE = 11;


DOCUMENT_NODE

Represents the DOM Node Type for document elements

Declaration

Source position: laz2_dom.pas line 83

const DOCUMENT_NODE = 9;


DOCUMENT_TYPE_NODE

Represents the DOM Node Type for document type declarations

Declaration

Source position: laz2_dom.pas line 84

const DOCUMENT_TYPE_NODE = 10;


DOMChar

Type used for Char values in DOM interfaces

Declaration

Source position: laz2_dom.pas line 118

type DOMChar = Char;


DOMPChar

Type used for Pointers to Char values in DOM interfaces

Declaration

Source position: laz2_dom.pas line 117

type DOMPChar = PChar;


DOMString

Type used for String values in DOM interfaces

Declaration

Source position: laz2_dom.pas line 116

type DOMString = AnsiString;


DOMSTRING_SIZE_ERR

Represents DOM exception code 2

Declaration

Source position: laz2_dom.pas line 52

const DOMSTRING_SIZE_ERR = 2;

Description

Specified range of text does not fit into a DOMString.


ELEMENT_NODE

Represents the DOM Node Type for elements

Declaration

Source position: laz2_dom.pas line 75

const ELEMENT_NODE = 1;


ENTITY_NODE

Represents the DOM Node Type for entities

Declaration

Source position: laz2_dom.pas line 80

const ENTITY_NODE = 6;


ENTITY_REFERENCE_NODE

Represents the DOM Node Type for entity references

Declaration

Source position: laz2_dom.pas line 79

const ENTITY_REFERENCE_NODE = 5;


HIERARCHY_REQUEST_ERR

Represents DOM exception code 3

Declaration

Source position: laz2_dom.pas line 53

const HIERARCHY_REQUEST_ERR = 3;

Description

Node is inserted somewhere it does not belong.


Reference for unit 'Laz2_DOM'

Value for the Attributes property

uses

  sysutils,

  Classes,

  laz2_xmlutils;

Overview

laz2_dom.pas provides an Implementation of DOM (Document Object Model) interfaces. It is a modified copy of the FCL dom.pp unit (revision 15251) adapted to use UTF-8 instead of WideString by Mattias Gaertner.

Copyright (c) 1999-2000 by Sebastian Guenther, sg@freepascal.org
Modified in 2006 by Sergei Gorelkin, sergei_gorelkin@mail.ru

This unit provides classes which implement the interfaces defined in the DOM (Document Object Model) specification. The current state is:

  • DOM Levels 1 and 2 - Completely implemented
  • DOM Level 3 - Partially implemented

Specification used for this implementation:
Document Object Model (DOM) Level 2 Specification, Version 1.0, W3C Recommendation 13 November, 2000


Reference for unit 'Laz2_DOM': Constants

ATTRIBUTE_NODE | Represents the DOM Node Type for attributes
CDATA_SECTION_NODE | Represents the DOM Node Type for CDATA nodes
COMMENT_NODE | Represents the DOM Node Type for comments
DOCUMENT_FRAGMENT_NODE | Represents the DOM Node Type for document fragments
DOCUMENT_NODE | Represents the DOM Node Type for document elements
DOCUMENT_TYPE_NODE | Represents the DOM Node Type for document type declarations
DOMSTRING_SIZE_ERR | Represents DOM exception code 2
ELEMENT_NODE | Represents the DOM Node Type for elements
ENTITY_NODE | Represents the DOM Node Type for entities
ENTITY_REFERENCE_NODE | Represents the DOM Node Type for entity references
HIERARCHY_REQUEST_ERR | Represents DOM exception code 3
INDEX_SIZE_ERR | Represents DOM exception code 1
INUSE_ATTRIBUTE_ERR | Represents DOM exception code 10
INVALID_ACCESS_ERR | Represents DOM exception code 15
INVALID_CHARACTER_ERR | Represents DOM exception code 5
INVALID_MODIFICATION_ERR | Represents DOM exception code 13
INVALID_STATE_ERR | Represents DOM exception code 11
NAMESPACE_ERR | Represents DOM exception code 14
NOTATION_NODE | Represents the DOM Node Type for notation declarations
NOT_FOUND_ERR | Represents DOM exception code 8
NOT_SUPPORTED_ERR | Represents DOM exception code 9
NO_DATA_ALLOWED_ERR | Represents DOM exception code 6
NO_MODIFICATION_ALLOWED_ERR | Represents DOM exception code 7
PROCESSING_INSTRUCTION_NODE | Represents the DOM Node Type for processing instructions
stduri_xml | Namespace URI for the xml prefix
stduri_xmlns | Namespace URI for the xmlns prefix
SYNTAX_ERR | Represents DOM exception code 12
TEXT_NODE | Represents the DOM Node Type for text nodes
WRONG_DOCUMENT_ERR | Represents DOM exception code 4


Reference for unit 'Laz2_DOM': Types

DOMChar | Type used for Char values in DOM interfaces
DOMPChar | Type used for Pointers to Char values in DOM interfaces
DOMString | Type used for String values in DOM interfaces
PDOMString | Type used for Pointers to DOMString values
PExtent |
PNodePoolArray |
TAttrDataType | Enumeration with values for attribute types used in DOM Nodes
TAttrDefault |
TDOMNodeClass | Class type used to create TDOMNode instances
TExtent |
TFilterResult | Determines the Node types included in a DOM node list
TFPList
TNamespaceInfo | Represents Namespace Information used in DOM Node specializations
TNamespaces | Type used for namespaces in a DOM Document
TNodeFlagEnum | Enumeration with flag values for DOM Nodes
TNodeFlags | Set used to store TNodeFlagEnum values
TNodePoolArray | Implements an array of TNodePool instances
TSetOfChar | Defines a set of Char types


Reference for unit 'Laz2_DOM': Classes

EDOMError | Base class for exceptions raised in DOM interfaces
EDOMHierarchyRequest | Exception raised when a node is inserted somewhere it doesn't belong
EDOMIndexSize | Exception raised for an invalid index size
EDOMInUseAttribute | Exception raised when adding an attribute that is already in use
EDOMInvalidAccess | Exception raised when a parameter or operation is not supported by the object
EDOMInvalidModification | Exception raised when an attempt is made to modify the type for an object
EDOMInvalidState | Exception raised when accessing an object that is no longer usable
EDOMNamespace | Exception raised when an object is changed in a way that is invalid for its Namespaces
EDOMNotFound | Exception raised when accessing a node in a context where it doesn't exist
EDOMNotSupported | Exception raised when the DOM implementation does not support the requested object type or operation
EDOMSyntax | Exception raised when an invalid or illegal string value is specified
EDOMWrongDocument | Exception raised when a node is used in a document other than the one that created it
TDOMAttr | Implements a DOM Node for attributes with Namspace support
TDOMAttrDef |
TDOMCDATASection | Implements the DOM CDataSection interface from the DOM specification
TDOMCharacterData | Implements the CharacterData interface from the DOM specification
TDOMComment | Implements the DOM Comment interface from the DOM specification
TDOMDocument | Implements the DOM Document interface
TDOMDocumentFragment | Implements the DocumentFragment interface from the DOM specification
TDOMDocumentType | Implements the DOM DocumentType interface from the DOM specification
TDOMElement | Implements the DOM Element interface from the DOM specification
TDOMElementList | Provides a recursive list of DOM Elements
TDOMEntity | Implements the DOM Entity interface from the DOM specification
TDOMEntityReference | Implements the DOM EntityReference interface from the DOM specification
TDOMImplementation | Implements the DOMImplementation interface from the DOM specification
TDOMNamedNodeMap | Implements the NamedNodeMap interface in the DOM specification
TDOMNode | Implements the DOM Node interface
TDOMNodeAllChildEnumerator | Implements an enumerator that visits all Children in the sub-tree for a DOM node
TDOMNodeEnumerator | Implements an enumerator for DOM Nodes
TDOMNodeList | Implements an ordered list of DOM Nodes
TDOMNode_NS | Implements a DOM Node with Namespace support
TDOMNode_WithChildren | Extends TDOMNode to allocate storage for child nodes
TDOMNotation | Implements the DOM Notation interface from the DOM specification
TDOMProcessingInstruction | Implements the DOM ProcessingInstruction interface from the DOM specification
TDOMText | Implements the DOM Text interface from the DOM specification
TNodePool | Provides custom memory management when DOM Nodes are created
TXMLDocument | Implements an XML Document


Reference for unit 'Laz2_DOM': Procedures and functions

EncodeLesserAndGreaterThan | Converts instance of the reserved characters
StrToXMLValue | Converts a string to it representation as XML character data
XMLValueToStr | Converts XML character data to its representation as a string value


Index of all identifiers in unit 'Laz2_DOM'

A C D E F H I N P S T W X

A

adDefault | adImplied | ATTRIBUTE_NODE
adFixed | adRequired |

C

CDATA_SECTION_NODE COMMENT_NODE

D

DOCUMENT_FRAGMENT_NODE | DOMSTRING_SIZE_ERR | dtIdRefs
DOCUMENT_NODE | dtCdata | dtNmToken
DOCUMENT_TYPE_NODE | dtEntities | dtNmTokens
DOMChar | dtEntity | dtNotation
DOMPChar | dtId |
DOMString | dtIdRef |

E

EDOMError | EDOMInvalidState | ELEMENT_NODE
EDOMHierarchyRequest | EDOMNamespace | EncodeLesserAndGreaterThan
EDOMIndexSize | EDOMNotFound | ENTITY_NODE
EDOMInUseAttribute | EDOMNotSupported | ENTITY_REFERENCE_NODE
EDOMInvalidAccess | EDOMSyntax |
EDOMInvalidModification | EDOMWrongDocument |

F

frFalse | frNoRecurseTrue
frNoRecurseFalse | frTrue

H

HIERARCHY_REQUEST_ERR

I

INDEX_SIZE_ERR | INVALID_ACCESS_ERR | INVALID_MODIFICATION_ERR
INUSE_ATTRIBUTE_ERR | INVALID_CHARACTER_ERR | INVALID_STATE_ERR

N

NAMESPACE_ERR | nfReadonly | NO_MODIFICATION_ALLOWED_ERR
nfDestroying | nfRecycled | NOTATION_NODE
nfIgnorableWS | nfSpecified | NOT_FOUND_ERR
nfLevel2 | NO_DATA_ALLOWED_ERR | NOT_SUPPORTED_ERR

P

PDOMString | PNodePoolArray
PExtent | PROCESSING_INSTRUCTION_NODE

S

stduri_xml | StrToXMLValue
stduri_xmlns | SYNTAX_ERR

T

TAttrDataType | TDOMEntityReference | TExtent
TAttrDefault | TDOMImplementation | TEXT_NODE
TDOMAttr | TDOMNamedNodeMap | TFilterResult
TDOMAttrDef | TDOMNode | TFPList
TDOMCDATASection | TDOMNodeAllChildEnumerator | TNamespaceInfo
TDOMCharacterData | TDOMNodeClass | TNamespaces
TDOMComment | TDOMNodeEnumerator | TNodeFlagEnum
TDOMDocument | TDOMNodeList | TNodeFlags
TDOMDocumentFragment | TDOMNode_NS | TNodePool
TDOMDocumentType | TDOMNode_WithChildren | TNodePoolArray
TDOMElement | TDOMNotation | TSetOfChar
TDOMElementList | TDOMProcessingInstruction | TXMLDocument
TDOMEntity | TDOMText |

W

WRONG_DOCUMENT_ERR

X

XMLValueToStr


INDEX_SIZE_ERR

Represents DOM exception code 1

Declaration

Source position: laz2_dom.pas line 51

const INDEX_SIZE_ERR = 1;

Description

Index or size is negative, or greater than the allowed value.


INUSE_ATTRIBUTE_ERR

Represents DOM exception code 10

Declaration

Source position: laz2_dom.pas line 60

const INUSE_ATTRIBUTE_ERR = 10;

Description

An attempt is made to add an attribute that is already in use elsewhere.


INVALID_ACCESS_ERR

Represents DOM exception code 15

Declaration

Source position: laz2_dom.pas line 68

const INVALID_ACCESS_ERR = 15;

Description

Parameter or operation is not supported by the underlying object.


INVALID_CHARACTER_ERR

Represents DOM exception code 5

Declaration

Source position: laz2_dom.pas line 55

const INVALID_CHARACTER_ERR = 5;

Description

An invalid or illegal character is specified, such as in a name.


INVALID_MODIFICATION_ERR

Represents DOM exception code 13

Declaration

Source position: laz2_dom.pas line 66

const INVALID_MODIFICATION_ERR = 13;

Description

An attempt is made to modify the type of the underlying object.


INVALID_STATE_ERR

Represents DOM exception code 11

Declaration

Source position: laz2_dom.pas line 64

const INVALID_STATE_ERR = 11;

Description

An attempt is made to use an object that is no longer usable.


NAMESPACE_ERR

Represents DOM exception code 14

Declaration

Source position: laz2_dom.pas line 67

const NAMESPACE_ERR = 14;

Description

An attempt is made to create or change an object in a way which is incorrect for the defined namespaces.


NO_DATA_ALLOWED_ERR

Represents DOM exception code 6

Declaration

Source position: laz2_dom.pas line 56

const NO_DATA_ALLOWED_ERR = 6;

Description

Data is specified for a node which does not support data.


NO_MODIFICATION_ALLOWED_ERR

Represents DOM exception code 7

Declaration

Source position: laz2_dom.pas line 57

const NO_MODIFICATION_ALLOWED_ERR = 7;

Description

An attempt was made to modify an object where modifications are not allowed.


NOT_FOUND_ERR

Represents DOM exception code 8

Declaration

Source position: laz2_dom.pas line 58

const NOT_FOUND_ERR = 8;

Description

An attempt is made to reference a node in a context where it does not exist.


NOT_SUPPORTED_ERR

Represents DOM exception code 9

Declaration

Source position: laz2_dom.pas line 59

const NOT_SUPPORTED_ERR = 9;

Description

Implementation does not support the type of object requested.


NOTATION_NODE

Represents the DOM Node Type for notation declarations

Declaration

Source position: laz2_dom.pas line 86

const NOTATION_NODE = 12;


PDOMString

Type used for Pointers to DOMString values

Declaration

Source position: laz2_dom.pas line 119

type PDOMString = ^DOMString;


PExtent

Declaration

Source position: laz2_dom.pas line 825

type PExtent = ^TExtent;


PNodePoolArray

Declaration

Source position: laz2_dom.pas line 104

type PNodePoolArray = ^TNodePoolArray;


PROCESSING_INSTRUCTION_NODE

Represents the DOM Node Type for processing instructions

Declaration

Source position: laz2_dom.pas line 81

const PROCESSING_INSTRUCTION_NODE = 7;


stduri_xml

Namespace URI for the xml prefix

Declaration

Source position: laz2_dom.pas line 849

const stduri_xml: DOMString = 'http://www.w3.org/XML/1998/namespace';

Description

stduri_xml is a DOMString constant that contains the Namespace URI bound to the xml Namespace prefix. stduri_xml and stduri_xmlns are used to set the default Namespaces prefixes and URIs in TDOMDocument:

Prefix | Namespace URI
xml | http://www.w3.org/XML/1998/namespace
xmlns | http://www.w3.org/2000/xmlns/

See also

stduri_xmlns | Namespace URI for the xmlns prefix
TNamespaces | Type used for namespaces in a DOM Document
TDOMDocument | Implements the DOM Document interface


stduri_xmlns

Namespace URI for the xmlns prefix

Declaration

Source position: laz2_dom.pas line 850

const stduri_xmlns: DOMString = 'http://www.w3.org/2000/xmlns/';

Description

stduri_xmlns is a DOMString constant that contains the Namespace URI bound to the xmlns Namespace prefix. stduri_xml and stduri_xmlns are used to set the default Namespaces prefixes and URIs in TDOMDocument:

Prefix | Namespace URI
xml | http://www.w3.org/XML/1998/namespace
xmlns | http://www.w3.org/2000/xmlns/

See also

stduri_xml | Namespace URI for the xml prefix
TNamespaces | Type used for namespaces in a DOM Document
TDOMDocument | Implements the DOM Document interface


SYNTAX_ERR

Represents DOM exception code 12

Declaration

Source position: laz2_dom.pas line 65

const SYNTAX_ERR = 12;

Description

An invalid or illegal string was specified.


TAttrDataType

Enumeration with values for attribute types used in DOM Nodes

Declaration

Source position: laz2_dom.pas line 568

type TAttrDataType = (
dtCdata, | Attribute contains a CDATA value
dtId, | Attribute contains an ID value
dtIdRef, | Attribute contains an ID reference
dtIdRefs, | Attribute contains multiple ID references
dtEntity, | Attribute contains an Entity
dtEntities, | Attribute contains several Entities
dtNmToken, | Attribute contains a Name token
dtNmTokens, | Attribute contains several Name tokens
dtNotation | Attribute contains a Notation
);

Description

Remark: This will eventually be altered or replaced when DOM Level 3 TypeInfo Interface support is introduced.


TAttrDefault

Declaration

Source position: laz2_dom.pas line 800

type TAttrDefault = (

  adImplied,

  adDefault,

  adRequired,

  adFixed

);

Description

Attribute declaration - Attr descendant which carries rudimentary type info must be severely improved while developing DOM Level 3.


TDOMNodeClass

Class type used to create TDOMNode instances

Declaration

Source position: laz2_dom.pas line 308

type TDOMNodeClass = class of TDOMNode;


TEXT_NODE

Represents the DOM Node Type for text nodes

Declaration

Source position: laz2_dom.pas line 77

const TEXT_NODE = 3;


TExtent

Declaration

Source position: laz2_dom.pas line 826

type TExtent = record

  Next: PExtent;

end;


TFilterResult

Determines the Node types included in a DOM node list

Declaration

Source position: laz2_dom.pas line 342

type TFilterResult = (
frFalse, | Do not accept any nodes
frNoRecurseFalse, | Accept all nodes and allow recursion
frTrue, | Accept all nodes
frNoRecurseTrue | Accept all nodes but don't allow recursion
);

Description

TFilterResult is an enumeration type with values that determine the nodes selected in TDOMNodeList.

See also

TDOMNodeList.NodeFilter

Determine nodes that appear in the DOM Node list


TFPList

Declaration

Source position: laz2_dom.pas line 108

type TFPList = TList;


TNamespaceInfo

Represents Namespace Information used in DOM Node specializations

Declaration

Source position: laz2_dom.pas line 558

type TNamespaceInfo = packed record
NSIndex: Word; | Index position for the Namespace
PrefixLen: Word; | Length of the Namespace Prefix
QName: PHashItem; | Qualified Name for the Namespace
end;

Description

TNamespaceInfo is a packed record type used to represent Namespace Information used in DOM Node specializations. Members in the record are used to record the Index Position, PrefixLength, and a hash value for a Qualified Name assigned to namespaced DOM Elements and Attributes. TNamespaceInfo is the type used for the NSI property in TDOMNode_NS.

Please note that the NSIndex and PrefixLength members are declared as Word values. This limits the number of namespaces per document and the prefix length to 65535. It is believed that higher values are only found in deliberately malformed documents.

See also

TDOMNode_NS.NSI | Provides access to Namespace information for the DOM node
TDOMDocument | Implements the DOM Document interface
TDOMElement | Implements the DOM Element interface from the DOM specification


TNamespaces

Type used for namespaces in a DOM Document

Declaration

Source position: laz2_dom.pas line 472

type TNamespaces = array of DOMString;

Description

TNamespaces is an array of DOMString type used to represent namespace values in a DOM Document. TNamespaces is the type used to implement the internal Namespaces member in TDOMDocument.

See also

DOMString | Type used for String values in DOM interfaces
TDOMDocument | Implements the DOM Document interface
TDOMDocument.IndexOfNS | Gets the ordinal position for the specified Namespace URI


TNodeFlagEnum

Enumeration with flag values for DOM Nodes

Declaration

Source position: laz2_dom.pas line 188

type TNodeFlagEnum = (
nfReadonly, | Node is read-only
nfRecycled, | Node is recycled
nfLevel2, | Node is a DOM Level 2-specific type
nfIgnorableWS, | Node has ignorable whitespace
nfSpecified, | Node value was specified rather than implied
nfDestroying | Node is being destroyed
);


TNodeFlags

Set used to store TNodeFlagEnum values

Declaration

Source position: laz2_dom.pas line 196

type TNodeFlags = set of (
nfReadonly, | Node is read-only
nfRecycled, | Node is recycled
nfLevel2, | Node is a DOM Level 2-specific type
nfIgnorableWS, | Node has ignorable whitespace
nfSpecified, | Node value was specified rather than implied
nfDestroying | Node is being destroyed
);


TSetOfChar

Defines a set of Char types

Declaration

Source position: laz2_dom.pas line 115

type TSetOfChar = set of Char;


WRONG_DOCUMENT_ERR

Represents DOM exception code 4

Declaration

Source position: laz2_dom.pas line 54

const WRONG_DOCUMENT_ERR = 4;

Description

Node is used in a different document than the one that created it (that does not support it).


Reference for unit 'Laz2_XMLCfg'

Implements classes used to read and write configuration data files in XML format

uses
Classes,
sysutils,
LazFileCache, |
Laz2_DOM, | Value for the Attributes property
laz2_XMLRead, | Provides routines used to read XML content from a file, text file, or stream
laz2_XMLWrite, | Provides routines used to write XML content to a file, text file, or stream
LazUtilities, |
typinfo;

Related topics

TXMLConfig-PathSyntax | TXMLConfig Path Syntax
TXMLConfig-Using | Using TXMLConfig


Reference for unit 'Laz2_XMLCfg': Classes

TRttiXMLConfig | Implements an XML configuration file with RTTI support
TXMLConfig | Implements a class used to access and maintain an XML configuration data file


Reference for unit 'Laz2_XMLCfg': Procedures and functions

CompareDomNodeNames

Compares the names for the specified DOM nodes


Index of all identifiers in unit 'Laz2_XMLCfg'

C T

C

CompareDomNodeNames

T

TRttiXMLConfig TXMLConfig


Reference for unit 'laz2_XMLRead'

Provides routines used to read XML content from a file, text file, or stream

uses
sysutils,
Classes,
Laz2_DOM, | Value for the Attributes property
LazUTF8Classes; | Implements UTF-8-enabled classes and routines

Overview

laz2_xmlread.pas provides routines used to read XML content from a file, text file, or stream. It is copied from the FCL unit xmlread.pp (SVN revision 15251), and adapted to use UTF-8 instead of widestrings by Mattias Gaertner.

Copyright (c) 1999-2000 by Sebastian Guenther, sg@freepascal.org
Modified in 2006 by Sergei Gorelkin, sergei_gorelkin@mail.ru
Converted to use UTF-8 instead of widestrings by Mattias Gaertner.


Reference for unit 'laz2_XMLRead': Types

TDecoder | Decoder used to convert encoded values in XML content
TErrorSeverity | Represents error severity codes for XML read operations
TGetDecoderProc |
TXMLContextAction | Values that control how XML content is stored in a DOM sub-tree
TXMLErrorEvent | Event type signalled when an error occurs while processing XML content
TXMLReaderFlag | Represents options enabled when reading XML content
TXMLReaderFlags | Set type used to store options enabled when reading XML content


Reference for unit 'laz2_XMLRead': Classes

EXMLReadError | Exception raised when reading XML content
TDOMParseOptions | Represents option settings for the TDOMParser class
TDOMParser | Implements a parser used to de-serialize XML content into DOM Nodes
TXMLInputSource | Represents the input source for XML content


Reference for unit 'laz2_XMLRead': Procedures and functions

ReadDTDFile | Reads and stores a DTD file into the specified XML document
ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node
RegisterDecoder | Registers the procedure used to decode values in a specific encoding


Index of all identifiers in unit 'laz2_XMLRead'

E R T X

E

esError | esWarning
esFatal | EXMLReadError

R

ReadDTDFile | ReadXMLFragment
ReadXMLFile | RegisterDecoder

T

TDecoder | TGetDecoderProc | TXMLReaderFlag
TDOMParseOptions | TXMLContextAction | TXMLReaderFlags
TDOMParser | TXMLErrorEvent |
TErrorSeverity | TXMLInputSource |

X

xaAppendAsChildren | xaReplace | xrfAllowSpecialCharsInAttributeValue
xaInsertAfter | xaReplaceChildren | xrfAllowSpecialCharsInComments
xaInsertBefore | xrfAllowLowerThanInAttributeValue | xrfPreserveWhiteSpace


TDecoder

Decoder used to convert encoded values in XML content

Declaration

Source position: laz2_xmlread.pas line 148

type TDecoder = record
Context: Pointer; | Pointer to the context for the decoder
Decode: function( | Routine used to decode content using the specified buffer arguments
Context: Pointer;
InBuf: PChar;
var InCnt: Cardinal;
OutBuf: DOMPChar;
var OutCnt: Cardinal
):Integer;
Cleanup: procedure( | Optional routine used to perform cleanup actions for the decoder Context
Context: Pointer
);
end;


TErrorSeverity

Represents error severity codes for XML read operations

Declaration

Source position: laz2_xmlread.pas line 32

type TErrorSeverity = (
esWarning, | Error is a warning
esError, | Error is an Error (not a Warning)
esFatal | Error is an unrecoverable Fatal Error
);

Description

TErrorSeverity is an enumerated type that represents error severity codes for XML read operations. TErrorSeverity is the type used to represent error codes in EXMLReadError, and passed as an argument to the error handler in the TXMLReader.

See also

EXMLReadError

Exception raised when reading XML content


TGetDecoderProc

Declaration

Source position: laz2_xmlread.pas line 154

type TGetDecoderProc = function(

  const AEncoding: string;

  out Decoder: TDecoder

):Boolean;


TXMLContextAction

Values that control how XML content is stored in a DOM sub-tree

Declaration

Source position: laz2_xmlread.pas line 105

type TXMLContextAction = (
xaAppendAsChildren = 1, | DOM Fragment is appended as child nodes
xaReplaceChildren, | DOM Fragment replaces child nodes
xaInsertBefore, | DOM Fragment is inserted before child nodes
xaInsertAfter, | DOM Fragment is appended after child nodes
xaReplace | DOM Fragment replaces child nodes
);

Description

TXMLContextAction is an enumeration type with values that control how XML content is stored in the DOM sub-tree for a specified context. TXMLContextAction represents the value passed as an argument to the TDOMParser.ParseWithContext method.

See also

TDOMParser.ParseWithContext

Parses the XML input source into the specified DOM context Node


TXMLErrorEvent

Event type signalled when an error occurs while processing XML content

Declaration

Source position: laz2_xmlread.pas line 112

type TXMLErrorEvent = procedure(

  Error: EXMLReadError

) of object;

Arguments

Error

Exception for the event notification

Description

TXMLErrorEvent is an object procedure type that specifies an event signalled when an error occurs while reading and parsing XML content. TXMLErrorEvent is the type used for the TDOMParsser.OnError event handler, and allows the parser and its TXMLReader class instance to share error information and control.

See also

TDOMParser.OnError

Event handler signalled when an error occurs while reading XML content


TXMLReaderFlag

Represents options enabled when reading XML content

Declaration

Source position: laz2_xmlread.pas line 34

type TXMLReaderFlag = (
xrfAllowLowerThanInAttributeValue, | Indicates the &lt; character is allowed in attribute values
xrfAllowSpecialCharsInAttributeValue, | Indicates control characters and reserved XML characters are allowed in XML content
xrfAllowSpecialCharsInComments, | Indicates if '--' is allowed in an XML comment
xrfPreserveWhiteSpace | Indicates whitespace is preserved when reading XML content
);

Description

TXMLReaderFlag is an enumerated type with values for options enabled when reading XML content. TXMLReaderFlag values are stored in the TXMLReaderFlags set type, and passed as an argument to the ReadXMLFile, ReadXMLFragment, and ReadDTDFile routines.

See also

ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node
ReadDTDFile | Reads and stores a DTD file into the specified XML document


TXMLReaderFlags

Set type used to store options enabled when reading XML content

Declaration

Source position: laz2_xmlread.pas line 40

type TXMLReaderFlags = set of (
xrfAllowLowerThanInAttributeValue, | Indicates the &lt; character is allowed in attribute values
xrfAllowSpecialCharsInAttributeValue, | Indicates control characters and reserved XML characters are allowed in XML content
xrfAllowSpecialCharsInComments, | Indicates if '--' is allowed in an XML comment
xrfPreserveWhiteSpace | Indicates whitespace is preserved when reading XML content
);

Description

TXMLReaderFlags is a set type used to store zero or more values from the TXMLReaderFlag enumeration. TXMLReaderFlags is the type passed as an argument to the ReadXMLFile, ReadXMLFragment, and ReadDTDFile routines.

See also

TXMLReaderFlag | Represents options enabled when reading XML content
ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node
ReadDTDFile | Reads and stores a DTD file into the specified XML document


Reference for unit 'laz2_xmlutils'

uses

  sysutils,

  Classes,

  LazUTF8;

Number of characters (codepoints) to get from the string


Reference for unit 'laz2_xmlutils': Constants

NamePages

namingBitmap

ns_0200

ns_0300

ns_0400

ns_0500

ns_0600

ns_0900

ns_0A00

ns_0B00

ns_0C00

ns_0D00

ns_0E00

ns_0F00

ns_3000

ns_ASCII

Xml11HighPages


Reference for unit 'laz2_xmlutils': Types

PExpHashEntryArray

PHashItem

PHashItemArray

PPHashItem

PtrInt

PXMLUtilChar

PXMLUtilString

TAttributeAction

TExpHashEntry

TExpHashEntryArray

TFPList

THashForEach

THashItem

THashItemArray

TSetOfByte

TXMLUtilChar

TXMLUtilString


Reference for unit 'laz2_xmlutils': Classes

TBinding

TDblHashArray

THashTable

TNSSupport


Reference for unit 'laz2_xmlutils': Procedures and functions

Hash

IsValidXmlEncoding

IsXmlName

IsXmlNames

IsXmlNmToken

IsXmlNmTokens

IsXmlWhiteSpace

NormalizeSpaces

TranslateUTF8Chars

Xml11NamePages

XUStrLIComp


Index of all identifiers in unit 'laz2_xmlutils'

A H I N P T X

A

aaBoth aaPrefix aaUnchanged

H

Hash

I

IsValidXmlEncoding | IsXmlNames | IsXmlNmTokens
IsXmlName | IsXmlNmToken | IsXmlWhiteSpace

N

NamePages | ns_0500 | ns_0D00
namingBitmap | ns_0600 | ns_0E00
NormalizeSpaces | ns_0900 | ns_0F00
ns_0200 | ns_0A00 | ns_3000
ns_0300 | ns_0B00 | ns_ASCII
ns_0400 | ns_0C00 |

P

PExpHashEntryArray | PPHashItem | PXMLUtilString
PHashItem | PtrInt |
PHashItemArray | PXMLUtilChar |

T

TAttributeAction | TFPList | TNSSupport
TBinding | THashForEach | TranslateUTF8Chars
TDblHashArray | THashItem | TSetOfByte
TExpHashEntry | THashItemArray | TXMLUtilChar
TExpHashEntryArray | THashTable | TXMLUtilString

X

Xml11HighPages Xml11NamePages XUStrLIComp


NamePages

Declaration

Source position: laz2_names.inc line 174

const NamePages: array [0..511] of Byte = ($02, $03, $04, $05, $06, $07, $08, $00, $00, $09, $0A, $0B, $0C, $0D, $0E, $0F, $10, $11, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $12, $13, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $15, $16, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $17, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $18, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $19, $03, $1A, $1B, $1C, $1D, $1E, $00, $00, $1F, $20, $21, $22, $23, $24, $25, $10, $11, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $12, $13, $26, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $27, $16, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $17, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $18, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00);


namingBitmap

Declaration

Source position: laz2_names.inc line 61

const namingBitmap: array [0..$30] of TSetOfByte = ([], [0..255], ns_ASCII, [0..$31, $34..$3E, $41..$48, $4A..$7E, $80..$C3, $CD..$F0, $F4..$F5, $FA..$FF], ns_0200, ns_0300, ns_0400, ns_0500, ns_0600, ns_0900, ns_0A00, ns_0B00, ns_0C00, ns_0D00, ns_0E00, ns_0F00, [$A0..$C5, $D0..$F6], [0, $02..03, $05..$07, $09, $0B..$0C, $0E..$12, $3C, $3E, $40, $4C, $4E, $50, $54..$55, $59, $5F..$61, $63, $65, $67, $69, $6D..$6E, $72..$73, $75, $9E, $A8, $AB, $AE..$AF, $B7..$B8, $BA, $BC..$C2, $EB, $F0, $F9], [0..$9B, $A0..$F9], [0..$15, $18..$1D, $20..$45, $48..$4D, $50..$57, $59, $5B, $5D, $5F..$7D, $80..$B4, $B6..$BC, $BE, $C2..$C4, $C6..$CC, $D0..$D3, $D6..$DB, $E0..$EC, $F2..$F4, $F6..$FC], [$26, $2A..$2B, $2E, $80..$82], ns_3000, [$05..$2C], [0..$A5], [0..$A3], ns_ASCII + [$2D..$2E, $30..$39, $B7], ns_0200 + [$D0..$D1], ns_0300 + [0..$45, $60..$61, $87], ns_0400 + [$83..$86], ns_0500 + [$91..$A1, $A3..$B9, $BB..$BD, $BF, $C1..$C2, $C4], ns_0600 + [$4B..$52, $70, $D6..$DC, $DD..$DF, $E0..$E4, $E7..$E8, $EA..$ED] + [$60..$69, $F0..$F9] + [$40], ns_0900 + [$01..$03, $3C, $3E..$4C, $4D, $51..$54, $62..$63, $81..$83, $BC, $BE, $BF, $C0..$C4, $C7..$C8, $CB..$CD, $D7, $E2..$E3] + [$66..$6F, $E6..$EF], ns_0A00 + [$02, $3C, $3E..$42, $47..$48, $4B..$4D, $70..$71, $81..$83, $BC, $BE..$C5, $C7..$C9, $CB..$CD] + [$66..$6F, $E6..$EF], ns_0B00 + [$01..$03, $3C, $3E..$43, $47..$48, $4B..$4D, $56..$57, $82..$83, $BE..$C2, $C6..$C8, $CA..$CD, $D7] + [$66..$6F, $E7..$EF], ns_0C00 + [$01..$03, $3E..$44, $46..$48, $4A..$4D, $55..$56, $82..$83, $BE..$C4, $C6..$C8, $CA..$CD, $D5..$D6] + [$66..$6F, $E6..$EF], ns_0D00 + [$02..$03, $3E..$43, $46..$48, $4A..$4D, $57] + [$66..$6F], ns_0E00 + [$31, $34..$3A, $47..$4E, $B1, $B4..$B9, $BB..$BC, $C8..$CD] + [$50..$59, $D0..$D9] + [$46, $C6], ns_0F00 + [$18..$19, $35, $37, $39, $3E, $3F, $71..$84, $86..$8B, $90..$95, $97, $99..$AD, $B1..$B7, $B9] + [$20..$29], [$D0..$DC, $E1], ns_3000 + [$2A..$2F, $99, $9A] + [$05, $31..$35, $9D..$9E, $FC..$FE], [0..$CF, $F0..$FF], [0..$EF], [$0C..$0D, $70..$FF], [0..$8F], [$70..$7D, $7F..$FF], [1..$FF], [0..$7D, $7F..$FF], [$0C..$0D, $3F..$40, $70..$FF], [$00..$FD]);


ns_0A00

Declaration

Source position: laz2_names.inc line 36

const ns_0A00 = [$05..$0A, $0F..$10, $13..$28, $2A..$30, $32..$33, $35..$36, $38..$39, $59..$5C, $5E, $72..$74, $85..$8B, $8D, $8F..$91, $93..$A8, $AA..$B0, $B2..$B3, $B5..$B9, $BD, $E0];


ns_0B00

Declaration

Source position: laz2_names.inc line 41

const ns_0B00 = [$05..$0C, $0F..$10, $13..$28, $2A..$30, $32..$33, $36..$39, $3D, $5C..$5D, $5F..$61, $85..$8A, $8E..$90, $92..$95, $99..$9A, $9C, $9E..$9F, $A3..$A4, $A8..$AA, $AE..$B5, $B7..$B9];


ns_0C00

Declaration

Source position: laz2_names.inc line 47

const ns_0C00 = [$05..$0C, $0E..$10, $12..$28, $2A..$33, $35..$39, $60..$61, $85..$8C, $8E..$90, $92..$A8, $AA..$B3, $B5..$B9, $DE, $E0..$E1];


ns_0D00

Declaration

Source position: laz2_names.inc line 51

const ns_0D00 = [$05..$0C, $0E..$10, $12..$28, $2A..$39, $60..$61];


ns_0E00

Declaration

Source position: laz2_names.inc line 52

const ns_0E00 = [$01..$2E, $30, $32..$33, $40..$45, $81..$82, $84, $87..$88, $8A, $8D, $94..$97, $99..$9F, $A1..$A3, $A5, $A7, $AA..$AB, $AD..$AE, $B0, $B2..$B3, $BD, $C0..$C4];


ns_0F00

Declaration

Source position: laz2_names.inc line 57

const ns_0F00 = [$40..$47, $49..$69];


ns_0200

Declaration

Source position: laz2_names.inc line 20

const ns_0200 = [0..$17, $50..$A8, $BB..$C1];


ns_0300

Declaration

Source position: laz2_names.inc line 21

const ns_0300 = [$86, $88..$8A, $8C, $8E..$A1, $A3..$CE, $D0..$D6, $DA, $DC, $DE, $E0, $E2..$F3];


ns_0400

Declaration

Source position: laz2_names.inc line 24

const ns_0400 = [$01..$0C, $0E..$4F, $51..$5C, $5E..$81, $90..$C4, $C7..$C8, $CB..$CC, $D0..$EB, $EE..$F5, $F8..$F9];


ns_0500

Declaration

Source position: laz2_names.inc line 28

const ns_0500 = [$31..$56, $59, $61..$86, $D0..$EA, $F0..$F2];


ns_0600

Declaration

Source position: laz2_names.inc line 29

const ns_0600 = [$21..$3A, $41..$4A, $71..$B7, $BA..$BE, $C0..$CE, $D0..$D3, $D5, $E5..$E6];


ns_0900

Declaration

Source position: laz2_names.inc line 32

const ns_0900 = [$05..$39, $3D, $58..$61, $85..$8C, $8F..$90, $93..$A8, $AA..$B0, $B2, $B6..$B9, $DC..$DD, $DF..$E1, $F0..$F1];


ns_3000

Declaration

Source position: laz2_names.inc line 59

const ns_3000 = [$41..$94, $A1..$FA] + [$07, $21..$29];


ns_ASCII

Declaration

Source position: laz2_names.inc line 19

const ns_ASCII = [$41..$5A, $5F, $61..$7A, $C0..$D6, $D8..$F6, $F8..$FF];


PExpHashEntryArray

Declaration

Source position: laz2_xmlutils.pas line 100

type PExpHashEntryArray = ^TExpHashEntryArray;


PHashItem

Declaration

Source position: laz2_xmlutils.pas line 56

type PHashItem = ^THashItem;


PHashItemArray

Declaration

Source position: laz2_xmlutils.pas line 64

type PHashItemArray = ^THashItemArray;


PPHashItem

Declaration

Source position: laz2_xmlutils.pas line 55

type PPHashItem = ^PHashItem;


PtrInt

Declaration

Source position: laz2_xmlutils.pas line 51

type PtrInt = LongInt;


PXMLUtilChar

Declaration

Source position: laz2_xmlutils.pas line 29

type PXMLUtilChar = PChar;


PXMLUtilString

Declaration

Source position: laz2_xmlutils.pas line 30

type PXMLUtilString = ^TXMLUtilString;


TAttributeAction

Declaration

Source position: laz2_xmlutils.pas line 121

type TAttributeAction = (

  aaUnchanged,

  aaPrefix,

  aaBoth

);


TExpHashEntry

Declaration

Source position: laz2_xmlutils.pas line 92

type TExpHashEntry = record

  rev: LongWord;

  hash: LongWord;

  uriPtr: PXMLUtilString;

  lname: PXMLUtilChar;

  lnameLen: Integer;

end;


TExpHashEntryArray

Declaration

Source position: laz2_xmlutils.pas line 99

type TExpHashEntryArray = array [0..MaxIntdivsizeof(TExpHashEntry)-1] of TExpHashEntry;


TFPList

Declaration

Source position: laz2_xmlutils.pas line 52

type TFPList = TList;


THashForEach

Declaration

Source position: laz2_xmlutils.pas line 66

type THashForEach = function(

  Entry: PHashItem;

  arg: Pointer

):Boolean;


THashItem

Declaration

Source position: laz2_xmlutils.pas line 57

type THashItem = record

  Key: TXMLUtilString;

  HashValue: LongWord;

  Next: PHashItem;

  Data: TObject;

end;


THashItemArray

Declaration

Source position: laz2_xmlutils.pas line 63

type THashItemArray = array [0..MaxIntdivsizeof(Pointer)-1] of PHashItem;


TSetOfByte

Declaration

Source position: laz2_names.inc line 15

type TSetOfByte = set of Byte;


TXMLUtilChar

Declaration

Source position: laz2_xmlutils.pas line 28

type TXMLUtilChar = Char;


TXMLUtilString

Declaration

Source position: laz2_xmlutils.pas line 27

type TXMLUtilString = AnsiString;


Xml11HighPages

Declaration

Source position: laz2_names.inc line 172

const Xml11HighPages: TSetOfByte = [0..$21, $2C..$D7, $F9..$FE];


Reference for unit 'laz2_XMLWrite'

Provides routines used to write XML content to a file, text file, or stream

uses
Classes,
LazUTF8, | Number of characters (codepoints) to get from the string
Laz2_DOM, | Value for the Attributes property
sysutils,
laz2_xmlutils, |
LazUTF8Classes; | Implements UTF-8-enabled classes and routines

Overview

laz2_xmlwrite.pas provides procedures and types used to write XML content to a file, text file, or stream. laz2_xmlwrite.pas has classes in its implementation section that are used to perform serialization of XML content to the storage destination.

Copyright (c) 1999-2000 by Sebastian Guenther, sg@freepascal.org
Modified in 2006 by Sergei Gorelkin, sergei_gorelkin@mail.ru
Converted to use UTF-8 instead of widestrings by Mattias Gaertner.


Reference for unit 'laz2_XMLWrite': Types

TXMLWriterFlag | Represent options enabled when writing XML content
TXMLWriterFlags | Set type used to store TXMLWriterFlag values


Reference for unit 'laz2_XMLWrite': Procedures and functions

WriteXML | Writes a DOM Node to a file, text file, or stream
WriteXMLFile | Writes an XML document to a file, text file, or stream


Index of all identifiers in unit 'laz2_XMLWrite'

T W X

T

TXMLWriterFlag TXMLWriterFlags

W

WriteXML WriteXMLFile

X

xwfPreserveWhiteSpace xwfSpecialCharsInAttributeValue


TXMLWriterFlag

Represent options enabled when writing XML content

Declaration

Source position: laz2_xmlwrite.pas line 31

type TXMLWriterFlag = (
xwfSpecialCharsInAttributeValue, | Enables writing Carriage Return (Decimal 13) characters in attribute values instead of the numeric character entity &xD;
xwfPreserveWhiteSpace | Preserves whitespace in DOM Text nodes
);

Description

TXMLWriterFlag is an enumerated type with values that represent options enabled when writing XML content. Values in TXMLWriterFlag are stored in the TXMLWriterFlags set type, and passed as an argument to the WriteXMLFile and WriteXML routines.

See also

TXMLWriterFlags

Set type used to store TXMLWriterFlag values


TXMLWriterFlags

Set type used to store TXMLWriterFlag values

Declaration

Source position: laz2_xmlwrite.pas line 35

type TXMLWriterFlags = set of (
xwfSpecialCharsInAttributeValue, | Enables writing Carriage Return (Decimal 13) characters in attribute values instead of the numeric character entity &xD;
xwfPreserveWhiteSpace | Preserves whitespace in DOM Text nodes
);

Description

TXMLWriterFlags is a set type used to store 0 or more values from the TXMLWriterFlag enumeration. TXMLWriterFlags indicates the options enabled when writing XML content. TXMLWriterFlags is the type passed as an argument to the WriteXMLFile procedure.

See also

TXMLWriterFlag | Represent options enabled when writing XML content
WriteXMLFile | Writes an XML document to a file, text file, or stream


Reference for unit 'laz2_xpath'

An implementation of the XML Path Language (XPath) for Free Pascal

uses
Math,
sysutils,
Classes,
LazUtilsStrConsts, | Resource strings used in the LazUtils package
Laz2_DOM, | Value for the Attributes property
laz2_xmlutils; |

Overview

laz2_xpath.pas provides an implementation of the XML Path Language (XPath) for Free Pascal. It is based on the xpath.pp unit from the Free Component Library (FCL).

Copyright (c) 2000 - 2003 by Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org

This implementation is based on the following specification:

XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999


Reference for unit 'laz2_xpath': Types

TAxis | Identifies an XPath Axis used in an XPath expression
TNodeSet | Implements an XPath Node Set
TNodeTestType | Represents XPath Node Test types
TXPathBooleanOp | Represents Boolean operators in an XPath expression
TXPathCompareOp | Identifies a Comparison operator used in an XPath expression
TXPathFunction | Implements an XPath function
TXPathKeyword | Represents keywords used in XPath syntax
TXPathMathOp | Identifies Math Operators used in XPath expressions
TXPathNodeArray | Array used to store TXPathExprNode entries
TXPathToken | Identifies token types used in XPath expressions
TXPathVarList | List used to store XPath variables in the XPath environment


Reference for unit 'laz2_xpath': Classes

EXPathEvaluationError | Exception raised when an error occurs during XPath expression evaluation
TStep | Implements an XPath Location Step
TXPathBinaryNode | The base class for Binary Operations
TXPathBooleanOpNode | Represents a Boolean expression in XPath syntax
TXPathBooleanVariable | Represents an XPath Boolean variable
TXPathCompareNode | Represents an XPath Comparison expression
TXPathConstantNode | Represents an XPath Literal expression
TXPathContext | Represents the Context for an XPath expression
TXPathEnvironment | Provides access to functions and variables available in the XPath environment
TXPathExpression | Evaluates an XPath expression using the specified scanner and resolver
TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathFilterNode | Implements an XPath Filter expression
TXPathFunctionNode | Represents an XPath Function expression
TXPathMathOpNode | Represents a Math Operation in an XPath expression
TXPathNegationNode | Represents an XPath Negation expression
TXPathNodeSetVariable | Represents an XPath Node Set variable
TXPathNSResolver | Implements a Namespace resolver for the XPath environment
TXPathNumberVariable | Represents an XPath Number variable
TXPathScanner | Implements a lexical scanner and parser using XPath syntax and semantics
TXPathStringVariable | Represents an XPath String variable
TXPathUnionNode | Represents a Union Expression node
TXPathVariable | Base class used to represent an XPath variables and results
TXPathVariableNode | Represents an XPath Variable expression


Reference for unit 'laz2_xpath': Procedures and functions

EvaluateXPathExpression | Evaluates an XPath expression using the specified context node and resolver
EvaluationError | Raises an exception during expression evaluation with the specified error message


Index of all identifiers in unit 'laz2_xpath'

A E N O T X

A

axisAncestor | axisDescendantOrSelf | axisParent
axisAncestorOrSelf | axisFollowing | axisPreceding
axisAttribute | axisFollowingSibling | axisPrecedingSibling
axisChild | axisInvalid | axisRoot
axisDescendant | axisNamespace | axisSelf

E

EvaluateXPathExpression EvaluationError EXPathEvaluationError

N

ntAnyNode | ntCommentNode | ntPINode
ntAnyPrincipal | ntName | ntTextNode

O

opAdd | opGreaterEqual | opNotEqual
opAnd | opLess | opOr
opDivide | opLessEqual | opSubtract
opEqual | opMod |
opGreater | opMultiply |

T

TAxis | tkPipe | TXPathExprNode
tkAsterisk | tkPlus | TXPathFilterNode
tkAt | tkRightBracket | TXPathFunction
tkColonColon | tkRightSquareBracket | TXPathFunctionNode
tkComma | tkSlash | TXPathKeyword
tkDot | tkSlashSlash | TXPathMathOp
tkDotDot | tkString | TXPathMathOpNode
tkEndOfStream | tkVariable | TXPathNegationNode
tkEqual | TNodeSet | TXPathNodeArray
tkGreater | TNodeTestType | TXPathNodeSetVariable
tkGreaterEqual | TStep | TXPathNSResolver
tkIdentifier | TXPathBinaryNode | TXPathNumberVariable
tkInvalid | TXPathBooleanOp | TXPathScanner
tkLeftBracket | TXPathBooleanOpNode | TXPathStringVariable
tkLeftSquareBracket | TXPathBooleanVariable | TXPathToken
tkLess | TXPathCompareNode | TXPathUnionNode
tkLessEqual | TXPathCompareOp | TXPathVariable
tkMinus | TXPathConstantNode | TXPathVariableNode
tkNotEqual | TXPathContext | TXPathVarList
tkNSNameTest | TXPathEnvironment |
tkNumber | TXPathExpression |

X

xkAncestor | xkFollowingSibling | xkPreceding
xkAncestorOrSelf | xkId | xkPrecedingSibling
xkAnd | xkLang | xkProcessingInstruction
xkAttribute | xkLast | xkRound
xkBoolean | xkLocalName | xkSelf
xkCeiling | xkMod | xkStartsWith
xkChild | xkName | xkString
xkComment | xkNamespace | xkStringLength
xkConcat | xkNamespaceUri | xkSubstring
xkContains | xkNode | xkSubstringAfter
xkCount | xkNone | xkSubstringBefore
xkDescendant | xkNormalizeSpace | xkSum
xkDescendantOrSelf | xkNot | xkText
xkDiv | xkNumber | xkTranslate
xkFalse | xkOr | xkTrue
xkFloor | xkParent |
xkFollowing | xkPosition |


TAxis

Identifies an XPath Axis used in an XPath expression

Declaration

Source position: laz2_xpath.pas line 223

type TAxis = (
axisInvalid, | An invalid Axis name in the XPath syntax
axisAncestor, | The ancestor:: Axis
axisAncestorOrSelf, | The ancestor-or-self:: Axis
axisAttribute, | The attribute:: Axis
axisChild, | The child:: Axis
axisDescendant, | The descendant:: Axis
axisDescendantOrSelf, | The descendant-or-self:: Axis
axisFollowing, | The following:: Axis
axisFollowingSibling, | The following-sibling:: Axis
axisNamespace, | The namespace:: Axis
axisParent, | The parent:: Axis
axisPreceding, | The preceding:: Axis
axisPrecedingSibling, | The preceding-sibling:: Axis
axisSelf, | The self:: Axis
axisRoot | The root:: Axis
);


TNodeSet

Implements an XPath Node Set

Declaration

Source position: laz2_xpath.pas line 204

type TNodeSet = TFPList;

Description

TNodeSet is a class alias used to implement a Node Set as defined in the XPath specification. TNodeSet is an alias for the TFPList class.


TNodeTestType

Represents XPath Node Test types

Declaration

Source position: laz2_xpath.pas line 228

type TNodeTestType = (
ntAnyPrincipal, | The Any Principal Node Test type
ntName, | The Name Node Test type
ntTextNode, | The Text Node Test type
ntCommentNode, | The Comment Node Test type
ntPINode, | The Processing Instruction Node Test type
ntAnyNode | The Any Node Test type
);


TXPathBooleanOp

Represents Boolean operators in an XPath expression

Declaration

Source position: laz2_xpath.pas line 181

type TXPathBooleanOp = (
opOr, | The OR operator
opAnd | The AND operator
);


TXPathCompareOp

Identifies a Comparison operator used in an XPath expression

Declaration

Source position: laz2_xpath.pas line 165

type TXPathCompareOp = (
opEqual, | The Equality (=) operator
opNotEqual, | The Inequality (!=) operator
opLess, | The Less Than (<) operator
opLessEqual, | The Less Than Or Equal (<=) operator
opGreater, | The Greater Than (>) operator
opGreaterEqual | The Greater Than Or Equal (>=) operator
);


TXPathFunction

Implements an XPath function

Declaration

Source position: laz2_xpath.pas line 386

type TXPathFunction = function(

  Context: TXPathContext;

  Args: TXPathVarList

):TXPathVariable of object;

Arguments

Context | Context node for the expression
Args | Arguments for the function

Function result

XPath variable returned from the XPath function implementation


TXPathKeyword

Represents keywords used in XPath syntax

Declaration

Source position: laz2_xpath.pas line 66

type TXPathKeyword = (
xkNone, | No axis specified
xkAncestor, | Ancestor axis (ancestor::)
xkAncestorOrSelf, | Ancestor or Self axis (ancestor-or-self::)
xkAttribute, | Attribute axis (attribute::)
xkChild, | Child axis (child::)
xkDescendant, | Descendant axis (descendant::)
xkDescendantOrSelf, | Descendant or Self axis (descendant-or-self::)
xkFollowing, | Following axis (following::)
xkFollowingSibling, | Following Sibling axis (following-sibling::)
xkNamespace, | Namespace axis (namespace::)
xkParent, | Parent axis (parent::)
xkPreceding, | Preceding axis (preceding::)
xkPrecedingSibling, | Preceding Sibling axis (preceding-sibling::)
xkSelf, | Self axis (self::)
xkComment, | Node test for comment: comment()
xkText, | Node test for text: text()
xkProcessingInstruction, | Node test for preceding instruction: processing-instruction()
xkNode, | Node test for a node: node()
xkAnd, | And operator
xkOr, | Or operator
xkDiv, | Div operator
xkMod, | Mod operator
xkLast, | Node set function last()
xkPosition, | Node set function position()
xkCount, | Node set function Count(node-set)
xkId, | Unique ID function: id("foo")
xkLocalName, | Node set function local-name(node-set)
xkNamespaceUri, | Node set function namespace-uri(node-set)
xkName, | Node set function name(node-set)
xkString, | String function string(object)
xkConcat, | String function concat(string, string)
xkStartsWith, | String function starts-with(string, string)
xkContains, | String function contains(string, string)
xkSubstringBefore, | String function substring-before(string, string)
xkSubstringAfter, | String function substring-after(string, string)
xkSubstring, | String function substring(string, number, number)
xkStringLength, | String function string-length(string)
xkNormalizeSpace, | String function normalize-space(string)
xkTranslate, | String function translate(string, string, string)
xkBoolean, | Boolean function boolean(object)
xkNot, | Boolean function not(boolean)
xkTrue, | Boolean function true()
xkFalse, | Boolean function false()
xkLang, | Boolean function lang(string)
xkNumber, | Number function number(object)
xkSum, | Number function sum(node-set)
xkFloor, | Number function floor(number)
xkCeiling, | Number function ceiling(number)
xkRound | Number function round(number)
);

Description

TXPathKeyword is an enumeration type that represents the axis names, node tests, operators, and standard functions available in XPath syntax.


TXPathMathOp

Identifies Math Operators used in XPath expressions

Declaration

Source position: laz2_xpath.pas line 151

type TXPathMathOp = (
opAdd, | The Addition (+) operator
opSubtract, | The Subtraction (-) operator
opMultiply, | The Multiplication (*) operator
opDivide, | The Division (/) operator
opMod | The Modulus (mod) operator
);


TXPathNodeArray

Array used to store TXPathExprNode entries

Declaration

Source position: laz2_xpath.pas line 95

type TXPathNodeArray = array of TXPathExprNode;

Description

TXPathNodeArray is an array of TXPathExprNode type. It is used to store XPath predicate expressions passed as arguments to TXPathExprNode descendants or TXPathScanner.

See also

TXPathExprNode | Defines the base class used to evaluate XPath expressions
TXPathScanner | Implements a lexical scanner and parser using XPath syntax and semantics


TXPathToken

Identifies token types used in XPath expressions

Declaration

Source position: laz2_xpath.pas line 35

type TXPathToken = (
tkInvalid, | Token is not a valid XPath expression
tkEndOfStream, | End of the XPath data stream
tkIdentifier, | Token is a function name
tkNSNameTest, | Token contains a namespace prefix
tkString, | Token is a string literal
tkNumber, | Token contains a numeric digit
tkVariable, | Token is a variable reference
tkLeftBracket, | Token contains the ( operator
tkRightBracket, | Token contains the ) operator
tkAsterisk, | Token contains the * operator
tkPlus, | Token contains the + operator
tkComma, | Token contains the , expression separator
tkMinus, | Token contains the - operator
tkDot, | Token contains a the current node (.) expression
tkDotDot, | Token contains the parent node (..) expression
tkSlash, | Token contains the / operator
tkSlashSlash, | Token contains the // operator
tkColonColon, | Token contains the :: axis operator
tkLess, | Token contains the LessThan operator
tkLessEqual, | Token contains the LessThanOrEqual operator
tkEqual, | Token contains the = operator
tkNotEqual, | Token contains the != operator
tkGreater, | Token contains the GreaterThan operator
tkGreaterEqual, | Token contains the GreaterThanOrEqual operator
tkAt, | Token contains the @ expression character
tkLeftSquareBracket, | Token contains the [ expression separator
tkRightSquareBracket, | Token contains the ] expression separator
tkPipe | Token contains the operator | expression character
);


TXPathVarList

List used to store XPath variables in the XPath environment

Declaration

Source position: laz2_xpath.pas line 384

type TXPathVarList = TFPList;


DOMPChar

Type used for Pointers to Char values in DOM interfaces

Declaration

Source position: laz_dom.pas line 41

type DOMPChar = laz2_DOM.DOMPChar;


DOMString

Type used for String values in DOM interfaces

Declaration

Source position: laz_dom.pas line 40

type DOMString = laz2_DOM.DOMString;


EDOMError

Base class for exceptions raised in DOM interfaces

Declaration

Source position: laz_dom.pas line 43

type EDOMError = laz2_DOM.EDOMError;


Reference for unit 'Laz_DOM'

Provides an implementation of DOM Interfaces

uses

  sysutils,

  Classes,

  Laz2_DOM;

Value for the Attributes property

Overview

laz_dom.pas provides an implementation of the Interfaces for the DOM (Document Object Model). Classes in this unit are aliased to the UTF-8 implementation provided in laz2_dom.pas.


Reference for unit 'Laz_DOM': Types

DOMPChar | Type used for Pointers to Char values in DOM interfaces
DOMString | Type used for String values in DOM interfaces
EDOMError | Base class for exceptions raised in DOM interfaces
TDOMAttr | Implements a DOM Node for attributes with Namspace support
TDOMCDATASection | Implements the DOM CDataSection interface from the DOM specification
TDOMCharacterData | Implements the CharacterData interface from the DOM specification
TDOMComment | Implements the DOM Comment interface from the DOM specification
TDOMDocument | Implements the DOM Document interface
TDOMDocumentFragment | Implements the DocumentFragment interface from the DOM specification
TDOMDocumentType | Implements the DOM DocumentType interface from the DOM specification
TDOMElement | Implements the DOM Element interface from the DOM specification
TDOMEntity | Implements the DOM Entity interface from the DOM specification
TDOMEntityReference | Implements the DOM EntityReference interface from the DOM specification
TDOMImplementation | Implements the DOMImplementation interface from the DOM specification
TDOMNamedNodeMap | Implements the NamedNodeMap interface in the DOM specification
TDOMNode | Implements the DOM Node interface
TDOMNodeList | Implements an ordered list of DOM Nodes
TDOMNotation | Implements the DOM Notation interface from the DOM specification
TDOMProcessingInstruction | Implements the DOM ProcessingInstruction interface from the DOM specification
TDOMText | Implements the DOM Text interface from the DOM specification


Index of all identifiers in unit 'Laz_DOM'

D E T

D

DOMPChar DOMString

E

EDOMError

T

TDOMAttr | TDOMDocumentType | TDOMNode
TDOMCDATASection | TDOMElement | TDOMNodeList
TDOMCharacterData | TDOMEntity | TDOMNotation
TDOMComment | TDOMEntityReference | TDOMProcessingInstruction
TDOMDocument | TDOMImplementation | TDOMText
TDOMDocumentFragment | TDOMNamedNodeMap |


TDOMAttr

Implements a DOM Node for attributes with Namspace support

Declaration

Source position: laz_dom.pas line 29

type TDOMAttr = laz2_DOM.TDOMAttr;


TDOMCDATASection

Implements the DOM CDataSection interface from the DOM specification

Declaration

Source position: laz_dom.pas line 33

type TDOMCDATASection = laz2_DOM.TDOMCDATASection;


TDOMCharacterData

Implements the CharacterData interface from the DOM specification

Declaration

Source position: laz_dom.pas line 28

type TDOMCharacterData = laz2_DOM.TDOMCharacterData;


TDOMComment

Implements the DOM Comment interface from the DOM specification

Declaration

Source position: laz_dom.pas line 32

type TDOMComment = laz2_DOM.TDOMComment;


TDOMDocument

Implements the DOM Document interface

Declaration

Source position: laz_dom.pas line 24

type TDOMDocument = laz2_DOM.TDOMDocument;


TDOMDocumentFragment

Implements the DocumentFragment interface from the DOM specification

Declaration

Source position: laz_dom.pas line 23

type TDOMDocumentFragment = laz2_DOM.TDOMDocumentFragment;


TDOMDocumentType

Implements the DOM DocumentType interface from the DOM specification

Declaration

Source position: laz_dom.pas line 34

type TDOMDocumentType = laz2_DOM.TDOMDocumentType;


TDOMElement

Implements the DOM Element interface from the DOM specification

Declaration

Source position: laz_dom.pas line 30

type TDOMElement = laz2_DOM.TDOMElement;


TDOMEntity

Implements the DOM Entity interface from the DOM specification

Declaration

Source position: laz_dom.pas line 36

type TDOMEntity = laz2_DOM.TDOMEntity;


TDOMEntityReference

Implements the DOM EntityReference interface from the DOM specification

Declaration

Source position: laz_dom.pas line 37

type TDOMEntityReference = laz2_DOM.TDOMEntityReference;


TDOMImplementation

Implements the DOMImplementation interface from the DOM specification

Declaration

Source position: laz_dom.pas line 22

type TDOMImplementation = laz2_DOM.TDOMImplementation;


TDOMNamedNodeMap

Implements the NamedNodeMap interface in the DOM specification

Declaration

Source position: laz_dom.pas line 27

type TDOMNamedNodeMap = laz2_DOM.TDOMNamedNodeMap;


TDOMNode

Implements the DOM Node interface

Declaration

Source position: laz_dom.pas line 25

type TDOMNode = laz2_DOM.TDOMNode;


TDOMNodeList

Implements an ordered list of DOM Nodes

Declaration

Source position: laz_dom.pas line 26

type TDOMNodeList = laz2_DOM.TDOMNodeList;


TDOMNotation

Implements the DOM Notation interface from the DOM specification

Declaration

Source position: laz_dom.pas line 35

type TDOMNotation = laz2_DOM.TDOMNotation;


TDOMProcessingInstruction

Implements the DOM ProcessingInstruction interface from the DOM specification

Declaration

Source position: laz_dom.pas line 38

type TDOMProcessingInstruction = laz2_DOM.TDOMProcessingInstruction;


TDOMText

Implements the DOM Text interface from the DOM specification

Declaration

Source position: laz_dom.pas line 31

type TDOMText = laz2_DOM.TDOMText;


Reference for unit 'Laz_XMLCfg'

uses

  Classes,

  sysutils,

  Laz2_XMLCfg;

Implements classes used to read and write configuration data files in XML format


Reference for unit 'Laz_XMLCfg': Types

TRttiXMLConfig

TXMLConfig


Index of all identifiers in unit 'Laz_XMLCfg'

T

T

TRttiXMLConfig TXMLConfig


TRttiXMLConfig

Declaration

Source position: laz_xmlcfg.pas line 30

type TRttiXMLConfig = Laz2_XMLCfg.TRttiXMLConfig;


TXMLConfig

Declaration

Source position: laz_xmlcfg.pas line 29

type TXMLConfig = Laz2_XMLCfg.TXMLConfig;


EXMLReadError

Exception raised when reading XML content

Declaration

Source position: laz_xmlread.pas line 23

type EXMLReadError = laz2_XMLRead.EXMLReadError;


Reference for unit 'Laz_XMLRead'

uses
Classes,
laz2_XMLRead, | Provides routines used to read XML content from a file, text file, or stream
Laz2_DOM; | Value for the Attributes property


Reference for unit 'Laz_XMLRead': Constants

xrfOldXMLRead


Reference for unit 'Laz_XMLRead': Types

EXMLReadError

Exception raised when reading XML content


Reference for unit 'Laz_XMLRead': Procedures and functions

ReadDTDFile | Reads and stores a DTD file into the specified XML document
ReadXMLFile | Reads the content of an XML file into the specified XML document
ReadXMLFragment | Reads an XML fragment into the specified DOM Node


Index of all identifiers in unit 'Laz_XMLRead'

E R X

E

EXMLReadError

R

ReadDTDFile ReadXMLFile ReadXMLFragment

X

xrfOldXMLRead


xrfOldXMLRead

Declaration

Source position: laz_xmlread.pas line 25

const xrfOldXMLRead = [xrfAllowLowerThanInAttributeValue, xrfAllowSpecialCharsInAttributeValue];


Reference for unit 'Laz_XMLStreaming'

uses
sysutils,
Classes,
typinfo,
Laz2_DOM, | Value for the Attributes property
laz2_XMLWrite; | Provides routines used to write XML content to a file, text file, or stream


Reference for unit 'Laz_XMLStreaming': Types

TXMLObjectReaderClass

TXMLObjectWriterClass

TXMLObjectWriterStackElType


Reference for unit 'Laz_XMLStreaming': Classes

TXMLObjectReader

TXMLObjectWriter

TXMLObjectWriterStackEl


Reference for unit 'Laz_XMLStreaming': Procedures and functions

WriteComponentToXMLStream


Index of all identifiers in unit 'Laz_XMLStreaming'

E T W

E

elChildrenList elPropertyList elUnknown

T

TXMLObjectReader | TXMLObjectWriter | TXMLObjectWriterStackEl
TXMLObjectReaderClass | TXMLObjectWriterClass | TXMLObjectWriterStackElType

W

WriteComponentToXMLStream


Reference for unit 'Laz_XMLWrite'

uses
Classes,
laz2_XMLWrite, | Provides routines used to write XML content to a file, text file, or stream
Laz2_DOM; | Value for the Attributes property


Reference for unit 'Laz_XMLWrite': Constants

xwfOldXMLWrite


Reference for unit 'Laz_XMLWrite': Procedures and functions

WriteXML | Writes a DOM Node to a file, text file, or stream
WriteXMLFile | Writes an XML document to a file, text file, or stream


Index of all identifiers in unit 'Laz_XMLWrite'

W X

W

WriteXML WriteXMLFile

X

xwfOldXMLWrite


xwfOldXMLWrite

Declaration

Source position: laz_xmlwrite.pas line 22

const xwfOldXMLWrite = [xwfSpecialCharsInAttributeValue];


Reference for unit 'LazClasses'

uses

  sysutils,

  Classes,

  LazMethodList;

Implements a list of TMethod entries


Reference for unit 'LazClasses': Classes

TFreeNotifyingObject

TRefCntObjList

TRefCountedObject


Reference for unit 'LazClasses': Procedures and functions

NilThenReleaseRef

ReleaseRefAndNil


Index of all identifiers in unit 'LazClasses'

N R T

N

NilThenReleaseRef

R

ReleaseRefAndNil

T

TFreeNotifyingObject TRefCntObjList TRefCountedObject


Reference for unit 'lazCollections'

Contains classes used to implement thread-safe collections

uses

  sysutils,

  syncobjs,

  LazSysUtils;

Overview

lazCollections.pas contains classes used to implement thread-safe collections.


Reference for unit 'lazCollections': Classes

TLazMonitor | Implements a synchronization construct which provides thread-safe access to resources
TLazThreadedQueue | Implements a thread-safe FIFO queue for items of a generic type


Index of all identifiers in unit 'lazCollections'

T

T

TLazMonitor TLazThreadedQueue


ConfigMemStorageFormatVersion

Declaration

Source position: lazconfigstorage.pas line 107

const ConfigMemStorageFormatVersion = 2;


Reference for unit 'LazConfigStorage'

uses
Classes,
sysutils,
typinfo,
Laz_AVL_Tree,
LazLoggerBase, |
AvgLvlTree; | An Average Level Tree structure, which is kept balanced so that finding a node is very rapid


Reference for unit 'LazConfigStorage': Constants

ConfigMemStorageFormatVersion


Reference for unit 'LazConfigStorage': Types

TConfigMemStorageModification

TConfigStorageClass


Reference for unit 'LazConfigStorage': Classes

TConfigMemStorage

TConfigMemStorageNode

TConfigStorage


Reference for unit 'LazConfigStorage': Procedures and functions

CompareConfigMemStorageNames

CompareConfigMemStorageNodes

ComparePCharWithConfigMemStorageNode

LoadStringToStringTree

SaveStringToStringTree


Index of all identifiers in unit 'LazConfigStorage'

C L S T

C

cmsmDelete | cmsmSet | ComparePCharWithConfigMemStorageNode
cmsmDeleteValue | CompareConfigMemStorageNames | ConfigMemStorageFormatVersion
cmsmGet | CompareConfigMemStorageNodes |

L

LoadStringToStringTree

S

SaveStringToStringTree

T

TConfigMemStorage | TConfigMemStorageNode | TConfigStorageClass
TConfigMemStorageModification | TConfigStorage |


Reference for unit 'LazDbgLog'

uses

  Classes,

  sysutils;


Reference for unit 'LazDbgLog': Procedures and functions

GetStringRefCount

MemSizeFPList

MemSizeString


Index of all identifiers in unit 'LazDbgLog'

G M

G

GetStringRefCount

M

MemSizeFPList MemSizeString


Reference for unit 'lazfglhash'

uses

  contnrs;


Reference for unit 'lazfglhash': Classes

TLazFPGHashTable

TLazHTGNode


Index of all identifiers in unit 'lazfglhash'

T

T

TLazFPGHashTable TLazHTGNode


FileStateCache

Declaration

Source position: lazfilecache.pas line 97

var FileStateCache: TFileStateCache = Nil;


Reference for unit 'LazFileCache'

uses
Classes,
sysutils,
Laz_AVL_Tree,
LazDbgLog, |
LazFileUtils; | Contains types, procedures, and functions used for file and directory operations


Reference for unit 'LazFileCache': Constants

LUInvalidChangeStamp

LUInvalidChangeStamp64


Reference for unit 'LazFileCache': Types

TFileStateCacheItemFlag

TFileStateCacheItemFlags

TOnChangeFileStateTimeStamp

TOnFileAgeCached

TOnFileExistsCached


Reference for unit 'LazFileCache': Classes

TFileStateCache

TFileStateCacheItem


Reference for unit 'LazFileCache': Procedures and functions

CompareFilenameWithFileStateCacheItem

CompareFileStateItems

DirectoryIsWritableCached

DirPathExistsCached

FileAgeCached

FileExistsCached

FileIsExecutableCached

FileIsReadableCached

FileIsTextCached

FileIsWritableCached

GetPhysicalFilenameCached

InvalidateFileStateCache

LUIncreaseChangeStamp

LUIncreaseChangeStamp64


Reference for unit 'LazFileCache': Variables

FileStateCache

OnFileAgeCached

OnFileExistsCached


Index of all identifiers in unit 'LazFileCache'

C D F G I L O T

C

CompareFilenameWithFileStateCacheItem CompareFileStateItems

D

DirectoryIsWritableCached DirPathExistsCached

F

FileAgeCached | FileStateCache | fsciExists
FileExistsCached | fsciAge | fsciPhysical
FileIsExecutableCached | fsciDirectory | fsciReadable
FileIsReadableCached | fsciDirectoryReadable | fsciText
FileIsTextCached | fsciDirectoryWritable | fsciWritable
FileIsWritableCached | fsciExecutable |

G

GetPhysicalFilenameCached

I

InvalidateFileStateCache

L

LUIncreaseChangeStamp | LUInvalidChangeStamp
LUIncreaseChangeStamp64 | LUInvalidChangeStamp64

O

OnFileAgeCached OnFileExistsCached

T

TFileStateCache | TFileStateCacheItemFlags | TOnFileExistsCached
TFileStateCacheItem | TOnChangeFileStateTimeStamp |
TFileStateCacheItemFlag | TOnFileAgeCached |


LUInvalidChangeStamp

Declaration

Source position: lazfilecache.pas line 114

const LUInvalidChangeStamp = Low(integer);


LUInvalidChangeStamp64

Declaration

Source position: lazfilecache.pas line 115

const LUInvalidChangeStamp64 = Low(int64);


OnFileAgeCached

Declaration

Source position: lazfilecache.pas line 124

var OnFileAgeCached: TOnFileAgeCached = Nil;


OnFileExistsCached

Declaration

Source position: lazfilecache.pas line 123

var OnFileExistsCached: TOnFileExistsCached = Nil;


TOnChangeFileStateTimeStamp

Declaration

Source position: lazfilecache.pas line 56

type TOnChangeFileStateTimeStamp = procedure(

  Sender: TObject;

  const AFilename: string

) of object;


TOnFileAgeCached

Declaration

Source position: lazfilecache.pas line 121

type TOnFileAgeCached = function(

  Filename: string

):LongInt of object;


TOnFileExistsCached

Declaration

Source position: lazfilecache.pas line 120

type TOnFileExistsCached = function(

  Filename: string

):Boolean of object;


Reference for unit 'LazFileUtils'

Contains types, procedures, and functions used for file and directory operations

uses
Classes,
sysutils,
SysConst,
LazUTF8, | Number of characters (codepoints) to get from the string
LazUtilsStrConsts; | Resource strings used in the LazUtils package

Overview

LazFileUtils contains types, procedures, and functions used for file and directory operations. This file is part of the LazUtils package.

Remark: All functions are thread safe unless explicitly stated.


Reference for unit 'LazFileUtils': Constants

PathDelimSwitchToDelim

Constant array with characters used as path delimiters for supported platforms and OS's


Reference for unit 'LazFileUtils': Types

TInvalidateFileStateCacheEvent | Specifies the event signalled for an invalid file state in the file cache
TPathDelimSwitch |
TPhysicalFilenameOnError | Enumerated type representing actions performed for an unresolved file name


Reference for unit 'LazFileUtils': Procedures and functions

AppendPathDelim | Adds a trailing path delimiter when needed
CheckIfFileIsExecutable | Examines the specified file to see if it is executable
CheckIfFileIsSymlink
CheckPathDelim | Determines if the specified path delimiter character is not used on the system
ChompPathDelim | Removes a trailing path delimiter from the specified value
CleanAndExpandDirectory | Removes whitespace and resolves special characters in the specified path
CleanAndExpandFilename | Removes whitespace and resolves special characters in the specified file name
CompareFileExt | Performs a sort order comparison for the specified file name and extension
CompareFilenames | Gets the relative sort order for the specified file names
CompareFilenamesIgnoreCase | Gets the relative sort order for case-insensitive file names
CompareFilenamesP | Compares file names to determine their relative sort order
CompareFilenameStarts | Compares file names using the number characters in common
CreateAbsolutePath
CreateAbsoluteSearchPath | CreateAbsoluteSearchPath - concatenates BaseDirectory and SearchPath to form an absolute path to search for files
CreateDirUTF8 | Creates a new directory with the specified name
CreateRelativePath | Creates a relative path from BaseDirectory to Filename
CreateRelativeSearchPath | Resolves relative path value(s) in the specified search path
DbgSFileAttr | Displays information for file attributes in the debugger
DeleteFileUTF8 | Deletes the specified file name
DirectoryExistsUTF8 | Determine if the specified path exists on the local file system
DirectoryIsWritable | Indicates if the specified directory name is writable
DirPathExists | Indicates if the specified directory name exists in the file system
ExpandFileNameUTF8 | Expands the values in FileName and BaseDir to an absolute file name
ExtractFileNameOnly | Gets the base file name (without the file extension) in the specified path
ExtractFileNameWithoutExt
ExtractFileRoot | Gets the root drive/path/directory for the specified file name
ExtractUNCVolume | Gets UNC host and volume name used in the specified path
FileAgeUTF8 | Returns the last modification time for the file in FileDate format
FileCreateUTF8 | Creates the specified file and returns its file handle
FileExistsUTF8 | Indicates if the specified file name exists
FileGetAttrUTF8 | Gets the value of file attributes for the specified file name
FileIsExecutable | Determines if the specified file name is executable
FileIsHardLink | Indicates if the specified file has a descriptor or handle on the local file system
FileIsInPath | Returns True if Filename exists in the specified Path
FileIsReadable | Indicates if the specified file name is readable
FileIsReadOnlyUTF8 | Determines if the specified file is marked as read-only
FileIsSymlink | Indicates if the specified file is a symbolic link in the file system
FileIsText | Determines if the specified file contains plain text content
FileIsWritable | Indicates if the specified file name is writable
FilenameIsAbsolute | Determines if the specified value is an absolute file path (not a relative one)
FilenameIsTrimmed |
FilenameIsUnixAbsolute | Determines if the specified value is an absolute file path (not a relative one)
FilenameIsWinAbsolute | Determines if the specified value is an absolute file path (not a relative one)
FileOpenUTF8 | Opens the specified file name and returns its file handle
FileSearchUTF8 | Searches for a file with the specified name in the list of directory paths
FileSetAttrUTF8 | Sets the file attribute value for the specified file name
FileSetDateUTF8 | Sets the last modification time for the file
FileSizeUtf8 | Gets the size for the specified file name
FindCloseUTF8 | Frees resources allocated to the specified search record
FindFirstUTF8 | Starts searching for files matching the specified path value
FindNextUTF8 | Locates another file matching the search criteria
FindPathInSearchPath | Locates the specified path in a delimiters list of search paths
ForceDirectoriesUTF8 | Creates the specified directories if they do not already exist
ForceDirectory | Creates the specified directory if it does not already exist
ForcePathDelims | Ensures that path delimiters in the specified file name are correct for the current platform or OS
GetAppConfigDirUTF8 |
GetAppConfigFileUTF8 | Gets a UTF-8-encoded configuration file name for the current application
GetCurrentDirUTF8 | Gets the name for the current directory
GetFileDescription | Gets descriptive information for the specified file name
GetForcedPathDelims | Performs path delimiter substitutions for the specified file name
GetPhysicalFilename | Gets the physical file name for a symbolic link on the local file system
GetShellLinkTarget
GetTempFileNameUTF8 | Gets a temporary file name using the specified UTF-8-encoded path and prefix
InvalidateFileStateCache | Signals the OnInvalidateFileStateCache event handler
IsCurrentPathDelim | Determines if the current path delimiter matches the specified path delimiter notation
IsUNCPath | Indicates if the specified path uses Universal Naming Convention (UNC)
MergeCmdLineParams | Generates a string with the specified list of parameters
MinimizeSearchPath | Trims the specified path, and removes empty or duplicate paths
PathIsInPath | Checks whether the specified directory exists in a given path
PrepareCmdLineOption | Ensures command line options are formatted properly
ReadAllLinks | Resolves a symbolic link to an actual file name
RemoveDirUTF8 | Removes the directory with the specified name
RenameFileUTF8 | Renames a file to the specified value
ResolveDots | Removes duplicate path delimiters and resolves relative path symbols
SetCurrentDirUTF8 | Sets the current directory to the specified name
ShortDisplayFilename | Gets a shortened version of the specified file name up to a maximum length
SplitCmdLine | Splits the specified command line into program and parameter values
SplitCmdLineParams | Splits command line parameters separated by whitespace characters
StrToCmdLineParam | Ensures that whitespace and quoting use the format required for command line parameters
SwitchPathDelims | Replaces path delimiters in a file path with the specified delimiter
TrimAndExpandDirectory | Cleans and resolves a relative path to a base directory
TrimAndExpandFilename | Cleans and resolves a file path to the specified base directory name
TrimFilename | Removes leading and trailing spaces, and resolves special characters
TryCreateRelativePath
TryReadAllLinks | Resolves a symlink to the real file


Reference for unit 'LazFileUtils': Variables

OnInvalidateFileStateCache

Implements the event handler for a file with an invalid file state


Index of all identifiers in unit 'LazFileUtils'

A C D E F G I M O P R S T

A

AppendPathDelim

C

CheckIfFileIsExecutable | CompareFileExt | CreateAbsoluteSearchPath
CheckIfFileIsSymlink | CompareFilenames | CreateDirUTF8
CheckPathDelim | CompareFilenamesIgnoreCase | CreateRelativePath
ChompPathDelim | CompareFilenamesP | CreateRelativeSearchPath
CleanAndExpandDirectory | CompareFilenameStarts |
CleanAndExpandFilename | CreateAbsolutePath |

D

DbgSFileAttr | DirectoryExistsUTF8 | DirPathExists
DeleteFileUTF8 | DirectoryIsWritable |

E

ExpandFileNameUTF8 | ExtractFileNameWithoutExt | ExtractUNCVolume
ExtractFileNameOnly | ExtractFileRoot |

F

FileAgeUTF8 | FileIsText | FileSizeUtf8
FileCreateUTF8 | FileIsWritable | FindCloseUTF8
FileExistsUTF8 | FilenameIsAbsolute | FindFirstUTF8
FileGetAttrUTF8 | FilenameIsTrimmed | FindNextUTF8
FileIsExecutable | FilenameIsUnixAbsolute | FindPathInSearchPath
FileIsHardLink | FilenameIsWinAbsolute | ForceDirectoriesUTF8
FileIsInPath | FileOpenUTF8 | ForceDirectory
FileIsReadable | FileSearchUTF8 | ForcePathDelims
FileIsReadOnlyUTF8 | FileSetAttrUTF8 |
FileIsSymlink | FileSetDateUTF8 |

G

GetAppConfigDirUTF8 | GetFileDescription | GetShellLinkTarget
GetAppConfigFileUTF8 | GetForcedPathDelims | GetTempFileNameUTF8
GetCurrentDirUTF8 | GetPhysicalFilename |

I

InvalidateFileStateCache IsCurrentPathDelim IsUNCPath

M

MergeCmdLineParams MinimizeSearchPath

O

OnInvalidateFileStateCache

P

PathDelimSwitchToDelim | pdsUnix | pfeOriginal
PathIsInPath | pdsWindows | PrepareCmdLineOption
pdsNone | pfeEmpty |
pdsSystem | pfeException |

R

ReadAllLinks | RenameFileUTF8
RemoveDirUTF8 | ResolveDots

S

SetCurrentDirUTF8 | SplitCmdLine | StrToCmdLineParam
ShortDisplayFilename | SplitCmdLineParams | SwitchPathDelims

T

TInvalidateFileStateCacheEvent | TrimAndExpandDirectory | TryCreateRelativePath
TPathDelimSwitch | TrimAndExpandFilename | TryReadAllLinks
TPhysicalFilenameOnError | TrimFilename |


OnInvalidateFileStateCache

Implements the event handler for a file with an invalid file state

Declaration

Source position: lazfileutils.pas line 189

var OnInvalidateFileStateCache: TInvalidateFileStateCacheEvent = Nil;

Description

OnInvalidateFileStateCache is a TInvalidateFileStateCacheEvent variable which implements the event handler signalled for a file with an invalid file state. OnInvalidateFileStateCache allows an application to respond to the event notification for a specific file. OnInvalidateFileStateCache is signalled when InvalidateFileStateCache is called by routines that perform file manipulation.

OnInvalidateFileStateCache is significant for UNIX-like environments only, such as Linux and Amiga. OnInvalidateFileStateCache is not used in Windows environments.

See also

TInvalidateFileStateCacheEvent

Specifies the event signalled for an invalid file state in the file cache


PathDelimSwitchToDelim

Constant array with characters used as path delimiters for supported platforms and OS's

Declaration

Source position: lazfileutils.pas line 83

const PathDelimSwitchToDelim: array [TPathDelimSwitch] of Char = (PathDelim, PathDelim, '/', '\');

Description

PathDelimSwitchToDelim is an array constant with character values for path delimiters associated with TPathDelimSwitch enumeration values. The DirectorySeparator value is used for both pdsNone and pdsSystem enumeration values. For UNIX-like environments (pdsUnix), the Forward slash character ('/' ) is used for the path delimiter. For Windows platforms (pdsWindows) the backslash character ('\') is used for the path delimiter.

See also

TPathDelimSwitch |
SwitchPathDelims | Replaces path delimiters in a file path with the specified delimiter
#RTL.System.DirectorySeparator


TInvalidateFileStateCacheEvent

Specifies the event signalled for an invalid file state in the file cache

Declaration

Source position: lazfileutils.pas line 187

type TInvalidateFileStateCacheEvent = procedure(

  const Filename: string

);

Arguments

Filename

File name for the event notification

Description

TInvalidateFileStateCacheEvent is the type which specifies the event signalled for an invalid file state in the file cache. TInvalidateFileStateCacheEvent is the type used for the OnInvalidateFileStateCache event handler signalled in the InvalidateFileStateCache procedure.

See also

OnInvalidateFileStateCache | Implements the event handler for a file with an invalid file state
InvalidateFileStateCache | Signals the OnInvalidateFileStateCache event handler


TPathDelimSwitch

Declaration

Source position: lazfileutils.pas line 76

type TPathDelimSwitch = (
pdsNone, | No path delimiter changes were used
pdsSystem, | Path delimiter is switched to the default path delimiter for the system
pdsUnix, | Path delimiter is switched to the UNIX path delimiter (forward slash)
pdsWindows | Path delimiter is switched to the Windows path delimiter (backslash)
);

Description

TPathDelimSwitch is an enumerated type with values that indicate how path delimiters in file names are handled in routines like SwitchPathDelims, CheckPathDelim, and IsCurrentPathDelim. Values in the enumeration represent the various platform- or OS-specific path delimiters available in the Lazarus LCL at run-time.


TPhysicalFilenameOnError

Enumerated type representing actions performed for an unresolved file name

Declaration

Source position: lazfileutils.pas line 146

type TPhysicalFilenameOnError = (
pfeException, | Causes an exception to be raised for the missing file name.
pfeEmpty, | Causes the missing file name to be ignored.
pfeOriginal | Causes the original (missing) file name to be retained.
);

Description

TPhysicalFilenameOnError is an enumerated type with values that indicate the action taken when an error is encountered when retrieving the physical file name for a symbolic link on the local file system. TPhysicalFilenameOnError includes the following enumeration values and meanings:

pfeException
Causes an exception to be raised for the missing file name.
pfeEmpty
Causes the missing file name to be ignored.
pfeOriginal
Causes the original (missing) file name to be retained.

TPhysicalFilenameOnError is the type used to represent the OnError argument passed to the GetPhysicalFilename function.

See also

GetPhysicalFilename

Gets the physical file name for a symbolic link on the local file system


Reference for unit 'LazFreeType'

uses

  TTTypes,

  Classes;


Reference for unit 'LazFreeType': Constants

TT_Load_Debug

TT_Load_Default

TT_Load_Hint_Glyph

TT_Load_Scale_Glyph


Reference for unit 'LazFreeType': Procedures and functions

TT_Char_Index

TT_Clone_Outline

TT_Close_Face

TT_Copy_Outline

TT_Done_FreeType

TT_Done_Glyph

TT_Done_Instance

TT_Done_Outline

TT_Get_CharMap

TT_Get_CharMap_Count

TT_Get_CharMap_ID

TT_Get_Face_Pointer

TT_Get_Face_Properties

TT_Get_Font_Data

TT_Get_Glyph_Big_Metrics

TT_Get_Glyph_Bitmap

TT_Get_Glyph_Metrics

TT_Get_Glyph_Outline

TT_Get_Glyph_Pixmap

TT_Get_Glyph_Pixmap_HQ

TT_Get_Instance_Metrics

TT_Get_Instance_Pointer

TT_Get_KerningInfo

TT_Get_Name_Count

TT_Get_Name_ID

TT_Get_Name_String

TT_Get_Outline_BBox

TT_Get_Outline_Bitmap

TT_Get_Outline_Pixmap

TT_Get_Outline_Pixmap_HQ

TT_Init_FreeType

TT_Load_Glyph

TT_New_Glyph

TT_New_Instance

TT_New_Outline

TT_Open_Collection

TT_Open_Face

TT_Render_Directly_Glyph_Gray

TT_Render_Directly_Glyph_HQ

TT_Render_Directly_Outline_Gray

TT_Render_Directly_Outline_HQ

TT_Set_Face_Pointer

TT_Set_Instance_CharSize

TT_Set_Instance_CharSizes

TT_Set_Instance_PixelSizes

TT_Set_Instance_Pointer

TT_Set_Instance_PointSize

TT_Set_Instance_Resolutions

TT_Set_Instance_Transforms

TT_Set_Raster_Palette

TT_Transform_Outline

TT_Transform_Vector

TT_Translate_Outline


Index of all identifiers in unit 'LazFreeType'

T

T

TT_Char_Index | TT_Get_Glyph_Pixmap_HQ | TT_New_Outline
TT_Clone_Outline | TT_Get_Instance_Metrics | TT_Open_Collection
TT_Close_Face | TT_Get_Instance_Pointer | TT_Open_Face
TT_Copy_Outline | TT_Get_KerningInfo | TT_Render_Directly_Glyph_Gray
TT_Done_FreeType | TT_Get_Name_Count | TT_Render_Directly_Glyph_HQ
TT_Done_Glyph | TT_Get_Name_ID | TT_Render_Directly_Outline_Gray
TT_Done_Instance | TT_Get_Name_String | TT_Render_Directly_Outline_HQ
TT_Done_Outline | TT_Get_Outline_BBox | TT_Set_Face_Pointer
TT_Get_CharMap | TT_Get_Outline_Bitmap | TT_Set_Instance_CharSize
TT_Get_CharMap_Count | TT_Get_Outline_Pixmap | TT_Set_Instance_CharSizes
TT_Get_CharMap_ID | TT_Get_Outline_Pixmap_HQ | TT_Set_Instance_PixelSizes
TT_Get_Face_Pointer | TT_Init_FreeType | TT_Set_Instance_Pointer
TT_Get_Face_Properties | TT_Load_Debug | TT_Set_Instance_PointSize
TT_Get_Font_Data | TT_Load_Default | TT_Set_Instance_Resolutions
TT_Get_Glyph_Big_Metrics | TT_Load_Glyph | TT_Set_Instance_Transforms
TT_Get_Glyph_Bitmap | TT_Load_Hint_Glyph | TT_Set_Raster_Palette
TT_Get_Glyph_Metrics | TT_Load_Scale_Glyph | TT_Transform_Outline
TT_Get_Glyph_Outline | TT_New_Glyph | TT_Transform_Vector
TT_Get_Glyph_Pixmap | TT_New_Instance | TT_Translate_Outline


TT_Load_Debug

Declaration

Source position: lazfreetype.pas line 241

const TT_Load_Debug = 16;


TT_Load_Default

Declaration

Source position: lazfreetype.pas line 243

const TT_Load_Default = TT_Load_Scale_Glyph or TT_Load_Hint_Glyph;


TT_Load_Hint_Glyph

Declaration

Source position: lazfreetype.pas line 238

const TT_Load_Hint_Glyph = 2;


TT_Load_Scale_Glyph

Declaration

Source position: lazfreetype.pas line 235

const TT_Load_Scale_Glyph = 1;


Reference for unit 'LazFreeTypeFontCollection'

uses

  Classes,

  sysutils,

  Laz_AVL_Tree,

  EasyLazFreeType,

  LazFreeType,

  TTTypes;


Reference for unit 'LazFreeTypeFontCollection': Classes

TFamilyCollectionItem

TFontCollectionItem

TFreeTypeFontCollection


Reference for unit 'LazFreeTypeFontCollection': Procedures and functions

SetDefaultFreeTypeFontCollection


Index of all identifiers in unit 'LazFreeTypeFontCollection'

S T

S

SetDefaultFreeTypeFontCollection

T

TFamilyCollectionItem TFontCollectionItem TFreeTypeFontCollection


Reference for unit 'LazFreeTypeFPImageDrawer'

uses

  Classes,

  sysutils,

  EasyLazFreeType,

  FPimage;


Reference for unit 'LazFreeTypeFPImageDrawer': Types

TLazIntfImageGetPixelAtProc

TLazIntfImageSetPixelAtProc


Reference for unit 'LazFreeTypeFPImageDrawer': Classes

TFPImageFreeTypeDrawer

TFPImageWithScanlineFreeTypeDrawer

TFPMemoryImageWithScanline


Index of all identifiers in unit 'LazFreeTypeFPImageDrawer'

T

T

TFPImageFreeTypeDrawer | TFPMemoryImageWithScanline | TLazIntfImageSetPixelAtProc
TFPImageWithScanlineFreeTypeDrawer | TLazIntfImageGetPixelAtProc |


TLazIntfImageGetPixelAtProc

Declaration

Source position: lazfreetypefpimagedrawer.pas line 19

type TLazIntfImageGetPixelAtProc = procedure(

  p: pointer;

  out Color: TFPColor

);


TLazIntfImageSetPixelAtProc

Declaration

Source position: lazfreetypefpimagedrawer.pas line 20

type TLazIntfImageSetPixelAtProc = procedure(

  p: pointer;

  const Color: TFPColor

);


Reference for unit 'LazLinkedList'

Defines a simple doubly linked list

uses

  Classes,

  sysutils;


Reference for unit 'LazLinkedList': Classes

TLinkList | Defines a simple doubly linked list class
TLinkListItem | Implements an item in a doubly linked list


Index of all identifiers in unit 'LazLinkedList'

T

T

TLinkList TLinkListItem


Reference for unit 'LazListClasses'

uses

  Classes,

  sysutils,

  math,

  LazLoggerBase;


Reference for unit 'LazListClasses': Types

TLazPagedListObjParent

TLazStorageMemGrowProc

TLazStorageMemShrinkProc


Reference for unit 'LazListClasses': Classes

TLazFixedRoundBufferListMemBase

TLazListClassesInternalMem

TLazListClassesItemSize

TLazListClassesVarItemSize

TLazPagedListObj

TLazPagedListObjBase

TLazRoundBufferListObj

TLazRoundBufferListObjBase

TLazRoundBufferListObjGen

TLazShiftBufferList

TLazShiftBufferListGen

TLazShiftBufferListObj

TLazShiftBufferListObjBase

TLazShiftBufferListObjGen


Index of all identifiers in unit 'LazListClasses'

T

T

TLazFixedRoundBufferListMemBase | TLazPagedListObjParent | TLazShiftBufferListObj
TLazListClassesInternalMem | TLazRoundBufferListObj | TLazShiftBufferListObjBase
TLazListClassesItemSize | TLazRoundBufferListObjBase | TLazShiftBufferListObjGen
TLazListClassesVarItemSize | TLazRoundBufferListObjGen | TLazStorageMemGrowProc
TLazPagedListObj | TLazShiftBufferList | TLazStorageMemShrinkProc
TLazPagedListObjBase | TLazShiftBufferListGen |


TLazPagedListObjParent

Declaration

Source position: lazlistclasses.pas line 506

type TLazPagedListObjParent = TLazPagedListObjParent;


TLazStorageMemGrowProc

Declaration

Source position: lazlistclasses.pas line 184

type TLazStorageMemGrowProc = function(

  ARequired: Integer

):Integer of object;


TLazStorageMemShrinkProc

Declaration

Source position: lazlistclasses.pas line 183

type TLazStorageMemShrinkProc = function(

  ARequired: Integer

):Integer of object;


Reference for unit 'LazLogger'

Provides a log framework

uses
Classes,
sysutils,
Types,
math,
LazLoggerBase, |
LazClasses, |
LazFileUtils, | Contains types, procedures, and functions used for file and directory operations
LazStringUtils, | Contains routines used for string manipulation
LazUTF8; | Number of characters (codepoints) to get from the string

Overview

LazLogger provides logging facilities to write message to a file. Messages can be logged plain, or enclosed in begin/end like blocks, adding indent to all messages between to points (blocks can be nested). It also has the ability to filter groups of messages.

It can reads the command line and environment to find the desired filename. By default it looks for --debug-log= on the command line or "appname"_debuglog in environment.

If no log name is found StdOut is used.

The easiest method is to use the unit and put "DebugLn"/ "DbgOut" / "DebugLnEnter"/ "DebugLnExit" in your code. This works without any further setup.


Reference for unit 'LazLogger': Types

PLazLoggerLogGroup


Reference for unit 'LazLogger': Classes

TLazLoggerFile |
TLazLoggerFileHandle | A log file writer object
TLazLoggerFileHandleMainThread | File operations are queued for the main thread
TLazLoggerFileHandleThreadSave | Performs file operations using a critical section


Reference for unit 'LazLogger': Procedures and functions

assign(Boolean):TLazLoggerLogEnabled
assign(PLazLoggerLogGroup):TLazLoggerLogEnabled
dbghex |
dbgMemRange |
dbgMemStream |
dbgObjMem |
DbgOut | Write message to log
DbgS |
DbgSJoin |
DbgSName |
DbgStr |
DbgWideStr |
DebugLn | Write message to log
DebugLnEnter | Write message to log
DebugLnExit | Write message to log
DebuglnStack |
DumpExceptionBackTrace |
GetDebugLogger |
logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled
logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled
SetDebugLogger |


Index of all identifiers in unit 'LazLogger'

A D G L P S T

A

assign(Boolean):TLazLoggerLogEnabled assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

D

dbghex | DbgS | DebugLn
dbgMemRange | DbgSJoin | DebugLnEnter
dbgMemStream | DbgSName | DebugLnExit
dbgObjMem | DbgStr | DebuglnStack
DbgOut | DbgWideStr | DumpExceptionBackTrace

G

GetDebugLogger

L

logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

P

PLazLoggerLogGroup

S

SetDebugLogger

T

TLazLoggerFile | TLazLoggerFileHandleMainThread
TLazLoggerFileHandle | TLazLoggerFileHandleThreadSave


PLazLoggerLogGroup

Declaration

Source position: lazlogger.pas line 22

type PLazLoggerLogGroup = LazLoggerBase.PLazLoggerLogGroup;


Reference for unit 'LazLoggerBase'

uses
Classes,
sysutils,
Types,
math,
LazClasses, |
LazUTF8; | Number of characters (codepoints) to get from the string


Reference for unit 'LazLoggerBase': Types

PLazLoggerLogGroup

TLazDebugLoggerCreator

TLazLoggerLogEnabled

TLazLoggerLogGroup

TLazLoggerLogGroupFlag

TLazLoggerLogGroupFlags

TLazLoggerWidgetSetWriteEvent

TLazLoggerWriteEvent

TLazLoggerWriteTarget


Reference for unit 'LazLoggerBase': Classes

TLazLogger

TLazLoggerBlockHandler

TLazLoggerLogGroupList

TLazLoggerNoOutput

TLazLoggerWithGroupParam


Reference for unit 'LazLoggerBase': Procedures and functions

assign(Boolean):TLazLoggerLogEnabled

assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

dbghex

dbgMemRange

dbgMemStream

dbgObjMem

DbgOut

DbgS

DbgSJoin

DbgSName

DbgStr

DbgWideStr

DebugLn

DebugLnEnter

DebugLnExit

DebuglnStack

DumpExceptionBackTrace

DumpStack

GetDebugLogger

GetDebugLoggerGroups

GetExistingDebugLogger

GetParamByName

GetParamByNameCount

logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

RecreateDebugLogger

SetDebugLogger

SetDebugLoggerGroups


Reference for unit 'LazLoggerBase': Variables

LazDebugLoggerCreator

OnWidgetSetDbgOut

OnWidgetSetDebugLn


Index of all identifiers in unit 'LazLoggerBase'

A D G L O P R S T

A

assign(Boolean):TLazLoggerLogEnabled assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

D

dbghex | DbgSJoin | DebugLnExit
dbgMemRange | DbgSName | DebuglnStack
dbgMemStream | DbgStr | DumpExceptionBackTrace
dbgObjMem | DbgWideStr | DumpStack
DbgOut | DebugLn |
DbgS | DebugLnEnter |

G

GetDebugLogger | GetExistingDebugLogger | GetParamByNameCount
GetDebugLoggerGroups | GetParamByName |

L

LazDebugLoggerCreator | logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lwtStdErr
lgfAddedByParamParser | logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled | lwtStdOut
lgfNoDefaultEnabledSpecified | lwtNone | lwtTextFile

O

OnWidgetSetDbgOut OnWidgetSetDebugLn

P

PLazLoggerLogGroup

R

RecreateDebugLogger

S

SetDebugLogger SetDebugLoggerGroups

T

TLazDebugLoggerCreator | TLazLoggerLogGroupFlag | TLazLoggerWithGroupParam
TLazLogger | TLazLoggerLogGroupFlags | TLazLoggerWriteEvent
TLazLoggerBlockHandler | TLazLoggerLogGroupList | TLazLoggerWriteTarget
TLazLoggerLogEnabled | TLazLoggerNoOutput |
TLazLoggerLogGroup | TLazLoggerWidgetSetWriteEvent |


LazDebugLoggerCreator

Declaration

Source position: lazloggerbase.pas line 312

var LazDebugLoggerCreator: TLazDebugLoggerCreator = Nil;


OnWidgetSetDbgOut

Declaration

Source position: lazloggerbase.pas line 314

var OnWidgetSetDbgOut: TLazLoggerWidgetSetWriteEvent = ;


OnWidgetSetDebugLn

Declaration

Source position: lazloggerbase.pas line 313

var OnWidgetSetDebugLn: TLazLoggerWidgetSetWriteEvent = ;


PLazLoggerLogGroup

Declaration

Source position: lazloggerbase.pas line 42

type PLazLoggerLogGroup = ^TLazLoggerLogGroup;


TLazDebugLoggerCreator

Declaration

Source position: lazloggerbase.pas line 308

type TLazDebugLoggerCreator = function: TRefCountedObject;


TLazLoggerLogEnabled

Declaration

Source position: lazloggerbase.pas line 44

type TLazLoggerLogEnabled = record

  Enabled: Boolean;

  Group: PLazLoggerLogGroup;

end;


TLazLoggerLogGroup

Declaration

Source position: lazloggerbase.pas line 36

type TLazLoggerLogGroup = record

  ConfigName: string;

  Enabled: Boolean;

  Flags: TLazLoggerLogGroupFlags;

  FOpenedIndents: Integer;

end;


TLazLoggerLogGroupFlag

Declaration

Source position: lazloggerbase.pas line 29

type TLazLoggerLogGroupFlag = (

  lgfAddedByParamParser,

  lgfNoDefaultEnabledSpecified

);


TLazLoggerLogGroupFlags

Declaration

Source position: lazloggerbase.pas line 34

type TLazLoggerLogGroupFlags = set of (

  lgfAddedByParamParser,

  lgfNoDefaultEnabledSpecified

);


TLazLoggerWidgetSetWriteEvent

Declaration

Source position: lazloggerbase.pas line 56

type TLazLoggerWidgetSetWriteEvent = procedure(

  Sender: TObject;

  S: string;

  var Handled: Boolean;

  Target: TLazLoggerWriteTarget;

  Data: Pointer

) of object;


TLazLoggerWriteEvent

Declaration

Source position: lazloggerbase.pas line 55

type TLazLoggerWriteEvent = procedure(

  Sender: TObject;

  S: string;

  var Handled: Boolean

) of object;


TLazLoggerWriteTarget

Declaration

Source position: lazloggerbase.pas line 49

type TLazLoggerWriteTarget = (

  lwtNone,

  lwtStdOut,

  lwtStdErr,

  lwtTextFile

);


Reference for unit 'LazLoggerDummy'

uses
Classes,
sysutils,
FileUtil, | Miscellaneous procedures, functions, types, and classes for manipulating files and file names
Types,
LazClasses; |


Reference for unit 'LazLoggerDummy': Types

PLazLoggerLogGroup

TLazDebugLoggerCreator

TLazLoggerLogEnabled

TLazLoggerLogGroup

TLazLoggerLogGroupFlag

TLazLoggerLogGroupFlags

TLazLoggerWriteEvent


Reference for unit 'LazLoggerDummy': Classes

TLazLogger

TLazLoggerBlockHandler

TLazLoggerLogGroupList


Reference for unit 'LazLoggerDummy': Procedures and functions

assign(Boolean):TLazLoggerLogEnabled

assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

dbghex

dbgMemRange

dbgMemStream

dbgObjMem

DbgOut

DbgS

DbgSJoin

DbgSName

DebugLn

DebugLnEnter

DebugLnExit

DebuglnStack

DumpExceptionBackTrace

GetDebugLogger

GetDebugLoggerGroups

GetExistingDebugLogger

logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled

RecreateDebugLogger

SetDebugLogger

SetDebugLoggerGroups


Reference for unit 'LazLoggerDummy': Variables

LazDebugLoggerCreator

OnWidgetSetDbgOut

OnWidgetSetDebugLn


Index of all identifiers in unit 'LazLoggerDummy'

A D G L O P R S T

A

assign(Boolean):TLazLoggerLogEnabled assign(PLazLoggerLogGroup):TLazLoggerLogEnabled

D

dbghex | DbgS | DebugLnExit
dbgMemRange | DbgSJoin | DebuglnStack
dbgMemStream | DbgSName | DumpExceptionBackTrace
dbgObjMem | DebugLn |
DbgOut | DebugLnEnter |

G

GetDebugLogger GetDebugLoggerGroups GetExistingDebugLogger

L

LazDebugLoggerCreator | lgfNoDefaultEnabledSpecified | logicalor(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled
lgfAddedByParamParser | logicaland(TLazLoggerLogEnabled,TLazLoggerLogEnabled):TLazLoggerLogEnabled |

O

OnWidgetSetDbgOut OnWidgetSetDebugLn

P

PLazLoggerLogGroup

R

RecreateDebugLogger

S

SetDebugLogger SetDebugLoggerGroups

T

TLazDebugLoggerCreator | TLazLoggerLogEnabled | TLazLoggerLogGroupFlags
TLazLogger | TLazLoggerLogGroup | TLazLoggerLogGroupList
TLazLoggerBlockHandler | TLazLoggerLogGroupFlag | TLazLoggerWriteEvent


LazDebugLoggerCreator

Declaration

Source position: lazloggerdummy.pas line 216

var LazDebugLoggerCreator: TLazDebugLoggerCreator = Nil;


OnWidgetSetDbgOut

Declaration

Source position: lazloggerdummy.pas line 218

var OnWidgetSetDbgOut: TLazLoggerWriteEvent = ;


OnWidgetSetDebugLn

Declaration

Source position: lazloggerdummy.pas line 217

var OnWidgetSetDebugLn: TLazLoggerWriteEvent = ;


PLazLoggerLogGroup

Declaration

Source position: lazloggerdummy.pas line 42

type PLazLoggerLogGroup = ^TLazLoggerLogGroup;


TLazDebugLoggerCreator

Declaration

Source position: lazloggerdummy.pas line 212

type TLazDebugLoggerCreator = function: TRefCountedObject;


TLazLoggerLogEnabled

Declaration

Source position: lazloggerdummy.pas line 44

type TLazLoggerLogEnabled = record

end;


TLazLoggerLogGroup

Declaration

Source position: lazloggerdummy.pas line 36

type TLazLoggerLogGroup = record

  ConfigName: string;

  Enabled: Boolean;

  Flags: TLazLoggerLogGroupFlags;

  FOpenedIndents: Integer;

end;


TLazLoggerLogGroupFlag

Declaration

Source position: lazloggerdummy.pas line 29

type TLazLoggerLogGroupFlag = (

  lgfAddedByParamParser,

  lgfNoDefaultEnabledSpecified

);


TLazLoggerLogGroupFlags

Declaration

Source position: lazloggerdummy.pas line 34

type TLazLoggerLogGroupFlags = set of (

  lgfAddedByParamParser,

  lgfNoDefaultEnabledSpecified

);


TLazLoggerWriteEvent

Declaration

Source position: lazloggerdummy.pas line 48

type TLazLoggerWriteEvent = procedure(

  Sender: TObject;

  S: string;

  var Handled: Boolean

) of object;


Reference for unit 'LazLoggerProfiling'

uses

  Classes,

  sysutils,

  LazLoggerBase,

  LazSysUtils;


Reference for unit 'LazLoggerProfiling': Classes

TLazLoggerBlockMemWatch

TLazLoggerBlockTimer


Reference for unit 'LazLoggerProfiling': Procedures and functions

DbgsMemUsed

DbgStartMemWatch

DbgStartTimer

DbgsTimeUsed

DbgStopMemWatch

DbgStopTimer


Index of all identifiers in unit 'LazLoggerProfiling'

D T

D

DbgsMemUsed | DbgStartTimer | DbgStopMemWatch
DbgStartMemWatch | DbgsTimeUsed | DbgStopTimer

T

TLazLoggerBlockMemWatch TLazLoggerBlockTimer


Reference for unit 'LazMethodList'

Implements a list of TMethod entries

uses

  Classes,

  sysutils,

  RtlConsts;


Reference for unit 'LazMethodList': Classes

TMethodList

Implements a list of TMethod entries


Reference for unit 'LazMethodList': Procedures and functions

CompareMethods

Performs a comparison between the specified methods


Index of all identifiers in unit 'LazMethodList'

C T

C

CompareMethods

T

TMethodList


EndOfLine

Declaration

Source position: lazstringutils.pas line 38

const EndOfLine: shortstring = LineEnding;


Reference for unit 'LazStringUtils'

Contains routines used for string manipulation

uses
Classes,
sysutils,
LazUTF8, | Number of characters (codepoints) to get from the string
LazLoggerBase, |
LazTracer;

Overview

LazStringUtils.pas contains routines used for string manipulation. It is part of the LazUtils package.


Reference for unit 'LazStringUtils': Constants

EndOfLine


Reference for unit 'LazStringUtils': Types

TCommentType

TCommentTypes


Reference for unit 'LazStringUtils': Procedures and functions

BinaryStrToText |
BreakString |
ChangeLineEndings |
CommentText | Converts a string into a comment using the specified comment style
ConvertLineEndings |
FindNextDelimitedItem |
GetNextDelimitedItem |
GetPart |
HasDelimitedItem |
IsNumber |
LazIsValidIdent | This is a copy of IsValidIdent from FPC 3.1
LineBreaksToDelimiter |
LineBreaksToSystemLineBreaks |
LineEndingCount |
MergeWithDelimiter |
SamePChar | Return True if P1 and P2 have the same content
SimpleSyntaxToRegExpr |
SpecialCharsToHex |
SpecialCharsToSpaces |
SplitString |
StringCase |
StringListPartToText | Converts the specified lines in TStrings to a string
StringListToString | Converts the contents in TStrings to a string
StringListToText |
StringToStringList | Stores the specified string as lines in a TStrings instance
StripLN |
StrLScan | Like StrScan but compares only the specified number of characters in MaxLen
SwapCase |
TabsToSpaces |
TextToSingleLine |


Index of all identifiers in unit 'LazStringUtils'

B C E F G H I L M S T

B

BinaryStrToText BreakString

C

ChangeLineEndings | comtDelphi | comtPerl
CommentText | comtHtml | comtTurboPascal
comtCPP | comtNone | ConvertLineEndings
comtDefault | comtPascal |

E

EndOfLine

F

FindNextDelimitedItem

G

GetNextDelimitedItem GetPart

H

HasDelimitedItem

I

IsNumber

L

LazIsValidIdent | LineBreaksToSystemLineBreaks
LineBreaksToDelimiter | LineEndingCount

M

MergeWithDelimiter

S

SamePChar | StringCase | StripLN
SimpleSyntaxToRegExpr | StringListPartToText | StrLScan
SpecialCharsToHex | StringListToString | SwapCase
SpecialCharsToSpaces | StringListToText |
SplitString | StringToStringList |

T

TabsToSpaces | TCommentTypes
TCommentType | TextToSingleLine


TCommentType

Declaration

Source position: lazstringutils.pas line 25

type TCommentType = (

  comtDefault,

  comtNone,

  comtPascal,

  comtDelphi,

  comtTurboPascal,

  comtCPP,

  comtPerl,

  comtHtml

);


TCommentTypes

Declaration

Source position: lazstringutils.pas line 35

type TCommentTypes = set of (

  comtDefault,

  comtNone,

  comtPascal,

  comtDelphi,

  comtTurboPascal,

  comtCPP,

  comtPerl,

  comtHtml

);


Reference for unit 'LazSysUtils'

uses

  sysutils;


Reference for unit 'LazSysUtils': Procedures and functions

GetTickCount64 | Gets the number of Milliseconds elapsed since the computer was started
NowUTC | Gets the current date and time in UTC (Coordinated Universal Time)


Index of all identifiers in unit 'LazSysUtils'

G N

G

GetTickCount64

N

NowUTC


Reference for unit 'LazTracer'

uses
Classes,
sysutils,
Laz_AVL_Tree,
LazLoggerBase, |
LazUtilities, |
LazUtilsStrConsts; | Resource strings used in the LazUtils package


Reference for unit 'LazTracer': Types

PLineInfoCacheItem | Pointer to a TLineInfoCacheItem type
TLineInfoCacheItem | Record type used to store a pointer to a code address and its additional information
TStackTracePointers | Array type used for Pointers to code addresses


Reference for unit 'LazTracer': Procedures and functions

GetLineInfo | Gets information about the specified code address
GetStackTrace | Retrieves backtrace information for code addresses
GetStackTracePointers | Retrieve the addresses and information for a code address and its callers
RaiseAndCatchException | Raises an exception that is caught and handled in an application
RaiseGDBException | Raises an exception in the GDB debugger
StackTraceAsString | Gets a string with backtrace information for the specified call stack


Index of all identifiers in unit 'LazTracer'

G P R S T

G

GetLineInfo GetStackTrace GetStackTracePointers

P

PLineInfoCacheItem

R

RaiseAndCatchException RaiseGDBException

S

StackTraceAsString

T

TLineInfoCacheItem TStackTracePointers


PLineInfoCacheItem

Pointer to a TLineInfoCacheItem type

Declaration

Source position: laztracer.pas line 18

type PLineInfoCacheItem = ^TLineInfoCacheItem;

Description

Used in the implementation of the GetLineInfo routine.

See also

GetLineInfo

Gets information about the specified code address


TLineInfoCacheItem

Record type used to store a pointer to a code address and its additional information

Declaration

Source position: laztracer.pas line 14

type TLineInfoCacheItem = record
Addr: Pointer; | Pointer to the address for a source code symbol
Info: string; | Contains additional information about the code address and its origin
end;

See also

PLineInfoCacheItem | Pointer to a TLineInfoCacheItem type
GetLineInfo | Gets information about the specified code address


TStackTracePointers

Array type used for Pointers to code addresses

Declaration

Source position: laztracer.pas line 13

type TStackTracePointers = array of Pointer;

Description

TStackTracePointers is an Array type which contains Pointers to code addresses. TStackTracePointers is the type passed as an argument to the GetStackTracePointers and StackTraceAsString routines. It is also the type used to implement the CreationStack and DestructionStack members in TDebugLCLItemInfo.

See also

GetStackTracePointers | Retrieve the addresses and information for a code address and its callers
StackTraceAsString | Gets a string with backtrace information for the specified call stack
#LCL.LCLProc.TDebugLCLItemInfo


Reference for unit 'LazUnicode'

Provides encoding-agnostic Unicode string manipulation functions and an enumerator

uses

  Classes,

  sysutils,

  character,

  LazUTF16;

Overview

lazunicode.pas provides encoding-agnostic Unicode string manipulation functions and an enumerator. It works transparently with UTF-8 and UTF-16 encodings, and allows one codebase to work for:

  1. Lazarus using its default UTF-8 encoding
  2. Future FPC and Lazarus versions with Delphi compatible UTF-16 encoding
  3. Delphi compatibility where String is defined as UnicodeString
Remark: Behavior of helper functions are altered using the {$ModeSwitch UnicodeStrings} directive; the correct routines for handling UTF-8 or UTF-16 are called based on the mode switch value.


Reference for unit 'LazUnicode': Classes

TCodePointEnumerator | Base class for a Unicode codepoint enumerator
TUnicodeCharacterEnumerator | Implements an enumerator for Unicode codepoints
TUnicodeEnumeratorBase |


Reference for unit 'LazUnicode': Procedures and functions

CodePointCopy | Copies the specified number of codepoints starting at a character position
CodePointLength | Gets the number of codepoints in the specified string.
CodePointPos | Gets the position where the search value is found in a string
CodePointSize | Gets the number of bytes needed for a CodePoint in the specified value
IsCombining | Determines if the specified value is a combining codepoint
StringOfCodePoint | Creates a string with the specified number of codepoints.
UnicodeToWinCP | Converts the specified value to the Windows system codepage
WinCPToUnicode | Converts the specified string to Unicode


Index of all identifiers in unit 'LazUnicode'

C I S T U W

C

CodePointCopy | CodePointPos
CodePointLength | CodePointSize

I

IsCombining

S

StringOfCodePoint

T

TCodePointEnumerator TUnicodeCharacterEnumerator TUnicodeEnumeratorBase

U

UnicodeToWinCP

W

WinCPToUnicode


Reference for unit 'LazUTF16'

uses

  Classes,

  sysutils;


Reference for unit 'LazUTF16': Types

PtrInt


Reference for unit 'LazUTF16': Procedures and functions

IsUTF16CharValid

IsUTF16StringValid

UnicodeLowercase

UnicodeToUTF16

UTF16CharacterLength

UTF16CharacterToUnicode

UTF16CharStart

UTF16Copy

UTF16Length

UTF16Pos

Utf16StringReplace


Index of all identifiers in unit 'LazUTF16'

I P U

I

IsUTF16CharValid IsUTF16StringValid

P

PtrInt

U

UnicodeLowercase | UTF16CharacterToUnicode | UTF16Length
UnicodeToUTF16 | UTF16CharStart | UTF16Pos
UTF16CharacterLength | UTF16Copy | Utf16StringReplace


PtrInt

Declaration

Source position: lazutf16.pas line 35

type PtrInt = NativeInt;


FPUpChars

Uppercase characters for all values in the char type

Declaration

Source position: lazutf8.pas line 209

var FPUpChars: array [char] of Char = ;

Description

FPUpChars is an array of char type with the Lower and Upper bounds permitted for the char type. Values in FPUpChars are assigned in the initialization section for the lazutf8.pas unit, and contains the upper case equivalent for all characters in the char type.


Reference for unit 'LazUTF8'

Number of characters (codepoints) to get from the string

uses

  Classes,

  sysutils,

  strutils;

Overview

UTF8LeftStr is used to get the specified number of characters (codepoints) at the beginning of the UTF-8-encoded string. UTF8LeftStr calls Utf8Copy to get the return value for the function.


Reference for unit 'LazUTF8': Types

TConvertOption | Indicates options enabled during UTF-8 <-> UTF-16 conversions
TConvertOptions | Stores values from the TConvertOption enumeration
TConvertResult | Indicates the result from UTF-8 <-> UTF-16 conversions
TEscapeMode |
TUTF8TrimFlag | Controls trimming actions performed in UTF8Trim
TUTF8TrimFlags | Stores values from the TUTF8TrimFlag enumeration


Reference for unit 'LazUTF8': Procedures and functions

CompareStrListUTF8LowerCase | Compares the specified lines of text in a TStringList
ConsoleToUTF8 | Converts an OEM-encoded string to UTF8
ConvertUTF16ToUTF8 | Converts values from UTF-16 encoding to UTF-8 encoding
ConvertUTF8ToUTF16 | Converts values from UTF-8 encoding to UTF-16 encoding
FindInvalidUTF8Character | Returns -1 if OK, otherwise byte index of invalid UTF-8 codepoint
FindInvalidUTF8Codepoint | Finds the position where an invalid UTF-8 codepoint is found in the string
GetEnvironmentStringUTF8 | Returns a system environment string.
GetEnvironmentVariableCountUTF8 | Returns the number of system environment variables.
GetEnvironmentVariableUTF8 | Returns the value of a system environment variable
LazGetLanguageIDs |
LazGetShortLanguageID |
NeedRTLAnsi | Indicates if the OS requires use of AnsiToUTF8 and UTF8ToAnsi for the RTL
ParamStrUTF8 | Converts the specified command line parameter to a UTF-8-encoded string
ReplaceSubstring
SetNeedRTLAnsi | Sets the value for the unit global variable
SysErrorMessageUTF8 | Gets the UTF-8-encoded system error message for the specified error code
SysToUTF8 | Converts strings (and format settings) from the system codepage to UTF-8
UnicodeToUTF8 | Encodes the given code point as an UTF-8 sequence of 1 to 4 bytes
UnicodeToUTF8Inline | Encodes the given code point as an UTF-8 sequence of 1 to 4 bytes
UnicodeToUTF8SkipErrors | Stores a single Unicode codepoint as a UTF-8-encoded value in the buffer
UTF16ToUTF8 | Converts a UTF-16-encoded string (system endian) to UTF-8 encoding
UTF8AddChar | Adds the specified number of UTF-8 codepoints to a string
UTF8AddCharR | Appends the specified number of UTF-8 codepoints to a string
UTF8CharacterLength | Returns the number of bytes for the codepoint starting at p
UTF8CharacterStrictLength | Returns the length in bytes (1..4) for a valid UTF-8 character. Otherwise 0.
UTF8CharacterToUnicode | Returns the codepoint at p and the number of bytes to skip
UTF8CharStart |
UTF8CharToByteIndex |
UTF8CodepointSize | Returns the size of the UTF-8 codepoint in bytes
UTF8CodepointSizeFast | Fast version of UTF8CodepointSize
UTF8CodepointStart | Finds the n-th UTF-8 codepoint
UTF8CodepointStrictSize | Gets the number of bytes needed for the UTF-8 codepoint
UTF8CodepointToByteIndex | Finds the byte index of the n-th UTF-8 codepoint
UTF8CodepointToUnicode |
UTF8CompareStr | Compares the UTF-8-encoded string values
UTF8CompareStrCollated | Compare two strings using language-specific sorting
UTF8CompareStrP
UTF8CompareText | Case-insensitive comparison of two UTF-8-encoded values
UTF8Copy | Copies the specified number of codepoints from the UTF-8-encoded string
UTF8CStringToUTF8String | Copies from a C-style string with UTF-8 encoding to UTF-8 string
UTF8Delete | Deletes characters (or codepoints) in a UTF-8-encoded string
UTF8EndsText | Determines if a string ends with the specified value
Utf8EscapeControlChars | Translates control characters in a UTF-8-encoded string into human readable format
UTF8FindNearestCharStart | Finds the start of the UTF-8 character at the specified position
UTF8FixBroken | Replaces all invalid UTF-8 characters with spaces
UTF8Insert | Inserts the specified values into a string at the given position
UTF8LeftStr
UTF8Length | Gets the length of a UTF-8-encoded string in codepoints
UTF8LengthFast | Fast version of UTF8Length
UTF8LowerCase | Converts the specified string to lowercase using Unicode case mapping rules
UTF8LowerString
UTF8PadCenter | Center aligns a string to the specified length
UTF8PadLeft | Adds the specified number of values in AUtf8Char to the beginning of a string
UTF8PadRight | Appends the specified number of UTF-8 codepoints to the end of a string
UTF8Pos | Returns the character index where the search text starts in the string
UTF8PosP
UTF8ProperCase | Capitalizes the first letter of each word in the string
UTF8QuotedStr | Performs safe quoting for the string value
UTF8ReverseString |
UTF8RightStr | Gets the specified number of characters (codepoints) at the end of the string
UTF8RPos |
UTF8StartsText | Determines if a string starts with the specified value
UTF8StringOfChar | Creates a string filled with the specified number of given codepoints
UTF8StringReplace | Replaces values in a String matching a pattern starting at a given position
UTF8SwapCase | Provides a simplistic implementation of UTF8UpperCase and UTF8LowerCase
UTF8ToConsole | Converts a UTF-8-encoded string to console (OEM) encoding
UTF8ToDoubleByte | Converts a UTF-8-encode string to its DBCS representation
UTF8ToDoubleByteString | Converts UTF-8 values to their DBCS equivalent
UTF8ToSys | Ensures UTF-8 characters (or format settings) are converted to the system code page
UTF8ToUTF16 | Converts the UTF-8 encoded string to UTF-16 encoding (system endian)
UTF8ToWinCP | Converts the UTF-8-encoded string to the Windows code page encoding
UTF8Trim | Removes leading and trailing whitespace or control characters
Utf8TryFindCodepointStart | Tries to find the start of a valid UTF-8 codepoint in a string
UTF8UpperCase | Converts the specified string to uppercase using Unicode case mapping rules
UTF8UpperString | Inline variant of UTF8UpperCase.
UTF8WrapText |
WinCPToUTF8 | Converts the string from Windows code page to UTF-8


Reference for unit 'LazUTF8': Variables

FPUpChars

Uppercase characters for all values in the char type


Index of all identifiers in unit 'LazUTF8'

C E F G L N P R S T U W

C

CompareStrListUTF8LowerCase | ConvertUTF16ToUTF8
ConsoleToUTF8 | ConvertUTF8ToUTF16

E

emAsciiControlNames | emHexC | emPascal
emC | emHexPascal |

F

FindInvalidUTF8Character FindInvalidUTF8Codepoint FPUpChars

G

GetEnvironmentStringUTF8 GetEnvironmentVariableCountUTF8 GetEnvironmentVariableUTF8

L

LazGetLanguageIDs LazGetShortLanguageID

N

NeedRTLAnsi

P

ParamStrUTF8

R

ReplaceSubstring

S

SetNeedRTLAnsi SysErrorMessageUTF8 SysToUTF8

T

TConvertOption | toUnfinishedCharError | trNullSrc
TConvertOptions | toUnfinishedCharToSymbol | trUnfinishedChar
TConvertResult | trDestExhausted | TUTF8TrimFlag
TEscapeMode | trInvalidChar | TUTF8TrimFlags
toInvalidCharError | trNoError |
toInvalidCharToSymbol | trNullDest |

U

u8tKeepControlCodes | UTF8CodepointToUnicode | UTF8PosP
u8tKeepEnd | UTF8CompareStr | UTF8ProperCase
u8tKeepLineBreaks | UTF8CompareStrCollated | UTF8QuotedStr
u8tKeepNoBreakSpaces | UTF8CompareStrP | UTF8ReverseString
u8tKeepStart | UTF8CompareText | UTF8RightStr
u8tKeepTabs | UTF8Copy | UTF8RPos
UnicodeToUTF8 | UTF8CStringToUTF8String | UTF8StartsText
UnicodeToUTF8Inline | UTF8Delete | UTF8StringOfChar
UnicodeToUTF8SkipErrors | UTF8EndsText | UTF8StringReplace
UTF16ToUTF8 | Utf8EscapeControlChars | UTF8SwapCase
UTF8AddChar | UTF8FindNearestCharStart | UTF8ToConsole
UTF8AddCharR | UTF8FixBroken | UTF8ToDoubleByte
UTF8CharacterLength | UTF8Insert | UTF8ToDoubleByteString
UTF8CharacterStrictLength | UTF8LeftStr | UTF8ToSys
UTF8CharacterToUnicode | UTF8Length | UTF8ToUTF16
UTF8CharStart | UTF8LengthFast | UTF8ToWinCP
UTF8CharToByteIndex | UTF8LowerCase | UTF8Trim
UTF8CodepointSize | UTF8LowerString | Utf8TryFindCodepointStart
UTF8CodepointSizeFast | UTF8PadCenter | UTF8UpperCase
UTF8CodepointStart | UTF8PadLeft | UTF8UpperString
UTF8CodepointStrictSize | UTF8PadRight | UTF8WrapText
UTF8CodepointToByteIndex | UTF8Pos |

W

WinCPToUTF8


TConvertOption

Indicates options enabled during UTF-8 <-> UTF-16 conversions

Declaration

Source position: lazutf8.pas line 187

type TConvertOption = (

  toInvalidCharError,

  toInvalidCharToSymbol,

  toUnfinishedCharError,

  toUnfinishedCharToSymbol

);

Description

TConvertOption is an enumeration type with values that indicate options enabled during UTF-8 <-> UTF-16 conversions.


TConvertOptions

Stores values from the TConvertOption enumeration

Declaration

Source position: lazutf8.pas line 189

type TConvertOptions = set of (

  toInvalidCharError,

  toInvalidCharToSymbol,

  toUnfinishedCharError,

  toUnfinishedCharToSymbol

);

Description

Stores values from the TConvertOption enumeration. Passed as an argument to ConvertUTF8ToUTF16 and ConvertUTF16ToUTF8.


TConvertResult

Indicates the result from UTF-8 <-> UTF-16 conversions

Declaration

Source position: lazutf8.pas line 184

type TConvertResult = (
trNoError, | No error in the conversion
trNullSrc, | Source value is null
trNullDest, | Destination value is null
trDestExhausted, | Destination value is too small for the converted value
trInvalidChar, | An invalid encoding was found in the source value
trUnfinishedChar | An unfinished encoding was found in the source value
);

Description

TConvertResult is an enumeration type with values that indicate the result from ConvertUTF8ToUTF16 and ConvertUTF16ToUTF8 function calls.


TEscapeMode

Declaration

Source position: lazutf8.pas line 158

type TEscapeMode = (
emPascal, | Pascal-style escape characters '#27'
emHexPascal, | Pascal-style hexadecimal strings '#$1B'
emHexC, | C-style hexadecimal strings '\0x1B'
emC, | C-style strings '\t'
emAsciiControlNames | ASCII-style control names '[ESC]'
);

Description

TEscapeMode is an enumeration type with values that determine the output style for escaped characters in Utf8EscapeControlChars.


TUTF8TrimFlag

Controls trimming actions performed in UTF8Trim

Declaration

Source position: lazutf8.pas line 163

type TUTF8TrimFlag = (
u8tKeepStart, | Keeps leading whitespace
u8tKeepEnd, | Keeps trailing whitespace
u8tKeepTabs,
u8tKeepLineBreaks,
u8tKeepNoBreakSpaces, | Keeps no-break space characters
u8tKeepControlCodes | Keeps control codes other than tabs and line breaks
);

Description

TUTF8TrimFlag is an enumeration type with values that control trimming actions performed in the UTF8Trim function.


TUTF8TrimFlags

Stores values from the TUTF8TrimFlag enumeration

Declaration

Source position: lazutf8.pas line 171

type TUTF8TrimFlags = set of (
u8tKeepStart, | Keeps leading whitespace
u8tKeepEnd, | Keeps trailing whitespace
u8tKeepTabs,
u8tKeepLineBreaks,
u8tKeepNoBreakSpaces, | Keeps no-break space characters
u8tKeepControlCodes | Keeps control codes other than tabs and line breaks
);

Description

TUTF8TrimFlags is a set type used to store values from the TUTF8TrimFlag enumeration. TUTF8TrimFlags is the type passed in arguments to the UTF8Trim function.


Reference for unit 'LazUTF8Classes'

Implements UTF-8-enabled classes and routines

uses

  Classes,

  sysutils,

  LazUTF8;

Number of characters (codepoints) to get from the string

Overview

lazutf8classes implements UTF-8-enabled classes and routines, including: TFileStreamUTF8, TMemoryStreamUTF8, and TStringListUTF8.

Remark: lazutf8classes has an implementation dependency on the lazfileutils unit.


Reference for unit 'LazUTF8Classes': Types

TFileStreamUTF8

Implements a file stream with support for UTF-8-encoded file names


Reference for unit 'LazUTF8Classes': Classes

TMemoryStreamUTF8 | Implements a memory stream which supports file names with UTF-8 encoding
TStringListUTF8 | Implements a UTF-8-enabled string list


Reference for unit 'LazUTF8Classes': Procedures and functions

CompareStringListItemsUTF8LowerCase | Performs lowercase comparison of values in a string list
LoadStringsFromFileUTF8 | Loads the content for a TStringList from the specified file name
SaveStringsToFileUTF8 | Saves the content in the TStringList to the specified file name


Index of all identifiers in unit 'LazUTF8Classes'

C L S T

C

CompareStringListItemsUTF8LowerCase

L

LoadStringsFromFileUTF8

S

SaveStringsToFileUTF8

T

TFileStreamUTF8 TMemoryStreamUTF8 TStringListUTF8


TFileStreamUTF8

Implements a file stream with support for UTF-8-encoded file names

Declaration

Source position: lazutf8classes.pas line 22

type TFileStreamUTF8 = TFileStream;

Description

TFileStreamUTF8 is a TFileStream descendant which implements a file stream with support for UTF-8-encoded content file names. TFileStreamUTF8 provides constructors which create or open the file for the stream using UTF-8 encoding.


Reference for unit 'LazUTF8SysUtils'

Unit renamed to LazSysUtils

uses

  LazSysUtils;

Overview

lazutf8sysutils.pas was renamed to lazsysutils.pas. All routines will give a "deprecated" warning; the unit will be removed later.


Reference for unit 'LazUTF8SysUtils': Procedures and functions

GetTickCount64 | Deprecated; use the function from the LazSysUtils unit
NowUTC | Deprecated; use the function from the LazSysUtils unit


Index of all identifiers in unit 'LazUTF8SysUtils'

G N

G

GetTickCount64

N

NowUTC


ConsoleVerbosity

Declaration

Source position: lazutilities.pas line 29

var ConsoleVerbosity: Integer = 0;


Reference for unit 'LazUtilities'

uses

  Classes,

  sysutils;


Reference for unit 'LazUtilities': Procedures and functions

CompareBoolean

ComparePointers

FreeThenNil

MergeSortWithLen


Reference for unit 'LazUtilities': Variables

ConsoleVerbosity


Index of all identifiers in unit 'LazUtilities'

C F M

C

CompareBoolean ComparePointers ConsoleVerbosity

F

FreeThenNil

M

MergeSortWithLen


Reference for unit 'LazUtils'

uses
AvgLvlTree, | An Average Level Tree structure, which is kept balanced so that finding a node is very rapid
DynamicArray,
DynHashArray,
DynQueue,
EasyLazFreeType, |
ExtendedStrings,
FileUtil, | Miscellaneous procedures, functions, types, and classes for manipulating files and file names
FPCAdds, | Contains additional types and routines not currently available in FPC
Laz2_DOM, | Value for the Attributes property
Laz2_XMLCfg, | Implements classes used to read and write configuration data files in XML format
laz2_XMLRead, | Provides routines used to read XML content from a file, text file, or stream
laz2_xmlutils, |
laz2_XMLWrite, | Provides routines used to write XML content to a file, text file, or stream
laz2_xpath, | An implementation of the XML Path Language (XPath) for Free Pascal
Laz_DOM, | Provides an implementation of DOM Interfaces
Laz_XMLCfg, |
Laz_XMLRead, |
Laz_XMLStreaming, |
Laz_XMLWrite, |
LazClasses, |
lazCollections, | Contains classes used to implement thread-safe collections
LazConfigStorage, |
LazDbgLog, |
lazfglhash, |
LazFileCache, |
LazFileUtils, | Contains types, procedures, and functions used for file and directory operations
LazFreeType, |
LazFreeTypeFontCollection, |
LazFreeTypeFPImageDrawer, |
LazLinkedList, | Defines a simple doubly linked list
LazListClasses,
LazLogger, | Provides a log framework
LazLoggerBase, |
LazLoggerDummy, |
LazLoggerProfiling,
LazMethodList, | Implements a list of TMethod entries
LazUnicode, | Provides encoding-agnostic Unicode string manipulation functions and an enumerator
LazUTF16, |
LazUTF8, | Number of characters (codepoints) to get from the string
LazUTF8Classes, | Implements UTF-8-enabled classes and routines
LazSysUtils, |
LazUtilities, |
LazUtilsStrConsts, | Resource strings used in the LazUtils package
LConvEncoding, | Used to perform conversions between Unicode and System Code Page encodings
lcsvutils, | Contains routines used to read and process Comma-separated values from a file or a stream
LookupStringList, | Contains TLookupStringList, an unsorted StringList with a fast lookup feature
Maps, | Implements a map for unique IDs to arbitrary data
Masks, | This unit contains classes for mask matching.
PasWString, |
StringHashList, |
TextStrings,
Translations, | Contains classes and routines used to load/check/maintain translations from .po (portable object) files.
TTCache, |
TTCalc, |
TTCMap, |
TTDebug, |
TTError, |
TTFile, |
TTGLoad, |
TTInterp, |
TTLoad, |
TTMemory, |
TTObjs,
TTProfile, |
TTRASTER, |
TTTables, |
TTTypes, |
UTF8Process, | Defines a version of FPC TProcess that allows UTF-8-encoded arguments
HTML2TextRender, | Contains an HTML-to-Text renderer
Laz_AVL_Tree,
CompWriterPas, | Contains types, classes, and rotuinees used to serialize components into Pascal code
LazPasReadUtil,
IntegerList, | Provides lists for Integer data types implemented using generics
LazVersion, | Contains constants which identify the version numbers for the Lazarus IDE installed on the local system
UITypes, | Contains types and constants used in modal dialogs
GraphType,
LazTracer,
LazStringUtils, | Contains routines used for string manipulation
LazUTF8SysUtils, | Unit renamed to LazSysUtils
ObjectLists, | Defines classes used to associate objects/pointers with objects/pointers
TTKern,
LazarusPackageIntf;


Index of all identifiers in unit 'LazUtils'

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


Reference for unit 'LazUtilsStrConsts'

Resource strings used in the LazUtils package

Overview

LazUtilsStrConsts contains resource strings used in the LazUtils package. The resource strings are translated using the corresponding .pot file found in the languages directory.


Reference for unit 'LazUtilsStrConsts': Resource strings

lrsModified
' modified '

lrsInvalidCharSet
'The char set in mask "%s" is not valid!'

lrsSize
' size '

lrsFileDoesNotExist
'file "%s" does not exist'

lrsFileIsADirectoryAndNotAnExecutable
'file "%s" is a directory and not an' + ' executable'

lrsReadAccessDeniedFor
'read access denied for %s'

lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml2
'a directory ' + 'component in %s does not exist or is a dangling symlink'

lrsADirectoryComponentInIsNotADirectory2
'a directory component in %s is ' + 'not a directory'

lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml
'a directory ' + 'component in %s does not exist or is a dangling symlink'

lrsADirectoryComponentInIsNotADirectory
'a directory component in %s is ' + 'not a directory'

lrsInsufficientMemory
'insufficient memory'

lrsHasACircularSymbolicLink
'%s has a circular symbolic link'

lrsIsNotASymbolicLink
'%s is not a symbolic link'

lrsIsNotExecutable
'%s is not executable'

lrsUnableToCreateConfigDirectoryS
'Unable to create config directory "%s"'

lrsProgramFileNotFound
'program file not found %s'

lrsCanNotExecute
'can not execute %s'

lrsListMustBeEmpty
'List must be empty'

lrsListIndexExceedsBounds
'List index exceeds bounds (%d)'

lrsERRORInCode
'ERROR in code: '

lrsCreatingGdbCatchableError
'Creating gdb catchable error:'

lrsNodeSet
'node set'

lrsBoolean
'boolean'

lrsNumber
'number'

lrsString
'string'

lrsVarNoConversion
'Conversion from %s to %s not possible'

lrsScannerUnclosedString
'String literal was not closed'

lrsScannerInvalidChar
'Invalid character'

lrsScannerMalformedQName
'Expected "*" or local part after colon'

lrsScannerExpectedVarName
'Expected variable name after "$"'

lrsParserExpectedLeftBracket
'Expected "("'

lrsParserExpectedRightBracket
'Expected ")"'

lrsParserBadAxisName
'Invalid axis name'

lrsParserBadNodeType
'Invalid node type'

lrsParserExpectedRightSquareBracket
'Expected "]" after predicate'

lrsParserInvalidPrimExpr
'Invalid primary expression'

lrsParserGarbageAfterExpression
'Unrecognized input after expression'

lrsParserInvalidNodeTest
'Invalid node test (syntax error)'

lrsEvalUnknownFunction
'Unknown function: "%s"'

lrsEvalUnknownVariable
'Unknown variable: "%s"'

lrsEvalInvalidArgCount
'Invalid number of function arguments'


Index of all identifiers in unit 'LazUtilsStrConsts'

L

L

lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml | lrsInsufficientMemory | lrsParserGarbageAfterExpression
lrsADirectoryComponentInDoesNotExistOrIsADanglingSyml2 | lrsInvalidCharSet | lrsParserInvalidNodeTest
lrsADirectoryComponentInIsNotADirectory | lrsIsNotASymbolicLink | lrsParserInvalidPrimExpr
lrsADirectoryComponentInIsNotADirectory2 | lrsIsNotExecutable | lrsProgramFileNotFound
lrsBoolean | lrsListIndexExceedsBounds | lrsReadAccessDeniedFor
lrsCanNotExecute | lrsListMustBeEmpty | lrsScannerExpectedVarName
lrsCreatingGdbCatchableError | lrsModified | lrsScannerInvalidChar
lrsERRORInCode | lrsNodeSet | lrsScannerMalformedQName
lrsEvalInvalidArgCount | lrsNumber | lrsScannerUnclosedString
lrsEvalUnknownFunction | lrsParserBadAxisName | lrsSize
lrsEvalUnknownVariable | lrsParserBadNodeType | lrsString
lrsFileDoesNotExist | lrsParserExpectedLeftBracket | lrsUnableToCreateConfigDirectoryS
lrsFileIsADirectoryAndNotAnExecutable | lrsParserExpectedRightBracket | lrsVarNoConversion
lrsHasACircularSymbolicLink | lrsParserExpectedRightSquareBracket |


Reference for unit 'LazVersion'

Contains constants which identify the version numbers for the Lazarus IDE installed on the local system

Overview

Values in the unit are used as the basis for corresponding LCL version numbers in the lclversion.pas unit.


Reference for unit 'LazVersion': Constants

laz_fullversion | Numeric version number for the Lazarus IDE
laz_major | Major version number for the Lazarus IDE
laz_minor | Minor version number for the Lazarus IDE
laz_patch | Patch level for the Lazarus IDE
laz_release | Release number for the Lazarus IDE
laz_version | String with the full version number for the Lazarus IDE


Index of all identifiers in unit 'LazVersion'

L

L

laz_fullversion | laz_minor | laz_release
laz_major | laz_patch | laz_version


laz_fullversion

Numeric version number for the Lazarus IDE

Declaration

Source position: lazversion.pas line 27

const laz_fullversion = ((laz_major * 100 + laz_minor) * (100) + laz_release) * (100) + laz_patch;

Description

For the Lazarus version number 2.1.0.42, the value in laz_fullversion is 2010042.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


laz_major

Major version number for the Lazarus IDE

Declaration

Source position: lazversion.pas line 23

const laz_major = 2;

Description

For the Lazarus version number 2.1.0.42, the value in laz_major is 2.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


laz_minor

Minor version number for the Lazarus IDE

Declaration

Source position: lazversion.pas line 24

const laz_minor = 1;

Description

For the Lazarus version number 2.1.0.42, the value in laz_minor is 1.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


laz_patch

Patch level for the Lazarus IDE

Declaration

Source position: lazversion.pas line 26

const laz_patch = 0;

Description

For the Lazarus version number 2.1.0.42, the value in laz_patch is 42.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


laz_release

Release number for the Lazarus IDE

Declaration

Source position: lazversion.pas line 25

const laz_release = 0;

Description

For the Lazarus version number 2.1.0.42, the value in laz_release is 0.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


laz_version

String with the full version number for the Lazarus IDE

Declaration

Source position: lazversion.pas line 28

const laz_version = '2.1.0.0';

Description

For the Lazarus version number 2.1.0.42, the value in laz_version is '2.1.0.42'.

Version info

Added in revision 57504, and available since Lazarus 1.8.4.0.


ConvertAnsiToUTF8

Declaration

Source position: lconvencoding.pas line 120

var ConvertAnsiToUTF8: TConvertEncodingFunction = Nil;


ConvertUTF8ToAnsi

Declaration

Source position: lconvencoding.pas line 121

var ConvertUTF8ToAnsi: TConvertUTF8ToEncodingFunc = Nil;


EncodingAnsi

Declaration

Source position: lconvencoding.pas line 50

const EncodingAnsi = 'ansi';


EncodingCP437

Declaration

Source position: lconvencoding.pas line 65

const EncodingCP437 = 'cp437';


EncodingCP850

Declaration

Source position: lconvencoding.pas line 66

const EncodingCP850 = 'cp850';


EncodingCP852

Declaration

Source position: lconvencoding.pas line 67

const EncodingCP852 = 'cp852';


EncodingCP866

Declaration

Source position: lconvencoding.pas line 68

const EncodingCP866 = 'cp866';


EncodingCP874

Declaration

Source position: lconvencoding.pas line 69

const EncodingCP874 = 'cp874';


EncodingCP932

Declaration

Source position: lconvencoding.pas line 71

const EncodingCP932 = 'cp932';


EncodingCP936

Declaration

Source position: lconvencoding.pas line 72

const EncodingCP936 = 'cp936';


EncodingCP949

Declaration

Source position: lconvencoding.pas line 73

const EncodingCP949 = 'cp949';


EncodingCP950

Declaration

Source position: lconvencoding.pas line 74

const EncodingCP950 = 'cp950';


EncodingCP1250

Declaration

Source position: lconvencoding.pas line 55

const EncodingCP1250 = 'cp1250';


EncodingCP1251

Declaration

Source position: lconvencoding.pas line 56

const EncodingCP1251 = 'cp1251';


EncodingCP1252

Declaration

Source position: lconvencoding.pas line 57

const EncodingCP1252 = 'cp1252';


EncodingCP1253

Declaration

Source position: lconvencoding.pas line 58

const EncodingCP1253 = 'cp1253';


EncodingCP1254

Declaration

Source position: lconvencoding.pas line 59

const EncodingCP1254 = 'cp1254';


EncodingCP1255

Declaration

Source position: lconvencoding.pas line 60

const EncodingCP1255 = 'cp1255';


EncodingCP1256

Declaration

Source position: lconvencoding.pas line 61

const EncodingCP1256 = 'cp1256';


EncodingCP1257

Declaration

Source position: lconvencoding.pas line 62

const EncodingCP1257 = 'cp1257';


EncodingCP1258

Declaration

Source position: lconvencoding.pas line 63

const EncodingCP1258 = 'cp1258';


EncodingCPIso1

Declaration

Source position: lconvencoding.pas line 81

const EncodingCPIso1 = 'iso88591';


EncodingCPIso2

Declaration

Source position: lconvencoding.pas line 82

const EncodingCPIso2 = 'iso88592';


EncodingCPIso15

Declaration

Source position: lconvencoding.pas line 83

const EncodingCPIso15 = 'iso885915';


EncodingCPKOI8R

Declaration

Source position: lconvencoding.pas line 77

const EncodingCPKOI8R = 'koi8r';


EncodingCPKOI8RU

Declaration

Source position: lconvencoding.pas line 79

const EncodingCPKOI8RU = 'koi8ru';


EncodingCPKOI8U

Declaration

Source position: lconvencoding.pas line 78

const EncodingCPKOI8U = 'koi8u';


EncodingCPMac

Declaration

Source position: lconvencoding.pas line 76

const EncodingCPMac = 'macintosh';


EncodingUCS2BE

Declaration

Source position: lconvencoding.pas line 53

const EncodingUCS2BE = 'ucs2be';


EncodingUCS2LE

Declaration

Source position: lconvencoding.pas line 52

const EncodingUCS2LE = 'ucs2le';


EncodingUTF8

Declaration

Source position: lconvencoding.pas line 49

const EncodingUTF8 = 'utf8';


EncodingUTF8BOM

Declaration

Source position: lconvencoding.pas line 51

const EncodingUTF8BOM = 'utf8bom';


Reference for unit 'LConvEncoding'

Used to perform conversions between Unicode and System Code Page encodings

uses

  sysutils,

  Classes,

  dos,

  LazUTF8;

Number of characters (codepoints) to get from the string

Overview

lconvencoding.pas provides types, variable, constants, and routines used to perform conversions to and from Unicode and /or System Code Page encodings. Functions in this unit are thread-safe.

For environments where the RTL uses UTF-8 encoding, the UseSystemCPConv compiler define is enabled to include System Code Page conversions.


Reference for unit 'LConvEncoding': Constants

EncodingAnsi

EncodingCP1250

EncodingCP1251

EncodingCP1252

EncodingCP1253

EncodingCP1254

EncodingCP1255

EncodingCP1256

EncodingCP1257

EncodingCP1258

EncodingCP437

EncodingCP850

EncodingCP852

EncodingCP866

EncodingCP874

EncodingCP932

EncodingCP936

EncodingCP949

EncodingCP950

EncodingCPIso1

EncodingCPIso15

EncodingCPIso2

EncodingCPKOI8R

EncodingCPKOI8RU

EncodingCPKOI8U

EncodingCPMac

EncodingUCS2BE

EncodingUCS2LE

EncodingUTF8

EncodingUTF8BOM

UTF16BEBOM

UTF16LEBOM

UTF32BEBOM

UTF32LEBOM

UTF8BOM


Reference for unit 'LConvEncoding': Types

TCharToUTF8Table

TConvertEncodingErrorMode

TConvertEncodingFunction

TConvertUTF8ToEncodingFunc

TUnicodeToCharID


Reference for unit 'LConvEncoding': Procedures and functions

ConvertEncoding |
ConvertEncodingFromUTF8 |
ConvertEncodingToUTF8 |
CP1250ToUTF8 |
CP1251ToUTF8 |
CP1252ToUTF8 |
CP1253ToUTF8 |
CP1254ToUTF8 |
CP1255ToUTF8 |
CP1256ToUTF8 |
CP1257ToUTF8 |
CP1258ToUTF8 |
CP437ToUTF8 |
CP850ToUTF8 |
CP852ToUTF8 |
CP866ToUTF8 |
CP874ToUTF8 |
CP932ToUTF8 |
CP936ToUTF8 |
CP949ToUTF8 |
CP950ToUTF8 |
GetConsoleTextEncoding |
GetDefaultTextEncoding |
GetSupportedEncodings | Fills the specified string list with supported encoding names for the platform
GuessEncoding |
ISO_8859_15ToUTF8
ISO_8859_1ToUTF8 |
ISO_8859_2ToUTF8 |
KOI8RToUTF8 |
MacintoshToUTF8 |
NormalizeEncoding |
SingleByteToUTF8 |
UCS2BEToUTF8 |
UCS2LEToUTF8 |
UTF8BOMToUTF8 |
UTF8ToCP1250 |
UTF8ToCP1251 |
UTF8ToCP1252 |
UTF8ToCP1253 |
UTF8ToCP1254 |
UTF8ToCP1255 |
UTF8ToCP1256 |
UTF8ToCP1257 |
UTF8ToCP1258 |
UTF8ToCP437 |
UTF8ToCP850 |
UTF8ToCP852 |
UTF8ToCP866 |
UTF8ToCP874 |
UTF8ToCP932 |
UTF8ToCP936 |
UTF8ToCP949 |
UTF8ToCP950 |
UTF8ToDBCS |
UTF8ToISO_8859_1 |
UTF8ToISO_8859_15
UTF8ToISO_8859_2 |
UTF8ToKOI8R |
UTF8ToKOI8RU |
UTF8ToKOI8U |
UTF8ToMacintosh |
UTF8ToSingleByte |
UTF8ToUCS2BE |
UTF8ToUCS2LE |
UTF8ToUTF8BOM |


Reference for unit 'LConvEncoding': Variables

ConvertAnsiToUTF8

ConvertEncodingErrorMode

ConvertUTF8ToAnsi


Index of all identifiers in unit 'LConvEncoding'

C E G I K M N S T U

C

ceemException | CP1250ToUTF8 | CP850ToUTF8
ceemReplace | CP1251ToUTF8 | CP852ToUTF8
ceemReturnEmpty | CP1252ToUTF8 | CP866ToUTF8
ceemSkip | CP1253ToUTF8 | CP874ToUTF8
ConvertAnsiToUTF8 | CP1254ToUTF8 | CP932ToUTF8
ConvertEncoding | CP1255ToUTF8 | CP936ToUTF8
ConvertEncodingErrorMode | CP1256ToUTF8 | CP949ToUTF8
ConvertEncodingFromUTF8 | CP1257ToUTF8 | CP950ToUTF8
ConvertEncodingToUTF8 | CP1258ToUTF8 |
ConvertUTF8ToAnsi | CP437ToUTF8 |

E

EncodingAnsi | EncodingCP437 | EncodingCPIso15
EncodingCP1250 | EncodingCP850 | EncodingCPIso2
EncodingCP1251 | EncodingCP852 | EncodingCPKOI8R
EncodingCP1252 | EncodingCP866 | EncodingCPKOI8RU
EncodingCP1253 | EncodingCP874 | EncodingCPKOI8U
EncodingCP1254 | EncodingCP932 | EncodingCPMac
EncodingCP1255 | EncodingCP936 | EncodingUCS2BE
EncodingCP1256 | EncodingCP949 | EncodingUCS2LE
EncodingCP1257 | EncodingCP950 | EncodingUTF8
EncodingCP1258 | EncodingCPIso1 | EncodingUTF8BOM

G

GetConsoleTextEncoding | GetSupportedEncodings
GetDefaultTextEncoding | GuessEncoding

I

ISO_8859_15ToUTF8 ISO_8859_1ToUTF8 ISO_8859_2ToUTF8

K

KOI8RToUTF8

M

MacintoshToUTF8

N

NormalizeEncoding

S

SingleByteToUTF8

T

TCharToUTF8Table | TConvertEncodingFunction | TUnicodeToCharID
TConvertEncodingErrorMode | TConvertUTF8ToEncodingFunc |

U

UCS2BEToUTF8 | UTF8ToCP1255 | UTF8ToDBCS
UCS2LEToUTF8 | UTF8ToCP1256 | UTF8ToISO_8859_1
UTF16BEBOM | UTF8ToCP1257 | UTF8ToISO_8859_15
UTF16LEBOM | UTF8ToCP1258 | UTF8ToISO_8859_2
UTF32BEBOM | UTF8ToCP437 | UTF8ToKOI8R
UTF32LEBOM | UTF8ToCP850 | UTF8ToKOI8RU
UTF8BOM | UTF8ToCP852 | UTF8ToKOI8U
UTF8BOMToUTF8 | UTF8ToCP866 | UTF8ToMacintosh
UTF8ToCP1250 | UTF8ToCP874 | UTF8ToSingleByte
UTF8ToCP1251 | UTF8ToCP932 | UTF8ToUCS2BE
UTF8ToCP1252 | UTF8ToCP936 | UTF8ToUCS2LE
UTF8ToCP1253 | UTF8ToCP949 | UTF8ToUTF8BOM
UTF8ToCP1254 | UTF8ToCP950 |


TCharToUTF8Table

Declaration

Source position: lconvencoding.pas line 117

type TCharToUTF8Table = array [char] of PChar;


TConvertEncodingErrorMode

Declaration

Source position: lconvencoding.pas line 35

type TConvertEncodingErrorMode = (

  ceemSkip,

  ceemException,

  ceemReplace,

  ceemReturnEmpty

);


TConvertEncodingFunction

Declaration

Source position: lconvencoding.pas line 111

type TConvertEncodingFunction = function(

  const s: string

):string;


TConvertUTF8ToEncodingFunc

Declaration

Source position: lconvencoding.pas line 115

type TConvertUTF8ToEncodingFunc = function(

  const s: string

):string;


TUnicodeToCharID

Declaration

Source position: lconvencoding.pas line 118

type TUnicodeToCharID = function(

  Unicode: Cardinal

):Integer;


UTF8BOM

Declaration

Source position: lconvencoding.pas line 87

const UTF8BOM = #$EF#$BB#$BF;


UTF16BEBOM

Declaration

Source position: lconvencoding.pas line 88

const UTF16BEBOM = #$FE#$FF;


UTF16LEBOM

Declaration

Source position: lconvencoding.pas line 89

const UTF16LEBOM = #$FF#$FE;


UTF32BEBOM

Declaration

Source position: lconvencoding.pas line 90

const UTF32BEBOM = #0#0#$FE#$FF;


UTF32LEBOM

Declaration

Source position: lconvencoding.pas line 91

const UTF32LEBOM = #$FE#$FF#0#0;


Reference for unit 'lcsvutils'

Contains routines used to read and process Comma-separated values from a file or a stream

uses

  Classes,

  sysutils;

Overview

lcsvutils.pas contains routines used to read and process Comma-separated values from a file or a stream. It is used in the implementation of the LazUtils package and the TGrid component.


Reference for unit 'lcsvutils': Types

TCSVEncoding | Represents character encodings used for values in CSV data
TCSVRecordProc | Procedure used to read and process comma-separated values


Reference for unit 'lcsvutils': Procedures and functions

LoadFromCSVFile | Loads and process comma-separated valued from the specified file
LoadFromCSVStream | Loads and processes comma-separated values from the specified stream


Index of all identifiers in unit 'lcsvutils'

C L T

C

ceAuto | ceUTF16be
ceUTF16 | ceUTF8

L

LoadFromCSVFile LoadFromCSVStream

T

TCSVEncoding TCSVRecordProc


TCSVEncoding

Represents character encodings used for values in CSV data

Declaration

Source position: lcsvutils.pas line 21

type TCSVEncoding = (
ceAuto, | Auto-detects character encoding applied to the CSV data
ceUTF8, | CSV data uses the UTF-8 encoding
ceUTF16, | CSV data uses the UTF-16 encoding
ceUTF16be | CSV data uses the UTF-16 Big-Endian encoding
);

Description

TCSVEncoding is an enumerated type which represents character encodings that can be used for CSV data.


TCSVRecordProc

Procedure used to read and process comma-separated values

Declaration

Source position: lcsvutils.pas line 20

type TCSVRecordProc = procedure(

  Fields: TStringList

);

Arguments

Fields

TStringList used to store comma-separated field values

Description

TCSVProc is a nested procedure used when reading and processing comma-separated values. A TCSVProc reference is passed as an argument to the LoadFromCSVFile and LoadFromCSVStream routines. Applications must create a procedure that performs actions required when a line of CSV of data has been read from its data source and separated into individual field values.


Reference for unit 'LookupStringList'

Contains TLookupStringList, an unsorted StringList with a fast lookup feature

uses

  Classes,

  sysutils,

  AvgLvlTree;

An Average Level Tree structure, which is kept balanced so that finding a node is very rapid

Overview

Authors: Juha Manninen / Antônio Galvão


Reference for unit 'LookupStringList': Classes

TLookupStringList

Implements an unsorted StringList with a fast lookup feature


Reference for unit 'LookupStringList': Procedures and functions

Deduplicate

Removes duplicate strings in AStrings


Index of all identifiers in unit 'LookupStringList'

D T

D

Deduplicate

T

TLookupStringList


Reference for unit 'Maps'

Implements a map for unique IDs to arbitrary data

uses

  Classes,

  sysutils,

  Math,

  typinfo,

  Laz_AVL_Tree,

  FPCAdds;

Contains additional types and routines not currently available in FPC

Overview

Implements a map for unique IDs to arbitrary data. The ID-to-Data mapping is stored in an Average Level Binary Tree for fast indexing. The map also maintains a linked list between the ordered items for fast iteration through its elements. The ID can be signed or unsigned, with a size of 1, 2, 4, 8, 16 or 32 bytes. The data can be of any (constant) size.

Author: Marc Weustink


Reference for unit 'Maps': Constants

itsPtrSize | Constant that indicates the size of a signed Pointer in the map
ituPtrSize | Constant that indicates the size of an unsigned Pointer in the map


Reference for unit 'Maps': Types

PMapID | Pointer to a TMapID type
PMapItem | Pointer to a TMapItem data type
PMapLink | Pointer to a TMapLink data type
TMapID |
TMapIdType | Identifies the data type used for map IDs
TMapItem | Represents the ID and order of items in the linked list for the map
TMapLink | Record type used to build the linked list for items in the map


Reference for unit 'Maps': Classes

TBaseMap | Implements the base class for a map for unique IDs to arbitrary data
TBaseMapIterator | Specifies the interface used for map item iterators
TMap | Implements a map for unique IDs to arbitrary data
TMapIterator | Implements an iterator for items in a map
TTypedMap | Implements a map with support for reference counted Type Information in the Data
TTypedMapIterator | Implements an iterator for items in a map


Reference for unit 'Maps': Procedures and functions

MapReport

Gets information about the AVL Tree in the specified map


Index of all identifiers in unit 'Maps'

I M P T

I

its1 | its8 | itu32
its16 | itsPtrSize | itu4
its2 | itu1 | itu8
its32 | itu16 | ituPtrSize
its4 | itu2 |

M

MapReport

P

PMapID PMapItem PMapLink

T

TBaseMap | TMapIdType | TTypedMap
TBaseMapIterator | TMapItem | TTypedMapIterator
TMap | TMapIterator |
TMapID | TMapLink |


itsPtrSize

Constant that indicates the size of a signed Pointer in the map

Declaration

Source position: maps.pp line 40

const itsPtrSize = its4;

Description

itsPtrSize is a constant TMapIdType data type that indicates the size used for a signed Pointer in the map. The definition is CPU-specific. For a 64-bit CPU, it is defined as its8 in TMapIdType (or Int64). For all other CPUs, it is defines as its4 in TMapIdType (or LongInt).

Use ituPtrSize to get the length of an unsigned Pointer in the map.

Remark: Not used in the current implementation.


ituPtrSize

Constant that indicates the size of an unsigned Pointer in the map

Declaration

Source position: maps.pp line 41

const ituPtrSize = itu4;

Description

ituPtrSize is a constant TMapIdType data type that indicates the size used for an unsigned Pointer in the map. The definition is CPU-specific. For a 64-bit CPU, it is defined as itu8 in TMapIdType (or QWord). For all other CPUs, it is defines as itu4 in TMapIdType (or LongWord).

Use itsPtrSize to get the length of a signed Pointer in the map.

Remark: Not used in the current implementation.


PMapID

Pointer to a TMapID type

Declaration

Source position: maps.pp line 52

type PMapID = ^TMapID;

Description

PMapID is a Pointer to a TMapID type.


PMapItem

Pointer to a TMapItem data type

Declaration

Source position: maps.pp line 45

type PMapItem = ^TMapItem;

Description

PMapItem is a Pointer to a TMapItem data type. PMapItem is the type used to represent the first, last, previous, and next items in a linked list. PMapItem is used in TMapLink and TBaseMap.

See also

TMapItem | Represents the ID and order of items in the linked list for the map
TMapLink | Record type used to build the linked list for items in the map
TBaseMap | Implements the base class for a map for unique IDs to arbitrary data


PMapLink

Pointer to a TMapLink data type

Declaration

Source position: maps.pp line 47

type PMapLink = ^TMapLink;

Description

PMapLink is a Pointer to a TMapLink data type.

Remark: Not used in the current implementation.


TMapLink

Record type used to build the linked list for items in the map

Declaration

Source position: maps.pp line 48

type TMapLink = record
Previous: PMapItem; | Pointer to the previous item in the linked list for a map
Next: PMapItem; | Pointer to the Next item in the linked list for a map
end;

Description

TMapLink is a record type with members that contain Pointers to the Previous and Next items in the linked list for the map. TMapLink is used to implement TMapItem.


Reference for unit 'Masks'

This unit contains classes for mask matching.

uses
Classes,
sysutils,
contnrs,
LazUtilsStrConsts, | Resource strings used in the LazUtils package
LazUTF8; | Number of characters (codepoints) to get from the string


Reference for unit 'Masks': Types

PCharSet

TCharSet

TMaskChar

TMaskCharType

TMaskOption

TMaskOptions

TMaskString

TUtf8Char


Reference for unit 'Masks': Classes

TMask | The TMask class represents a mask.
TMaskList | The TMaskList class represents a list of masks.
TParseStringList | The TParseStringList class is used to parse text into the list of strings.


Reference for unit 'Masks': Procedures and functions

MatchesMask | Test if the file name matches the passed mask.
MatchesMaskList | Test if the file name matches at least one of passed masks separated by the parameter Separator.
MatchesWindowsMask | Test if the file name matches the passed mask. Implements some special rules for a Windows© filesystem comparison.
MatchesWindowsMaskList | Test if the file name matches at least one of passed masks separated by the parameter Separator. Implements some special rules for a Windows© filesystem comparison.


Index of all identifiers in unit 'Masks'

M P T

M

MatchesMask | mcAnyChar | moCaseSensitive
MatchesMaskList | mcAnyText | moDisableSets
MatchesWindowsMask | mcChar |
MatchesWindowsMaskList | mcCharSet |

P

PCharSet

T

TCharSet | TMaskList | TParseStringList
TMask | TMaskOption | TUtf8Char
TMaskChar | TMaskOptions |
TMaskCharType | TMaskString |


PCharSet

Declaration

Source position: masks.pas line 24

type PCharSet = ^TCharSet;


TCharSet

Declaration

Source position: masks.pas line 23

type TCharSet = set of Char;


TMaskOption

Declaration

Source position: masks.pas line 20

type TMaskOption = (
moCaseSensitive, | Compare case sensitive.
moDisableSets | Disable set processing. "[" and "]" are treated as literal characters.
);


TMaskOptions

Declaration

Source position: masks.pas line 21

type TMaskOptions = set of (
moCaseSensitive, | Compare case sensitive.
moDisableSets | Disable set processing. "[" and "]" are treated as literal characters.
);


TMaskString

Declaration

Source position: masks.pas line 35

type TMaskString = record

  MinLength: Integer;

  MaxLength: Integer;

  Chars: array of TMaskChar;

end;


TUtf8Char

Declaration

Source position: masks.pas line 26

type TUtf8Char = string;


Reference for unit 'ObjectLists'

Defines classes used to associate objects/pointers with objects/pointers

uses

  Classes,

  sysutils;

Overview

Defines classes used to associate objects/pointers with objects/pointers. Converted to use generics by Juha. Item and Object types can now be defined.


Reference for unit 'ObjectLists': Types

P2Pointer | Pointer to the T2Pointer record type
T2Pointer |


Reference for unit 'ObjectLists': Classes

TObjectArray

Implement an array of items with their associated objects


Index of all identifiers in unit 'ObjectLists'

P T

P

P2Pointer

T

T2Pointer TObjectArray


P2Pointer

Pointer to the T2Pointer record type

Declaration

Source position: objectlists.pas line 47

type P2Pointer = ^T2Pointer;

Description

Used to implement the list of item and object associations in TObjectArray.

See also

TObjectArray.Items | Provides indexed access to the TItem class instances stored in the List
TObjectArray.Objects | Provides indexed access to the TObj class instances stored in the List


T2Pointer

Declaration

Source position: objectlists.pas line 44

type T2Pointer = record
Item: Pointer; | Pointer to the item for the association
Associated: Pointer; | Pointer to the associated item in the record
end;

Description

T2Pointer is a record type used to maintain an association between the pointers to the members in the record.


Reference for unit 'PasWString'

uses

  sysutils,

  LazUTF8;

Number of characters (codepoints) to get from the string


Reference for unit 'PasWString': Procedures and functions

SetPasWidestringManager


Index of all identifiers in unit 'PasWString'

S

S

SetPasWidestringManager


Reference for unit 'StringHashList'

uses

  Classes,

  sysutils,

  LazUtilsStrConsts;

Resource strings used in the LazUtils package


Reference for unit 'StringHashList': Types

PStringHashItem

PStringHashItemList

TStringHashItem


Reference for unit 'StringHashList': Classes

TStringHashList


Index of all identifiers in unit 'StringHashList'

P T

P

PStringHashItem PStringHashItemList

T

TStringHashItem TStringHashList


PStringHashItem

Declaration

Source position: stringhashlist.pas line 32

type PStringHashItem = ^TStringHashItem;


PStringHashItemList

Declaration

Source position: stringhashlist.pas line 39

type PStringHashItemList = ^PStringHashItem;


TStringHashItem

Declaration

Source position: stringhashlist.pas line 33

type TStringHashItem = record

  HashValue: Cardinal;

  Key: string;

  Data: Pointer;

end;


Reference for unit 'TextStrings'

uses
Classes,
sysutils,
LazUTF8Classes, | Implements UTF-8-enabled classes and routines
LazUtilsStrConsts; | Resource strings used in the LazUtils package


Reference for unit 'TextStrings': Types

PTextLineRange

TTextLineRange


Reference for unit 'TextStrings': Classes

TCustomMemoStrings

TTextStrings


Index of all identifiers in unit 'TextStrings'

P T

P

PTextLineRange

T

TCustomMemoStrings TTextLineRange TTextStrings


PTextLineRange

Declaration

Source position: textstrings.pas line 43

type PTextLineRange = ^TTextLineRange;


TTextLineRange

Declaration

Source position: textstrings.pas line 37

type TTextLineRange = record

  Line: string;

  TheObject: TObject;

  StartPos: Integer;

  EndPos: Integer;

end;


Reference for unit 'Translations'

Contains classes and routines used to load/check/maintain translations from .po (portable object) files.

uses
Classes,
sysutils,
jsonparser,
fpjson,
FileUtil, | Miscellaneous procedures, functions, types, and classes for manipulating files and file names
LazFileUtils, | Contains types, procedures, and functions used for file and directory operations
LazUTF8, | Number of characters (codepoints) to get from the string
LazUTF8Classes, | Implements UTF-8-enabled classes and routines
LConvEncoding, | Used to perform conversions between Unicode and System Code Page encodings
LazLoggerBase, |
AvgLvlTree, | An Average Level Tree structure, which is kept balanced so that finding a node is very rapid
StringHashList; |


Reference for unit 'Translations': Constants

sBadFormatFlag

sFormatFlag

sFuzzyFlag

sNoFormatFlag


Reference for unit 'Translations': Types

TStringsType

TTranslateUnitResult

TTranslationStatistics


Reference for unit 'Translations': Classes

EPOFileError

TPOFile

TPOFileItem


Reference for unit 'Translations': Procedures and functions

FindAllTranslatedPoFiles

GetPOFilenameParts

TranslateResourceStrings

TranslateUnitResourceStrings

UpdatePoFile

UpdatePoFileTranslations

UTF8ToSystemCharSet


Reference for unit 'Translations': Variables

SystemCharSetIsUTF8


Index of all identifiers in unit 'Translations'

E F G S T U

E

EPOFileError

F

FindAllTranslatedPoFiles

G

GetPOFilenameParts

S

sBadFormatFlag | sNoFormatFlag | stRst
sFormatFlag | stLrj | SystemCharSetIsUTF8
sFuzzyFlag | stRsj |

T

TPOFile | TStringsType | turNoFBLang
TPOFileItem | TTranslateUnitResult | turNoLang
TranslateResourceStrings | TTranslationStatistics | turOK
TranslateUnitResourceStrings | turEmptyParam |

U

UpdatePoFile UpdatePoFileTranslations UTF8ToSystemCharSet


sBadFormatFlag

Declaration

Source position: translations.pas line 214

const sBadFormatFlag = 'badformat';


sFormatFlag

Declaration

Source position: translations.pas line 215

const sFormatFlag = 'object-pascal-format';


sFuzzyFlag

Declaration

Source position: translations.pas line 213

const sFuzzyFlag = 'fuzzy';


sNoFormatFlag

Declaration

Source position: translations.pas line 216

const sNoFormatFlag = 'no-object-pascal-format';


SystemCharSetIsUTF8

Declaration

Source position: translations.pas line 188

var SystemCharSetIsUTF8: Boolean = True;


TStringsType

Declaration

Source position: translations.pas line 72

type TStringsType = (
stLrj, | Lazarus resource string table in JSON format
stRst, | FPC resource string table (prior to FPC 2.7.1)
stRsj | FPC resource string table in JSON format (since FPC 2.7.1)
);


TTranslateUnitResult

Declaration

Source position: translations.pas line 77

type TTranslateUnitResult = (

  turOK,

  turNoLang,

  turNoFBLang,

  turEmptyParam

);


TTranslationStatistics

Declaration

Source position: translations.pas line 79

type TTranslationStatistics = record

  Translated: Integer;

  Untranslated: Integer;

  Fuzzy: Integer;

end;


Reference for unit 'TTCache'

uses

  TTTypes;


Reference for unit 'TTCache': Types

PCache

PCache_Class

PList_Element

TCache

TCache_Class

TConstructor

TDestructor

TList_Element

TSingle_List


Reference for unit 'TTCache': Procedures and functions

Cache_Create

Cache_Destroy

Cache_Done

Cache_New

Element_Done

Element_New

TTCache_Done

TTCache_Init


Index of all identifiers in unit 'TTCache'

C E P T

C

Cache_Create | Cache_Done
Cache_Destroy | Cache_New

E

Element_Done Element_New

P

PCache PCache_Class PList_Element

T

TCache | TDestructor | TTCache_Done
TCache_Class | TList_Element | TTCache_Init
TConstructor | TSingle_List |


PCache

Declaration

Source position: ttcache.pas line 94

type PCache = ^TCache;


PCache_Class

Declaration

Source position: ttcache.pas line 84

type PCache_Class = ^TCache_Class;


PList_Element

Declaration

Source position: ttcache.pas line 66

type PList_Element = ^TList_Element;


TCache

Declaration

Source position: ttcache.pas line 95

type TCache = record

  clazz: PCache_Class;

  active: TSingle_List;

  idle: TSingle_List;

  idle_count: Int;

end;


TCache_Class

Declaration

Source position: ttcache.pas line 85

type TCache_Class = record

  Object_Size: Int;

  Idle_Limit: Int;

  Init: TConstructor;

  Done: TDestructor;

end;


TConstructor

Declaration

Source position: ttcache.pas line 79

type TConstructor = function(

  _object: Pointer;

  _parent: Pointer

):TError;


TDestructor

Declaration

Source position: ttcache.pas line 82

type TDestructor = function(

  _object: Pointer

):TError;


TList_Element

Declaration

Source position: ttcache.pas line 67

type TList_Element = record

  next: PList_Element;

  data: Pointer;

end;


TSingle_List

Declaration

Source position: ttcache.pas line 76

type TSingle_List = PList_Element;


Reference for unit 'TTCalc'

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


Reference for unit 'TTCalc': Types

Int32

Word32


Reference for unit 'TTCalc': Procedures and functions

Div64by32

MulDiv

MulDiv_Round

MulTo64

Order32

Order64

Sqrt32

Sqrt64


Index of all identifiers in unit 'TTCalc'

D I M O S W

D

Div64by32

I

Int32

M

MulDiv MulDiv_Round MulTo64

O

Order32 Order64

S

Sqrt32 Sqrt64

W

Word32


Int32

Declaration

Source position: ttcalc.pas line 52

type Int32 = LongInt;


Word32

Declaration

Source position: ttcalc.pas line 54

type Word32 = Cardinal;


Reference for unit 'TTCMap'

uses

  TTTypes;


Reference for unit 'TTCMap': Types

PCMap2SubHeaders

PCMap4Segments

PCMapTable

PCMapTables

TCMap0

TCMap2

TCMap2SubHeader

TCMap2SubHeaders

TCMap4

TCMap4Segment

TCMap4Segments

TCMap6

TCMapTable

TCMapTables


Reference for unit 'TTCMap': Procedures and functions

CharMap_Free

CharMap_Index

CharMap_Load


Index of all identifiers in unit 'TTCMap'

C P T

C

CharMap_Free CharMap_Index CharMap_Load

P

PCMap2SubHeaders | PCMapTable
PCMap4Segments | PCMapTables

T

TCMap0 | TCMap4 | TCMapTable
TCMap2 | TCMap4Segment | TCMapTables
TCMap2SubHeader | TCMap4Segments |
TCMap2SubHeaders | TCMap6 |


PCMap2SubHeaders

Declaration

Source position: ttcmap.pas line 54

type PCMap2SubHeaders = ^TCMap2SubHeaders;


PCMap4Segments

Declaration

Source position: ttcmap.pas line 76

type PCMap4Segments = ^TCMap4Segments;


PCMapTable

Declaration

Source position: ttcmap.pas line 101

type PCMapTable = ^TCMapTable;


PCMapTables

Declaration

Source position: ttcmap.pas line 122

type PCMapTables = ^TCMapTables;


TCMap0

Declaration

Source position: ttcmap.pas line 38

type TCMap0 = record

  glyphIdArray: PUShort;

end;


TCMap2

Declaration

Source position: ttcmap.pas line 57

type TCMap2 = record

  subHeaderKeys: PUShort;

  subHeaders: PCMap2SubHeaders;

  glyphIdArray: PUShort;

  numGlyphId: Int;

end;


TCMap2SubHeader

Declaration

Source position: ttcmap.pas line 46

type TCMap2SubHeader = record

  firstCode: UShort;

  entryCount: UShort;

  idDelta: Short;

  idRangeOffset: UShort;

end;


TCMap2SubHeaders

Declaration

Source position: ttcmap.pas line 53

type TCMap2SubHeaders = array [0..100] of TCMap2SubHeader;


TCMap4

Declaration

Source position: ttcmap.pas line 79

type TCMap4 = record

  segCountX2: UShort;

  searchRange: UShort;

  entrySelector: UShort;

  rangeShift: UShort;

  segments: PCMap4Segments;

  glyphIdArray: PUShort;

  numGlyphId: Int;

end;


TCMap4Segment

Declaration

Source position: ttcmap.pas line 69

type TCMap4Segment = record

  endCount: UShort;

  startCount: UShort;

  idDelta: UShort;

  idRangeOffset: UShort;

end;


TCMap4Segments

Declaration

Source position: ttcmap.pas line 75

type TCMap4Segments = array [0..100] of TCMap4Segment;


TCMap6

Declaration

Source position: ttcmap.pas line 92

type TCMap6 = record

  firstCode: UShort;

  entryCount: UShort;

  glyphIdArray: PUShort;

end;


TCMapTable

Declaration

Source position: ttcmap.pas line 102

type TCMapTable = record

  platformID: UShort;

  platformEncodingID: UShort;

  Format: Word;

  Length: Word;

  Version: Word;

  Loaded: Boolean;

  CannotLoad: Boolean;

  StreamPtr: ;

  Offset: Long;

  case Byte of

    0: (

        cmap0: TCMap0;

      );

    2: (

        cmap2: TCMap2;

      );

    4: (

        cmap4: TCMap4;

      );

    6: (

        cmap6: TCMap6;

      );

end;


TCMapTables

Declaration

Source position: ttcmap.pas line 121

type TCMapTables = array [0..9] of TCMapTable;


ByteHexStr

Declaration

Source position: ttdebug.pas line 27

type ByteHexStr = string;


DebugStr

Declaration

Source position: ttdebug.pas line 30

type DebugStr = string;


Reference for unit 'TTDebug'

uses

  sysutils,

  TTTypes,

  TTObjs;


Reference for unit 'TTDebug': Types

ByteHexStr

DebugStr

LongHexStr

PBreakPoint

PRangeRec

ShortHexStr

TBreakPoint

TRangeRec


Reference for unit 'TTDebug': Procedures and functions

Clear_All_Breaks

Clear_Break

Cur_U_Line

Find_BreakPoint

Generate_Range

Get_Dis_Line

Get_Length

Hex16

Hex32

Hex8

Set_Break

Throw_Range

Toggle_Break


Index of all identifiers in unit 'TTDebug'

B C D F G H L P S T

B

ByteHexStr

C

Clear_All_Breaks Clear_Break Cur_U_Line

D

DebugStr

F

Find_BreakPoint

G

Generate_Range Get_Dis_Line Get_Length

H

Hex16 Hex32 Hex8

L

LongHexStr

P

PBreakPoint PRangeRec

S

Set_Break ShortHexStr

T

TBreakPoint | Toggle_Break
Throw_Range | TRangeRec


LongHexStr

Declaration

Source position: ttdebug.pas line 29

type LongHexStr = string;


PBreakPoint

Declaration

Source position: ttdebug.pas line 38

type PBreakPoint = ^TBreakPoint;


PRangeRec

Declaration

Source position: ttdebug.pas line 49

type PRangeRec = ^TRangeRec;


ShortHexStr

Declaration

Source position: ttdebug.pas line 28

type ShortHexStr = string;


TBreakPoint

Declaration

Source position: ttdebug.pas line 39

type TBreakPoint = record

  Next: PBreakPoint;

  Range: Int;

  Address: Int;

end;


TRangeRec

Declaration

Source position: ttdebug.pas line 50

type TRangeRec = record

  Code: PByte;

  Size: Int;

  index: Int;

  NLines: Int;

  Disassembled: PUShort;

  Breaks: PBreakPoint;

end;


Err_Ras_Invalid

Declaration

Source position: tterror.pas line 35

const Err_Ras_Invalid = - 5;


Err_Ras_Invalid_Contours

Declaration

Source position: tterror.pas line 36

const Err_Ras_Invalid_Contours = - 6;


Err_Ras_Neg_H

Declaration

Source position: tterror.pas line 34

const Err_Ras_Neg_H = - 4;


Err_Ras_None

Declaration

Source position: tterror.pas line 31

const Err_Ras_None = 0;


Err_Ras_NotIni

Declaration

Source position: tterror.pas line 32

const Err_Ras_NotIni = - 2;


Err_Ras_Overflow

Declaration

Source position: tterror.pas line 33

const Err_Ras_Overflow = - 3;


error

Declaration

Source position: tterror.pas line 49

var error: Integer = ;


Reference for unit 'TTError'

uses

  TTTypes;


Reference for unit 'TTError': Constants

Err_Ras_Invalid

Err_Ras_Invalid_Contours

Err_Ras_Neg_H

Err_Ras_None

Err_Ras_NotIni

Err_Ras_Overflow


Reference for unit 'TTError': Procedures and functions

Check_Error

Panic1

Trace1


Reference for unit 'TTError': Variables

error


Index of all identifiers in unit 'TTError'

C E P T

C

Check_Error

E

error | Err_Ras_Neg_H | Err_Ras_Overflow
Err_Ras_Invalid | Err_Ras_None |
Err_Ras_Invalid_Contours | Err_Ras_NotIni |

P

Panic1

T

Trace1


Reference for unit 'TTFile'

uses

  TTTypes,

  TTError,

  Classes;


Reference for unit 'TTFile': Classes

TFreeTypeStream


Reference for unit 'TTFile': Procedures and functions

TTFile_Done

TTFile_Init

TT_Close_Stream

TT_Done_Stream

TT_Flush_Stream

TT_Open_Stream

TT_Stream_Size

TT_Use_Stream


Index of all identifiers in unit 'TTFile'

T

T

TFreeTypeStream | TTFile_Done | TT_Open_Stream
TT_Close_Stream | TTFile_Init | TT_Stream_Size
TT_Done_Stream | TT_Flush_Stream | TT_Use_Stream


Reference for unit 'TTGLoad'

uses

  LazFreeType,

  TTError,

  TTTypes,

  TTObjs;


Reference for unit 'TTGLoad': Procedures and functions

Get_Advance_Widths

Load_TrueType_Glyph

TT_Get_Metrics


Index of all identifiers in unit 'TTGLoad'

G L T

G

Get_Advance_Widths

L

Load_TrueType_Glyph

T

TT_Get_Metrics


Reference for unit 'TTInterp'

uses

  TTTypes,

  TTObjs;


Reference for unit 'TTInterp': Procedures and functions

Run_Ins


Index of all identifiers in unit 'TTInterp'

R

R

Run_Ins


Reference for unit 'TTLoad'

uses

  TTTypes,

  TTTables,

  TTCMap,

  TTObjs,

  TTFile;


Reference for unit 'TTLoad': Procedures and functions

Load_TrueType_Any

Load_TrueType_CMap

Load_TrueType_CVT

Load_TrueType_Directory

Load_TrueType_Gasp

Load_TrueType_HDMX

Load_TrueType_Header

Load_TrueType_Locations

Load_TrueType_MaxProfile

Load_TrueType_Metrics_Header

Load_TrueType_Names

Load_TrueType_OS2

Load_trueType_Postscript

Load_TrueType_Programs

LookUp_TrueType_Table


Index of all identifiers in unit 'TTLoad'

L

L

Load_TrueType_Any | Load_TrueType_HDMX | Load_TrueType_Names
Load_TrueType_CMap | Load_TrueType_Header | Load_TrueType_OS2
Load_TrueType_CVT | Load_TrueType_Locations | Load_trueType_Postscript
Load_TrueType_Directory | Load_TrueType_MaxProfile | Load_TrueType_Programs
Load_TrueType_Gasp | Load_TrueType_Metrics_Header | LookUp_TrueType_Table


Font_Pool_Allocated

Declaration

Source position: ttmemory.pas line 77

const Font_Pool_Allocated: Boolean = False;


Reference for unit 'TTMemory'

uses

  TTTypes;


Reference for unit 'TTMemory': Constants

Font_Pool_Allocated


Reference for unit 'TTMemory': Types

TMarkRecord


Reference for unit 'TTMemory': Procedures and functions

Alloc

Free

TTMemory_Done

TTMemory_Init


Index of all identifiers in unit 'TTMemory'

A F T

A

Alloc

F

Font_Pool_Allocated Free

T

TMarkRecord TTMemory_Done TTMemory_Init


TMarkRecord

Declaration

Source position: ttmemory.pas line 71

type TMarkRecord = record

  Magic: LongInt;

  Top: Integer;

end;


CvtFlag_Both

Declaration

Source position: ttobjs.pas line 180

const CvtFlag_Both = 3;


CvtFlag_None

Declaration

Source position: ttobjs.pas line 177

const CvtFlag_None = 0;


CvtFlag_X

Declaration

Source position: ttobjs.pas line 178

const CvtFlag_X = 1;


CvtFlag_Y

Declaration

Source position: ttobjs.pas line 179

const CvtFlag_Y = 2;


Default_GraphicsState

Declaration

Source position: ttobjs.pas line 135

const Default_GraphicsState: TGraphicsState = (rp0: 0; rp1: 0; rp2: 0; dualVector: (x: $4000; y: 0); projVector: (x: $4000; y: 0); freeVector: (x: $4000; y: 0); loop: 1; minimum_distance: 64; round_state: 1; auto_flip: True; control_value_cutin: 4 * 17; single_width_cutin: 0; single_width_value: 0; delta_Base: 9; delta_Shift: 3; instruct_control: 0; scan_control: True; scan_type: 0; gep0: 1; gep1: 1; gep2: 1);


exec_cache

Declaration

Source position: ttobjs.pas line 766

var exec_cache: TCache = ;


face_cache

Declaration

Source position: ttobjs.pas line 765

var face_cache: TCache = ;


Reference for unit 'TTObjs'

uses

  LazFreeType,

  TTTypes,

  TTError,

  TTCache,

  TTTables,

  TTCMap;


Reference for unit 'TTObjs': Constants

CvtFlag_Both

CvtFlag_None

CvtFlag_X

CvtFlag_Y

Default_GraphicsState

MaxCodeRanges

TT_CodeRange_Cvt

TT_CodeRange_Font

TT_CodeRange_Glyph


Reference for unit 'TTObjs': Types

PCallStack

PCodeRange

PDefArray

PDefRecord

PExec_Context

PFace

PFont_Input

PGlyph

PGlyph_Transform

PGlyph_Zone

PGraphicsState

PInstance

PSubglyph_Record

PSubglyph_Stack

TCallRecord

TCallStack

TCodeRange

TCodeRangeTable

TDefArray

TDefRecord

TExec_Context

TFace

TFont_Input

TFunc_Get_CVT

TFunc_Set_CVT

TGlyph

TGlyph_Transform

TGlyph_Zone

TGraphicsState

TInstance

TIns_Metrics

TMove_Function

TProject_Function

TRound_Function

TSubglyph_Record

TSubglyph_Stack


Reference for unit 'TTObjs': Procedures and functions

Clear_CodeRange

Context_Load

Context_Run

Context_Save

Done_Context

Get_CodeRange

Goto_CodeRange

Instance_Init

Instance_Reset

New_Context

Scale_X

Scale_Y

Set_CodeRange

TTObjs_Done

TTObjs_Init


Reference for unit 'TTObjs': Variables

exec_cache

face_cache


Index of all identifiers in unit 'TTObjs'

C D E F G I M N P S T

C

Clear_CodeRange | Context_Save | CvtFlag_X
Context_Load | CvtFlag_Both | CvtFlag_Y
Context_Run | CvtFlag_None |

D

Default_GraphicsState Done_Context

E

exec_cache

F

face_cache

G

Get_CodeRange Goto_CodeRange

I

Instance_Init Instance_Reset

M

MaxCodeRanges

N

New_Context

P

PCallStack | PFace | PGraphicsState
PCodeRange | PFont_Input | PInstance
PDefArray | PGlyph | PSubglyph_Record
PDefRecord | PGlyph_Transform | PSubglyph_Stack
PExec_Context | PGlyph_Zone |

S

Scale_X Scale_Y Set_CodeRange

T

TCallRecord | TFunc_Get_CVT | TProject_Function
TCallStack | TFunc_Set_CVT | TRound_Function
TCodeRange | TGlyph | TSubglyph_Record
TCodeRangeTable | TGlyph_Transform | TSubglyph_Stack
TDefArray | TGlyph_Zone | TT_CodeRange_Cvt
TDefRecord | TGraphicsState | TT_CodeRange_Font
TExec_Context | TIns_Metrics | TT_CodeRange_Glyph
TFace | TInstance | TTObjs_Done
TFont_Input | TMove_Function | TTObjs_Init


MaxCodeRanges

Declaration

Source position: ttobjs.pas line 167

const MaxCodeRanges = 3;


PCallStack

Declaration

Source position: ttobjs.pas line 221

type PCallStack = ^TCallStack;


PCodeRange

Declaration

Source position: ttobjs.pas line 187

type PCodeRange = ^TCodeRange;


PDefArray

Declaration

Source position: ttobjs.pas line 208

type PDefArray = ^TDefArray;


PDefRecord

Declaration

Source position: ttobjs.pas line 200

type PDefRecord = ^TDefRecord;


PExec_Context

Declaration

Source position: ttobjs.pas line 383

type PExec_Context = ^TExec_Context;


PFace

Declaration

Source position: ttobjs.pas line 381

type PFace = ^TFace;


PFont_Input

Declaration

Source position: ttobjs.pas line 677

type PFont_Input = ^TFont_Input;


PGlyph

Declaration

Source position: ttobjs.pas line 665

type PGlyph = ^TGlyph;


PGlyph_Transform

Declaration

Source position: ttobjs.pas line 264

type PGlyph_Transform = ^TGlyph_Transform;


PGlyph_Zone

Declaration

Source position: ttobjs.pas line 223

type PGlyph_Zone = ^TGlyph_Zone;


PGraphicsState

Declaration

Source position: ttobjs.pas line 103

type PGraphicsState = ^TGraphicsState;


PInstance

Declaration

Source position: ttobjs.pas line 382

type PInstance = ^TInstance;


PSubglyph_Record

Declaration

Source position: ttobjs.pas line 271

type PSubglyph_Record = ^TSubglyph_Record;


PSubglyph_Stack

Declaration

Source position: ttobjs.pas line 293

type PSubglyph_Stack = ^TSubglyph_Stack;


TCallRecord

Declaration

Source position: ttobjs.pas line 212

type TCallRecord = record

  Caller_Range: Int;

  Caller_IP: Int;

  Cur_Count: Int;

  Cur_Restart: Int;

end;


TCallStack

Declaration

Source position: ttobjs.pas line 220

type TCallStack = array [0..99] of TCallRecord;


TCodeRange

Declaration

Source position: ttobjs.pas line 183

type TCodeRange = record

  Base: PByte;

  Size: Int;

end;


TCodeRangeTable

Declaration

Source position: ttobjs.pas line 197

type TCodeRangeTable = array [1..MaxCodeRanges] of TCodeRange;


TDefArray

Declaration

Source position: ttobjs.pas line 209

type TDefArray = array [0..99] of TDefRecord;


TDefRecord

Declaration

Source position: ttobjs.pas line 201

type TDefRecord = record

  Range: Int;

  Start: Int;

  Opc: Byte;

  Active: Boolean;

end;


TExec_Context

Declaration

Source position: ttobjs.pas line 551

type TExec_Context = record

  face: PFace;

  instance: PInstance;

  error: Int;

  interpreter: TObject;

  stackSize: Int;

  stack: PStorage;

  zp0: TGlyph_Zone;

  zp1: TGlyph_Zone;

  zp2: TGlyph_Zone;

  twilight: TGlyph_Zone;

  pts: TGlyph_Zone;

  GS: TGraphicsState;

  curRange: Int;

  code: PByte;

  IP: Int;

  codeSize: Int;

  step_ins: Boolean;

  loadSize: Int;

  loadStack: PSubglyph_Stack;

  glyphIns: PByte;

  glyphSize: Int;

  callSize: Int;

  callStack: PCallStack;

  period: TT_F26Dot6;

  phase: TT_F26Dot6;

  threshold: TT_F26Dot6;

  maxPoints: Int;

  maxContours: Int;

  numFDefs: Int;

  maxFDefs: Int;

  FDefs: PDefArray;

  numIDefs: Int;

  maxIDefs: Int;

  IDefs: PDefArray;

  maxFunc: Int;

  maxIns: Int;

  codeRangeTable: TCodeRangeTable;

  storeSize: Int;

  storage: PStorage;

  metrics: TIns_Metrics;

  cur_ppem: Int;

  scale1: Long;

  scale2: Long;

  cached_metrics: Boolean;

  Instruction_Trap: Boolean;

  is_composite: Boolean;

  cvtSize: Int;

  cvt: PLong;

  F_dot_P: Long;

  func_round: TRound_Function;

  func_project: TProject_Function;

  func_dualproj: TProject_Function;

  func_freeProj: TProject_Function;

  func_move: TMove_Function;

  func_read_cvt: TFunc_Get_CVT;

  func_write_cvt: TFunc_Set_CVT;

  func_move_cvt: TFunc_Set_CVT;

end;


TFace

Declaration

Source position: ttobjs.pas line 385

type TFace = record

  stream: TT_Stream;

  ttcHeader: TTTCHeader;

  maxProfile: TMaxProfile;

  fontHeader: TT_Header;

  horizontalHeader: TT_Horizontal_Header;

  verticalInfo: Boolean;

  verticalHeader: TT_Vertical_Header;

  os2: TT_OS2;

  postscript: TT_Postscript;

  hdmx: THdmx;

  nameTable: TName_Table;

  numTables: Int;

  dirTables: PTableDirEntries;

  numCMaps: Int;

  cMaps: PCMapTables;

  numLocations: Int;

  glyphLocations: PStorage;

  fontPgmSize: Int;

  fontProgram: PByte;

  cvtPgmSize: Int;

  cvtProgram: PByte;

  cvtSize: Int;

  cvt: PShort;

  gasp: TGasp;

  numGlyphs: Int;

  maxPoints: Int;

  maxContours: Int;

  maxComponents: Int;

  instances: TCache;

  glyphs: TCache;

  kernings: TObject;

  extension: Pointer;

  genericP: Pointer;

end;


TFont_Input

Declaration

Source position: ttobjs.pas line 678

type TFont_Input = record

  stream: TT_Stream;

  fontIndex: Int;

end;


TFunc_Get_CVT

Declaration

Source position: ttobjs.pas line 249

type TFunc_Get_CVT = function(

  index: Int

):TT_F26Dot6 of object;


TFunc_Set_CVT

Declaration

Source position: ttobjs.pas line 253

type TFunc_Set_CVT = procedure(

  index: Int;

  value: TT_F26Dot6

) of object;


TGlyph

Declaration

Source position: ttobjs.pas line 666

type TGlyph = record

  face: PFace;

  metrics: TT_Big_Glyph_Metrics;

  outline: TT_Outline;

  computed_width: Int;

  precalc_width: Int;

  is_composite: Boolean;

end;


TGlyph_Transform

Declaration

Source position: ttobjs.pas line 265

type TGlyph_Transform = record

  xx: TT_Fixed;

  xy: TT_Fixed;

  yx: TT_Fixed;

  yy: TT_Fixed;

  ox: TT_F26Dot6;

  oy: TT_F26Dot6;

end;


TGlyph_Zone

Declaration

Source position: ttobjs.pas line 224

type TGlyph_Zone = record

  n_points: Int;

  n_contours: Int;

  org: TT_Points;

  cur: TT_Points;

  flags: TT_PTouchTable;

  conEnds: PUShort;

end;


TGraphicsState

Declaration

Source position: ttobjs.pas line 104

type TGraphicsState = record

  rp0: Int;

  rp1: Int;

  rp2: Int;

  dualVector: TT_UnitVector;

  projVector: TT_UnitVector;

  freeVector: TT_UnitVector;

  loop: LongInt;

  minimum_distance: TT_F26Dot6;

  round_state: Int;

  auto_flip: Boolean;

  control_value_cutin: TT_F26Dot6;

  single_width_cutin: TT_F26Dot6;

  single_width_value: TT_F26Dot6;

  delta_base: Int;

  delta_shift: Int;

  instruct_control: Byte;

  scan_control: Boolean;

  scan_type: Int;

  gep0: Int;

  gep1: Int;

  gep2: Int;

end;


TIns_Metrics

Declaration

Source position: ttobjs.pas line 346

type TIns_Metrics = record

  pointsize: TT_F26Dot6;

  x_resolution: Int;

  y_resolution: Int;

  x_ppem: Int;

  y_ppem: Int;

  x_scale1: Long;

  x_scale2: Long;

  y_scale1: Long;

  y_scale2: Long;

  x_ratio: Long;

  y_ratio: Long;

  scale1: Long;

  scale2: Long;

  ppem: Int;

  ratio: Long;

  compensations: array [0..3] of TT_F26Dot6;

  rotated: Boolean;

  stretched: Boolean;

end;


TInstance

Declaration

Source position: ttobjs.pas line 500

type TInstance = record

  owner: PFace;

  valid: Boolean;

  metrics: TIns_Metrics;

  numFDefs: Int;

  maxFDefs: Int;

  FDefs: PDefArray;

  numIDefs: Int;

  maxIDefs: Int;

  IDefs: PDefArray;

  maxFunc: Int;

  maxIns: Int;

  codeRangeTable: TCodeRangeTable;

  GS: TGraphicsState;

  storeSize: Int;

  storage: PStorage;

  cvtSize: Int;

  cvt: PLong;

  twilight: TGlyph_Zone;

  debug: Boolean;

  context: PExec_Context;

  genericP: Pointer;

end;


TMove_Function

Declaration

Source position: ttobjs.pas line 239

type TMove_Function = procedure(

  zone: PGlyph_Zone;

  point: Int;

  distance: TT_F26Dot6

) of object;


TProject_Function

Declaration

Source position: ttobjs.pas line 245

type TProject_Function = function(

  var P1: TT_Vector;

  var P2: TT_Vector

):TT_F26Dot6 of object;


TRound_Function

Declaration

Source position: ttobjs.pas line 235

type TRound_Function = function(

  distance: TT_F26Dot6;

  compensation: TT_F26Dot6

):TT_F26Dot6 of object;


TSubglyph_Record

Declaration

Source position: ttobjs.pas line 272

type TSubglyph_Record = record

  index: Int;

  is_scaled: Boolean;

  is_hinted: Boolean;

  preserve_pps: Boolean;

  bbox: TT_BBox;

  zone: TGlyph_Zone;

  arg1: Int;

  arg2: Int;

  element_flag: Int;

  transform: TGlyph_Transform;

  file_offset: Long;

  pp1: TT_Vector;

  pp2: TT_Vector;

  advanceWidth: Int;

  leftBearing: Int;

end;


TSubglyph_Stack

Declaration

Source position: ttobjs.pas line 292

type TSubglyph_Stack = array [0..10] of TSubglyph_Record;


TT_CodeRange_Cvt

Declaration

Source position: ttobjs.pas line 174

const TT_CodeRange_Cvt = 2;


TT_CodeRange_Font

Declaration

Source position: ttobjs.pas line 173

const TT_CodeRange_Font = 1;


TT_CodeRange_Glyph

Declaration

Source position: ttobjs.pas line 175

const TT_CodeRange_Glyph = 3;


Reference for unit 'TTProfile'

uses

  TTTypes,

  sysutils;


Reference for unit 'TTProfile': Constants

PoolIdleCapacity

PoolMaxCapacity


Reference for unit 'TTProfile': Types

PBezierStack

TBezierStack

TCurveDirection

TPoint


Reference for unit 'TTProfile': Classes

TProfile

TProfileCollection

TRenderPool


Reference for unit 'TTProfile': Procedures and functions

ProfileList_AppendToList

ProfileList_Count

ProfileList_Init

ProfileList_InsertFirstElement

ProfileList_Remove

ProfileList_SortByStart

ProfileList_SortByX

ProfileList_Split


Index of all identifiers in unit 'TTProfile'

G P T

G

GoingDown | GoingUnknown
GoingHoriz | GoingUp

P

PBezierStack | ProfileList_Count | ProfileList_SortByStart
PoolIdleCapacity | ProfileList_Init | ProfileList_SortByX
PoolMaxCapacity | ProfileList_InsertFirstElement | ProfileList_Split
ProfileList_AppendToList | ProfileList_Remove |

T

TBezierStack | TPoint | TProfileCollection
TCurveDirection | TProfile | TRenderPool


PBezierStack

Declaration

Source position: ttprofile.pas line 23

type PBezierStack = ^TBezierStack;


PoolIdleCapacity

Declaration

Source position: ttprofile.pas line 17

const PoolIdleCapacity = 64 * 1024 div 4;


PoolMaxCapacity

Declaration

Source position: ttprofile.pas line 16

const PoolMaxCapacity = 512 * 1024 div 4;


TBezierStack

Declaration

Source position: ttprofile.pas line 22

type TBezierStack = array [0..64*2] of TPoint;


TCurveDirection

Declaration

Source position: ttprofile.pas line 20

type TCurveDirection = (

  GoingUnknown,

  GoingUp,

  GoingDown,

  GoingHoriz

);


TPoint

Declaration

Source position: ttprofile.pas line 21

type TPoint = record

  x: Long;

  y: Long;

end;


Function_Sweep_Init

Declaration

Source position: ttraster.pas line 68

type Function_Sweep_Init = procedure(

  var min: Int;

  var max: Int

) of object;


Function_Sweep_Span

Declaration

Source position: ttraster.pas line 70

type Function_Sweep_Span = procedure(

  y: Int;

  x1: TT_F26Dot6;

  x2: TT_F26Dot6;

  Left: TProfile;

  Right: TProfile

) of object;


Function_Sweep_Step

Declaration

Source position: ttraster.pas line 76

type Function_Sweep_Step = procedure of object;


Reference for unit 'TTRASTER'

uses

  TTTypes,

  TTProfile;


Reference for unit 'TTRASTER': Types

Function_Sweep_Init

Function_Sweep_Span

Function_Sweep_Step


Reference for unit 'TTRASTER': Classes

TFreeTypeRasterizer


Reference for unit 'TTRASTER': Procedures and functions

IncludeFullGrainMax

IncludeFullGrainMin

TTGetDefaultRasterizer

TTRaster_Done

TTRaster_Init


Index of all identifiers in unit 'TTRASTER'

F I T

F

Function_Sweep_Init Function_Sweep_Span Function_Sweep_Step

I

IncludeFullGrainMax IncludeFullGrainMin

T

TFreeTypeRasterizer | TTRaster_Done
TTGetDefaultRasterizer | TTRaster_Init


Gasp_DoGray

Declaration

Source position: tttables.pas line 114

const Gasp_DoGray = 2;


Gasp_GridFit

Declaration

Source position: tttables.pas line 113

const Gasp_GridFit = 1;


Reference for unit 'TTTables'

uses

  TTTypes;


Reference for unit 'TTTables': Constants

Gasp_DoGray

Gasp_GridFit


Reference for unit 'TTTables': Types

PCMapDirEntries

PGaspRanges

PHdmx_Record

PHdmx_Records

PName_Record

PName_Records

PName_Table

PTableDir

PTableDirEntries

PTableLongMetrics

PTableShortMetrics

PTTCHeader

TCMapDir

TCMapDirEntries

TCMapDirEntry

TGasp

TGaspRange

TGaspRanges

THdmx

THdmx_Record

THdmx_Records

TLongMetrics

TMaxProfile

TName_Record

TName_Records

TName_Table

TShortMetrics

TTableDir

TTableDirEntries

TTableDirEntry

TTableLongMetrics

TTableShortMetrics

TTTCHeader


Index of all identifiers in unit 'TTTables'

G P T

G

Gasp_DoGray Gasp_GridFit

P

PCMapDirEntries | PName_Record | PTableDirEntries
PGaspRanges | PName_Records | PTableLongMetrics
PHdmx_Record | PName_Table | PTableShortMetrics
PHdmx_Records | PTableDir | PTTCHeader

T

TCMapDir | THdmx_Record | TShortMetrics
TCMapDirEntries | THdmx_Records | TTableDir
TCMapDirEntry | TLongMetrics | TTableDirEntries
TGasp | TMaxProfile | TTableDirEntry
TGaspRange | TName_Record | TTableLongMetrics
TGaspRanges | TName_Records | TTableShortMetrics
THdmx | TName_Table | TTTCHeader


PCMapDirEntries

Declaration

Source position: tttables.pas line 87

type PCMapDirEntries = ^TCMapDirEntries;


PGaspRanges

Declaration

Source position: tttables.pas line 123

type PGaspRanges = ^TGaspRanges;


PHdmx_Record

Declaration

Source position: tttables.pas line 228

type PHdmx_Record = ^THdmx_Record;


PHdmx_Records

Declaration

Source position: tttables.pas line 236

type PHdmx_Records = ^THdmx_Records;


PName_Record

Declaration

Source position: tttables.pas line 212

type PName_Record = ^TName_Record;


PName_Records

Declaration

Source position: tttables.pas line 214

type PName_Records = ^TName_Records;


PName_Table

Declaration

Source position: tttables.pas line 217

type PName_Table = ^TName_Table;


PTableDir

Declaration

Source position: tttables.pas line 51

type PTableDir = ^TTableDir;


PTableDirEntries

Declaration

Source position: tttables.pas line 71

type PTableDirEntries = ^TTableDirEntries;


PTableLongMetrics

Declaration

Source position: tttables.pas line 139

type PTableLongMetrics = ^TTableLongMetrics;


PTableShortMetrics

Declaration

Source position: tttables.pas line 143

type PTableShortMetrics = ^TTableShortMetrics;


PTTCHeader

Declaration

Source position: tttables.pas line 42

type PTTCHeader = ^TTTCHeader;


TCMapDir

Declaration

Source position: tttables.pas line 75

type TCMapDir = record

  tableVersionNumber: UShort;

  numCMaps: UShort;

end;


TCMapDirEntries

Declaration

Source position: tttables.pas line 86

type TCMapDirEntries = array [0..10] of TCMapDirEntry;


TCMapDirEntry

Declaration

Source position: tttables.pas line 80

type TCMapDirEntry = record

  platformID: UShort;

  platformEncodingID: UShort;

  offset: Long;

end;


TGasp

Declaration

Source position: tttables.pas line 125

type TGasp = record

  version: UShort;

  numRanges: UShort;

  gaspRanges: PGaspRanges;

end;


TGaspRange

Declaration

Source position: tttables.pas line 117

type TGaspRange = record

  maxPPEM: UShort;

  gaspFlag: UShort;

end;


TGaspRanges

Declaration

Source position: tttables.pas line 122

type TGaspRanges = array [0..9] of TGaspRange;


THdmx

Declaration

Source position: tttables.pas line 238

type THdmx = record

  version: UShort;

  num_records: Short;

  records: PHdmx_Records;

end;


THdmx_Record

Declaration

Source position: tttables.pas line 229

type THdmx_Record = record

  ppem: Byte;

  max_width: Byte;

  widths: PByte;

end;


THdmx_Records

Declaration

Source position: tttables.pas line 235

type THdmx_Records = array [0..19] of THdmx_Record;


TLongMetrics

Declaration

Source position: tttables.pas line 133

type TLongMetrics = record

  advance: UShort;

  bearing: Short;

end;


TMaxProfile

Declaration

Source position: tttables.pas line 91

type TMaxProfile = record

  Version: TT_Fixed;

  numGlyphs: UShort;

  maxPoints: UShort;

  maxContours: UShort;

  maxCompositePoints: UShort;

  maxCompositeContours: UShort;

  maxZones: UShort;

  maxTwilightPoints: UShort;

  maxStorage: UShort;

  maxFunctionDefs: UShort;

  maxInstructionDefs: UShort;

  maxStackElements: UShort;

  maxSizeOfInstructions: UShort;

  maxComponentElements: UShort;

  maxComponentDepth: UShort;

end;


TName_Record

Declaration

Source position: tttables.pas line 203

type TName_Record = record

  platformID: UShort;

  encodingID: UShort;

  languageID: UShort;

  nameID: UShort;

  length: UShort;

  offset: UShort;

end;


TName_Records

Declaration

Source position: tttables.pas line 213

type TName_Records = array [0..0] of TName_Record;


TName_Table

Declaration

Source position: tttables.pas line 218

type TName_Table = record

  format: UShort;

  numNameRecords: UShort;

  storageOffset: UShort;

  names: PName_Records;

  storage: PByte;

end;


TShortMetrics

Declaration

Source position: tttables.pas line 141

type TShortMetrics = Short;


TTableDir

Declaration

Source position: tttables.pas line 52

type TTableDir = record

  version: TT_Fixed;

  numTables: UShort;

  searchRange: UShort;

  entrySelector: UShort;

  rangeShift: UShort;

end;


TTableDirEntries

Declaration

Source position: tttables.pas line 70

type TTableDirEntries = array [0..100] of TTableDirEntry;


TTableDirEntry

Declaration

Source position: tttables.pas line 63

type TTableDirEntry = record

  Tag: Long;

  CheckSum: Long;

  Offset: Long;

  Length: Long;

end;


TTableLongMetrics

Declaration

Source position: tttables.pas line 138

type TTableLongMetrics = array [0..255] of TLongMetrics;


TTableShortMetrics

Declaration

Source position: tttables.pas line 142

type TTableShortMetrics = array [0..255] of TShortMetrics;


TTTCHeader

Declaration

Source position: tttables.pas line 43

type TTTCHeader = record

  Tag: Long;

  version: TT_Fixed;

  DirCount: ULong;

  TableDirectory: PStorage;

end;


Failure

Declaration

Source position: tttypes.pas line 570

const Failure = True;


Reference for unit 'TTTypes'

The latest version of this document can be found at lazarus-ccr.sourceforge.net .


Reference for unit 'TTTypes': Constants

Failure

Success

TT_Err_Bad_Argument

TT_Err_CMap_Table_Missing

TT_Err_Code_Overflow

TT_Err_Could_Not_Find_Context

TT_Err_Could_Not_Open_File

TT_Err_Cvt_Overflow

TT_Err_Debug_Opcode

TT_Err_Divide_By_Zero

TT_Err_ENDF_In_Exec_Stream

TT_Err_Execution_Too_Long

TT_Err_Extensions_Unsupported

TT_Err_File_Error

TT_Err_File_Is_Not_Collection

TT_Err_Header_Table_Missing

TT_Err_Hmtx_Table_Missing

TT_Err_Horiz_Header_Missing

TT_Err_Interpolate_Twilight

TT_Err_Invalid_Argument

TT_Err_Invalid_Cache_List

TT_Err_Invalid_CharMap_Format

TT_Err_Invalid_CharMap_Handle

TT_Err_Invalid_CodeRange

TT_Err_Invalid_Composite

TT_Err_Invalid_Displacement

TT_Err_Invalid_Distance

TT_Err_Invalid_Engine

TT_Err_Invalid_Extension_Id

TT_Err_Invalid_Face_Handle

TT_Err_Invalid_File_Format

TT_Err_Invalid_File_Offset

TT_Err_Invalid_File_Read

TT_Err_Invalid_Frame_Access

TT_Err_Invalid_Glyph_Handle

TT_Err_Invalid_Glyph_Index

TT_Err_Invalid_Horiz_Metrics

TT_Err_Invalid_Instance_Handle

TT_Err_Invalid_Opcode

TT_Err_Invalid_Reference

TT_Err_Invalid_Result_Address

TT_Err_Invalid_Value

TT_Err_Invalid_Vert_Metrics

TT_Err_Locations_Missing

TT_Err_Max_Profile_Missing

TT_Err_Name_Table_Missing

TT_Err_Nested_DEFs

TT_Err_Nested_Frame_Access

TT_Err_No_Vertical_Data

TT_Err_Ok

TT_Err_OS2_Table_Missing

TT_Err_Out_Of_CodeRanges

TT_Err_Out_Of_Memory

TT_Err_Post_Table_Missing

TT_Err_Raster_Negative_Height

TT_Err_Raster_Not_Initialised

TT_Err_Raster_Pool_Overflow

TT_Err_Stack_Overflow

TT_Err_Storage_Overflow

TT_Err_Table_Missing

TT_Err_Too_Few_Arguments

TT_Err_Too_Many_Contours

TT_Err_Too_Many_Extensions

TT_Err_Too_Many_FuncDefs

TT_Err_Too_Many_Ins

TT_Err_Too_Many_InsDefs

TT_Err_Too_Many_Points

TT_Err_UNlisted_Object

TT_Flag_On_Curve

TT_Flow_Down

TT_Flow_Up


Reference for unit 'TTTypes': Types

Int

Long

PByte

PCoordinates

PLong

PShort

PStorage

PTouchTable

PTT_Gray_Palette

PULong

PUShort

Short

TByteArray

TCoordinates

TDirectRenderingFunction

TError

TShortArray

TStorage

TT_BBox

TT_Big_Glyph_Metrics

TT_CharMap

TT_ConStarts

TT_Coordinates

TT_Error

TT_F26Dot6

TT_F2Dot14

TT_Face

TT_Face_Properties

TT_Fixed

TT_FWord

TT_Glyph

TT_Glyph_Metrics

TT_Gray_Palette

TT_Header

TT_Horizontal_Header

TT_Instance

TT_Instance_Metrics

TT_Int

TT_KerningInfo

TT_Long

TT_Matrix

TT_OS2

TT_Outline

TT_PConStarts

TT_PCoordinates

TT_Points

TT_Points_Table

TT_Pos

TT_Postscript

TT_PTouchTable

TT_Raster_Map

TT_Short

TT_Stream

TT_TouchTable

TT_UFWord

TT_ULong

TT_UnitVector

TT_UShort

TT_Vector

TT_Vertical_Header

TUShortArray

TVecRecord

ULong

UShort


Reference for unit 'TTTypes': Classes

TFreeTypeCustomRasterizer


Index of all identifiers in unit 'TTTypes'

F I L P S T U

F

Failure

I

Int

L

Long

P

PByte | PShort | PTT_Gray_Palette
PCoordinates | PStorage | PULong
PLong | PTouchTable | PUShort

S

Short Success

T

TByteArray | TT_Err_Invalid_File_Format | TT_F2Dot14
TCoordinates | TT_Err_Invalid_File_Offset | TT_Face
TDirectRenderingFunction | TT_Err_Invalid_File_Read | TT_Face_Properties
TError | TT_Err_Invalid_Frame_Access | TT_Fixed
TFreeTypeCustomRasterizer | TT_Err_Invalid_Glyph_Handle | TT_Flag_On_Curve
TShortArray | TT_Err_Invalid_Glyph_Index | TT_Flow_Down
TStorage | TT_Err_Invalid_Horiz_Metrics | TT_Flow_Up
TT_BBox | TT_Err_Invalid_Instance_Handle | TT_FWord
TT_Big_Glyph_Metrics | TT_Err_Invalid_Opcode | TT_Glyph
TT_CharMap | TT_Err_Invalid_Reference | TT_Glyph_Metrics
TT_ConStarts | TT_Err_Invalid_Result_Address | TT_Gray_Palette
TT_Coordinates | TT_Err_Invalid_Value | TT_Header
TT_Err_Bad_Argument | TT_Err_Invalid_Vert_Metrics | TT_Horizontal_Header
TT_Err_CMap_Table_Missing | TT_Err_Locations_Missing | TT_Instance
TT_Err_Code_Overflow | TT_Err_Max_Profile_Missing | TT_Instance_Metrics
TT_Err_Could_Not_Find_Context | TT_Err_Name_Table_Missing | TT_Int
TT_Err_Could_Not_Open_File | TT_Err_Nested_DEFs | TT_KerningInfo
TT_Err_Cvt_Overflow | TT_Err_Nested_Frame_Access | TT_Long
TT_Err_Debug_Opcode | TT_Err_No_Vertical_Data | TT_Matrix
TT_Err_Divide_By_Zero | TT_Err_Ok | TT_OS2
TT_Err_ENDF_In_Exec_Stream | TT_Error | TT_Outline
TT_Err_Execution_Too_Long | TT_Err_OS2_Table_Missing | TT_PConStarts
TT_Err_Extensions_Unsupported | TT_Err_Out_Of_CodeRanges | TT_PCoordinates
TT_Err_File_Error | TT_Err_Out_Of_Memory | TT_Points
TT_Err_File_Is_Not_Collection | TT_Err_Post_Table_Missing | TT_Points_Table
TT_Err_Header_Table_Missing | TT_Err_Raster_Negative_Height | TT_Pos
TT_Err_Hmtx_Table_Missing | TT_Err_Raster_Not_Initialised | TT_Postscript
TT_Err_Horiz_Header_Missing | TT_Err_Raster_Pool_Overflow | TT_PTouchTable
TT_Err_Interpolate_Twilight | TT_Err_Stack_Overflow | TT_Raster_Map
TT_Err_Invalid_Argument | TT_Err_Storage_Overflow | TT_Short
TT_Err_Invalid_Cache_List | TT_Err_Table_Missing | TT_Stream
TT_Err_Invalid_CharMap_Format | TT_Err_Too_Few_Arguments | TT_TouchTable
TT_Err_Invalid_CharMap_Handle | TT_Err_Too_Many_Contours | TT_UFWord
TT_Err_Invalid_CodeRange | TT_Err_Too_Many_Extensions | TT_ULong
TT_Err_Invalid_Composite | TT_Err_Too_Many_FuncDefs | TT_UnitVector
TT_Err_Invalid_Displacement | TT_Err_Too_Many_Ins | TT_UShort
TT_Err_Invalid_Distance | TT_Err_Too_Many_InsDefs | TT_Vector
TT_Err_Invalid_Engine | TT_Err_Too_Many_Points | TT_Vertical_Header
TT_Err_Invalid_Extension_Id | TT_Err_UNlisted_Object | TUShortArray
TT_Err_Invalid_Face_Handle | TT_F26Dot6 | TVecRecord

U

ULong UShort


Int

Declaration

Source position: tttypes.pas line 534

type Int = Integer;


Long

Declaration

Source position: tttypes.pas line 527

type Long = LongInt;


PByte

Declaration

Source position: tttypes.pas line 538

type PByte = ^TByteArray;


PCoordinates

Declaration

Source position: tttypes.pas line 554

type PCoordinates = ^TCoordinates;


PLong

Declaration

Source position: tttypes.pas line 548

type PLong = PStorage;


PShort

Declaration

Source position: tttypes.pas line 541

type PShort = ^TShortArray;


PStorage

Declaration

Source position: tttypes.pas line 547

type PStorage = ^TStorage;


PTouchTable

Declaration

Source position: tttypes.pas line 556

type PTouchTable = PByte;


PTT_Gray_Palette

Declaration

Source position: tttypes.pas line 388

type PTT_Gray_Palette = ^TT_Gray_Palette;


PULong

Declaration

Source position: tttypes.pas line 549

type PULong = PStorage;


PUShort

Declaration

Source position: tttypes.pas line 544

type PUShort = ^TUShortArray;


Short

Declaration

Source position: tttypes.pas line 525

type Short = SmallInt;


Success

Declaration

Source position: tttypes.pas line 569

const Success = False;


TByteArray

Declaration

Source position: tttypes.pas line 537

type TByteArray = array [0..1000] of Byte;


TCoordinates

Declaration

Source position: tttypes.pas line 553

type TCoordinates = array [0..1023] of TT_F26Dot6;


TDirectRenderingFunction

Declaration

Source position: tttypes.pas line 171

type TDirectRenderingFunction = procedure(

  x: Integer;

  y: Integer;

  tx: Integer;

  data: pointer

) of object;


TError

Declaration

Source position: tttypes.pas line 24

type TError = Boolean;


TShortArray

Declaration

Source position: tttypes.pas line 540

type TShortArray = array [0..1000] of Short;


TStorage

Declaration

Source position: tttypes.pas line 546

type TStorage = array [0..16000] of Long;


TT_BBox

Declaration

Source position: tttypes.pas line 93

type TT_BBox = record

  xMin: TT_Pos;

  yMin: TT_Pos;

  xMax: TT_Pos;

  yMax: TT_Pos;

end;


TT_Big_Glyph_Metrics

Declaration

Source position: tttypes.pas line 160

type TT_Big_Glyph_Metrics = record

  bbox: TT_BBox;

  horiBearingX: TT_Pos;

  horiBearingY: TT_Pos;

  horiAdvance: TT_Pos;

  vertBearingX: TT_Pos;

  vertBearingY: TT_Pos;

  vertAdvance: TT_Pos;

end;


TT_CharMap

Declaration

Source position: tttypes.pas line 385

type TT_CharMap = record

  z: Pointer;

end;


TT_ConStarts

Declaration

Source position: tttypes.pas line 123

type TT_ConStarts = array [0..9] of Word;


TT_Coordinates

Declaration

Source position: tttypes.pas line 117

type TT_Coordinates = array [0..99] of TT_Pos;


TT_Err_Bad_Argument

Declaration

Source position: tttypes.pas line 461

const TT_Err_Bad_Argument = $0404;


TT_Err_CMap_Table_Missing

Declaration

Source position: tttypes.pas line 433

const TT_Err_CMap_Table_Missing = $0085;


TT_Err_Code_Overflow

Declaration

Source position: tttypes.pas line 460

const TT_Err_Code_Overflow = $0403;


TT_Err_Could_Not_Find_Context

Declaration

Source position: tttypes.pas line 480

const TT_Err_Could_Not_Find_Context = $0502;


TT_Err_Could_Not_Open_File

Declaration

Source position: tttypes.pas line 410

const TT_Err_Could_Not_Open_File = $0008;


TT_Err_Cvt_Overflow

Declaration

Source position: tttypes.pas line 464

const TT_Err_Cvt_Overflow = $0407;


TT_Err_Debug_Opcode

Declaration

Source position: tttypes.pas line 468

const TT_Err_Debug_Opcode = $040B;


TT_Err_Divide_By_Zero

Declaration

Source position: tttypes.pas line 462

const TT_Err_Divide_By_Zero = $0405;


TT_Err_ENDF_In_Exec_Stream

Declaration

Source position: tttypes.pas line 469

const TT_Err_ENDF_In_Exec_Stream = $040C;


TT_Err_Execution_Too_Long

Declaration

Source position: tttypes.pas line 474

const TT_Err_Execution_Too_Long = $0411;


TT_Err_Extensions_Unsupported

Declaration

Source position: tttypes.pas line 423

const TT_Err_Extensions_Unsupported = $0022;


TT_Err_File_Error

Declaration

Source position: tttypes.pas line 419

const TT_Err_File_Error = $0011;


TT_Err_File_Is_Not_Collection

Declaration

Source position: tttypes.pas line 411

const TT_Err_File_Is_Not_Collection = $0009;


TT_Err_Header_Table_Missing

Declaration

Source position: tttypes.pas line 429

const TT_Err_Header_Table_Missing = $0081;


TT_Err_Hmtx_Table_Missing

Declaration

Source position: tttypes.pas line 434

const TT_Err_Hmtx_Table_Missing = $0086;


TT_Err_Horiz_Header_Missing

Declaration

Source position: tttypes.pas line 430

const TT_Err_Horiz_Header_Missing = $0082;


TT_Err_Interpolate_Twilight

Declaration

Source position: tttypes.pas line 467

const TT_Err_Interpolate_Twilight = $040A;


TT_Err_Invalid_Argument

Declaration

Source position: tttypes.pas line 409

const TT_Err_Invalid_Argument = $0007;


TT_Err_Invalid_Cache_List

Declaration

Source position: tttypes.pas line 479

const TT_Err_Invalid_Cache_List = $0501;


TT_Err_Invalid_CharMap_Format

Declaration

Source position: tttypes.pas line 416

const TT_Err_Invalid_CharMap_Format = $000C;


TT_Err_Invalid_CharMap_Handle

Declaration

Source position: tttypes.pas line 406

const TT_Err_Invalid_CharMap_Handle = $0004;


TT_Err_Invalid_CodeRange

Declaration

Source position: tttypes.pas line 472

const TT_Err_Invalid_CodeRange = $040F;


TT_Err_Invalid_Composite

Declaration

Source position: tttypes.pas line 452

const TT_Err_Invalid_Composite = $0302;


TT_Err_Invalid_Displacement

Declaration

Source position: tttypes.pas line 473

const TT_Err_Invalid_Displacement = $0410;


TT_Err_Invalid_Distance

Declaration

Source position: tttypes.pas line 466

const TT_Err_Invalid_Distance = $0409;


TT_Err_Invalid_Engine

Declaration

Source position: tttypes.pas line 421

const TT_Err_Invalid_Engine = $0020;


TT_Err_Invalid_Extension_Id

Declaration

Source position: tttypes.pas line 424

const TT_Err_Invalid_Extension_Id = $0023;


TT_Err_Invalid_Face_Handle

Declaration

Source position: tttypes.pas line 403

const TT_Err_Invalid_Face_Handle = $0001;


TT_Err_Invalid_File_Format

Declaration

Source position: tttypes.pas line 418

const TT_Err_Invalid_File_Format = $0010;


TT_Err_Invalid_File_Offset

Declaration

Source position: tttypes.pas line 444

const TT_Err_Invalid_File_Offset = $0200;


TT_Err_Invalid_File_Read

Declaration

Source position: tttypes.pas line 445

const TT_Err_Invalid_File_Read = $0201;


TT_Err_Invalid_Frame_Access

Declaration

Source position: tttypes.pas line 446

const TT_Err_Invalid_Frame_Access = $0202;


TT_Err_Invalid_Glyph_Handle

Declaration

Source position: tttypes.pas line 405

const TT_Err_Invalid_Glyph_Handle = $0003;


TT_Err_Invalid_Glyph_Index

Declaration

Source position: tttypes.pas line 408

const TT_Err_Invalid_Glyph_Index = $0006;


TT_Err_Invalid_Horiz_Metrics

Declaration

Source position: tttypes.pas line 414

const TT_Err_Invalid_Horiz_Metrics = $000B;


TT_Err_Invalid_Instance_Handle

Declaration

Source position: tttypes.pas line 404

const TT_Err_Invalid_Instance_Handle = $0002;


TT_Err_Invalid_Opcode

Declaration

Source position: tttypes.pas line 457

const TT_Err_Invalid_Opcode = $0400;


TT_Err_Invalid_Reference

Declaration

Source position: tttypes.pas line 465

const TT_Err_Invalid_Reference = $0408;


TT_Err_Invalid_Result_Address

Declaration

Source position: tttypes.pas line 407

const TT_Err_Invalid_Result_Address = $0005;


TT_Err_Invalid_Value

Declaration

Source position: tttypes.pas line 485

const TT_Err_Invalid_Value = $0602;


TT_Err_Invalid_Vert_Metrics

Declaration

Source position: tttypes.pas line 415

const TT_Err_Invalid_Vert_Metrics = $000B;


TT_Err_Locations_Missing

Declaration

Source position: tttypes.pas line 431

const TT_Err_Locations_Missing = $0083;


TT_Err_Max_Profile_Missing

Declaration

Source position: tttypes.pas line 428

const TT_Err_Max_Profile_Missing = $0080;


TT_Err_Name_Table_Missing

Declaration

Source position: tttypes.pas line 432

const TT_Err_Name_Table_Missing = $0084;


TT_Err_Nested_DEFs

Declaration

Source position: tttypes.pas line 471

const TT_Err_Nested_DEFs = $040E;


TT_Err_Nested_Frame_Access

Declaration

Source position: tttypes.pas line 478

const TT_Err_Nested_Frame_Access = $0500;


TT_Err_No_Vertical_Data

Declaration

Source position: tttypes.pas line 426

const TT_Err_No_Vertical_Data = $0030;


TT_Err_Ok

Declaration

Source position: tttypes.pas line 399

const TT_Err_Ok = 0;


TT_Err_OS2_Table_Missing

Declaration

Source position: tttypes.pas line 435

const TT_Err_OS2_Table_Missing = $0087;


TT_Err_Out_Of_CodeRanges

Declaration

Source position: tttypes.pas line 470

const TT_Err_Out_Of_CodeRanges = $040D;


TT_Err_Out_Of_Memory

Declaration

Source position: tttypes.pas line 440

const TT_Err_Out_Of_Memory = $0100;


TT_Err_Post_Table_Missing

Declaration

Source position: tttypes.pas line 436

const TT_Err_Post_Table_Missing = $0088;


TT_Err_Raster_Negative_Height

Declaration

Source position: tttypes.pas line 484

const TT_Err_Raster_Negative_Height = $0601;


TT_Err_Raster_Not_Initialised

Declaration

Source position: tttypes.pas line 486

const TT_Err_Raster_Not_Initialised = $0603;


TT_Err_Raster_Pool_Overflow

Declaration

Source position: tttypes.pas line 483

const TT_Err_Raster_Pool_Overflow = $0600;


TT_Err_Stack_Overflow

Declaration

Source position: tttypes.pas line 459

const TT_Err_Stack_Overflow = $0402;


TT_Err_Storage_Overflow

Declaration

Source position: tttypes.pas line 463

const TT_Err_Storage_Overflow = $0406;


TT_Err_Table_Missing

Declaration

Source position: tttypes.pas line 413

const TT_Err_Table_Missing = $000A;


TT_Err_Too_Few_Arguments

Declaration

Source position: tttypes.pas line 458

const TT_Err_Too_Few_Arguments = $0401;


TT_Err_Too_Many_Contours

Declaration

Source position: tttypes.pas line 451

const TT_Err_Too_Many_Contours = $0301;


TT_Err_Too_Many_Extensions

Declaration

Source position: tttypes.pas line 422

const TT_Err_Too_Many_Extensions = $0021;


TT_Err_Too_Many_FuncDefs

Declaration

Source position: tttypes.pas line 475

const TT_Err_Too_Many_FuncDefs = $0412;


TT_Err_Too_Many_Ins

Declaration

Source position: tttypes.pas line 453

const TT_Err_Too_Many_Ins = $0303;


TT_Err_Too_Many_InsDefs

Declaration

Source position: tttypes.pas line 476

const TT_Err_Too_Many_InsDefs = $0413;


TT_Err_Too_Many_Points

Declaration

Source position: tttypes.pas line 450

const TT_Err_Too_Many_Points = $0300;


TT_Err_UNlisted_Object

Declaration

Source position: tttypes.pas line 481

const TT_Err_UNlisted_Object = $0503;


TT_Error

Declaration

Source position: tttypes.pas line 112

type TT_Error = TT_Int;


TT_F2Dot14

Declaration

Source position: tttypes.pas line 42

type TT_F2Dot14 = Integer;


TT_F26Dot6

Declaration

Source position: tttypes.pas line 55

type TT_F26Dot6 = LongInt;


TT_Face

Declaration

Source position: tttypes.pas line 382

type TT_Face = record

  z: Pointer;

end;


TT_Face_Properties

Declaration

Source position: tttypes.pas line 364

type TT_Face_Properties = record

  num_glyphs: Integer;

  max_points: Integer;

  max_contours: Integer;

  max_faces: Integer;

  header: ;

  horizontal: ;

  vertical: ;

  os2: ;

  postscript: ;

end;


TT_Fixed

Declaration

Source position: tttypes.pas line 37

type TT_Fixed = LongInt;


TT_Flag_On_Curve

Declaration

Source position: tttypes.pas line 60

const TT_Flag_On_Curve = $01;


TT_Flow_Down

Declaration

Source position: tttypes.pas line 194

const TT_Flow_Down = - 1;


TT_Flow_Up

Declaration

Source position: tttypes.pas line 195

const TT_Flow_Up = + 1;


TT_FWord

Declaration

Source position: tttypes.pas line 39

type TT_FWord = SmallInt;


TT_Glyph

Declaration

Source position: tttypes.pas line 384

type TT_Glyph = record

  z: Pointer;

end;


TT_Glyph_Metrics

Declaration

Source position: tttypes.pas line 149

type TT_Glyph_Metrics = record

  bbox: TT_BBox;

  bearingX: TT_Pos;

  bearingY: TT_Pos;

  advance: TT_Pos;

end;


TT_Gray_Palette

Declaration

Source position: tttypes.pas line 387

type TT_Gray_Palette = array [0..4] of Byte;


TT_Header

Declaration

Source position: tttypes.pas line 216

type TT_Header = record

  table_version: TT_Fixed;

  font_revision: TT_Fixed;

  checksum_adjust: TT_Long;

  magic_number: TT_Long;

  flags: TT_UShort;

  units_per_EM: TT_UShort;

  created: array [0..1] of TT_Long;

  modified: array [0..1] of TT_Long;

  xMin: TT_FWord;

  yMin: TT_FWord;

  xMax: TT_FWord;

  yMax: TT_FWord;

  mac_style: TT_UShort;

  lowest_rec_PPEM: TT_UShort;

  font_direction: TT_Short;

  index_to_loc_format: TT_Short;

  glyph_data_format: TT_Short;

end;


TT_Horizontal_Header

Declaration

Source position: tttypes.pas line 244

type TT_Horizontal_Header = record

  version: TT_Fixed;

  ascender: TT_FWord;

  descender: TT_FWord;

  line_gap: TT_FWord;

  advance_Width_Max: TT_UShort;

  min_left_side_bearing: TT_Short;

  min_right_side_bearing: TT_Short;

  xMax_extent: TT_Short;

  caret_slope_rise: TT_Short;

  caret_slope_run: TT_Short;

  reserved: array [0..4] of TT_Short;

  metric_data_format: TT_Short;

  number_of_HMetrics: TT_UShort;

  short_metrics: Pointer;

  long_metrics: Pointer;

end;


TT_Instance

Declaration

Source position: tttypes.pas line 383

type TT_Instance = record

  z: Pointer;

end;


TT_Instance_Metrics

Declaration

Source position: tttypes.pas line 179

type TT_Instance_Metrics = record

  pointsize: Integer;

  x_ppem: Integer;

  y_ppem: Integer;

  x_scale: TT_Fixed;

  y_scale: TT_Fixed;

  x_resolution: Integer;

  y_resolution: Integer;

end;


TT_Int

Declaration

Source position: tttypes.pas line 29

type TT_Int = Integer;


TT_KerningInfo

Declaration

Source position: tttypes.pas line 102

type TT_KerningInfo = record

  kerning_x: TT_FWord;

  kerning_y: TT_FWord;

  minimum_x: TT_FWord;

  minimum_y: TT_FWord;

  found: Boolean;

end;


TT_Long

Declaration

Source position: tttypes.pas line 32

type TT_Long = LongInt;


TT_Matrix

Declaration

Source position: tttypes.pas line 84

type TT_Matrix = record

  xx: TT_Fixed;

  xy: TT_Fixed;

  yx: TT_Fixed;

  yy: TT_Fixed;

end;


TT_OS2

Declaration

Source position: tttypes.pas line 300

type TT_OS2 = record

  version: TT_UShort;

  xAvgCharWidth: TT_Short;

  usWeightClass: TT_UShort;

  usWidthClass: TT_UShort;

  fsType: TT_Short;

  ySubscriptXSize: TT_Short;

  ySubscriptYSize: TT_Short;

  ySubScriptXOffset: TT_Short;

  ySubscriptYOffset: TT_Short;

  ySuperscriptXSize: TT_Short;

  ySuperscriptYSize: TT_Short;

  ySuperscriptXOffset: TT_Short;

  ySuperscriptYOffset: TT_Short;

  yStrikeoutSize: TT_Short;

  yStrikeoutPosition: TT_Short;

  sFamilyClass: TT_Short;

  panose: array [0..9] of Byte;

  ulUnicodeRange1: TT_ULong;

  ulUnicodeRange2: TT_ULong;

  ulUnicodeRange3: TT_ULong;

  ulUnicodeRange4: TT_ULong;

  achVendID: array [0..3] of Byte;

  fsSelection: TT_UShort;

  usFirstCharIndex: TT_UShort;

  usLastCharIndex: TT_UShort;

  sTypoAscender: TT_Short;

  sTypoDescender: TT_Short;

  sTypoLineGap: TT_Short;

  usWinAscent: TT_UShort;

  usWinDescent: TT_UShort;

  ulCodePageRange1: TT_ULong;

  ulCodePageRange2: TT_ULong;

  sxHeight: TT_Short;

  sCapHeight: TT_Short;

  usDefaultChar: TT_UShort;

  usBreakChar: TT_UShort;

  usMaxContext: TT_UShort;

end;


TT_Outline

Declaration

Source position: tttypes.pas line 129

type TT_Outline = record

  n_points: Integer;

  n_contours: Integer;

  points: TT_Points;

  flags: TT_PTouchTable;

  conEnds: TT_PConStarts;

  owner: Boolean;

  high_precision: Boolean;

  second_pass: Boolean;

  dropout_mode: Byte;

end;


TT_PConStarts

Declaration

Source position: tttypes.pas line 124

type TT_PConStarts = ^TT_ConStarts;


TT_PCoordinates

Declaration

Source position: tttypes.pas line 118

type TT_PCoordinates = ^TT_Coordinates;


TT_Points

Declaration

Source position: tttypes.pas line 115

type TT_Points = ^TT_Points_Table;


TT_Points_Table

Declaration

Source position: tttypes.pas line 114

type TT_Points_Table = array [0..99] of TT_Vector;


TT_Pos

Declaration

Source position: tttypes.pas line 57

type TT_Pos = LongInt;


TT_Postscript

Declaration

Source position: tttypes.pas line 347

type TT_Postscript = record

  FormatType: TT_Fixed;

  italicAngle: TT_Fixed;

  underlinePosition: TT_Short;

  underlineThickness: TT_Short;

  isFixedPitch: TT_ULong;

  minMemType42: TT_ULong;

  maxMemType42: TT_ULong;

  minMemType1: TT_ULong;

  maxMemType1: TT_ULong;

end;


TT_PTouchTable

Declaration

Source position: tttypes.pas line 121

type TT_PTouchTable = ^TT_TouchTable;


TT_Raster_Map

Declaration

Source position: tttypes.pas line 203

type TT_Raster_Map = record

  Rows: TT_Int;

  Cols: TT_Int;

  Width: TT_Int;

  Flow: TT_Int;

  Buffer: pointer;

  Size: LongInt;

end;


TT_Short

Declaration

Source position: tttypes.pas line 34

type TT_Short = Integer;


TT_Stream

Declaration

Source position: tttypes.pas line 381

type TT_Stream = record

  z: Pointer;

end;


TT_TouchTable

Declaration

Source position: tttypes.pas line 120

type TT_TouchTable = array [0..9] of Byte;


TT_UFWord

Declaration

Source position: tttypes.pas line 40

type TT_UFWord = Word;


TT_ULong

Declaration

Source position: tttypes.pas line 33

type TT_ULong = LongWord;


TT_UnitVector

Declaration

Source position: tttypes.pas line 66

type TT_UnitVector = record

  x: TT_F2Dot14;

  y: TT_F2Dot14;

end;


TT_UShort

Declaration

Source position: tttypes.pas line 35

type TT_UShort = Word;


TT_Vector

Declaration

Source position: tttypes.pas line 75

type TT_Vector = record

  x: TT_Pos;

  y: TT_Pos;

end;


TT_Vertical_Header

Declaration

Source position: tttypes.pas line 272

type TT_Vertical_Header = record

  version: TT_Fixed;

  ascender: TT_FWord;

  descender: TT_FWord;

  line_gap: TT_FWord;

  advance_Height_Max: TT_UShort;

  min_top_side_bearing: TT_Short;

  min_bottom_side_bearing: TT_Short;

  yMax_extent: TT_Short;

  caret_slope_rise: TT_Short;

  caret_slope_run: TT_Short;

  reserved: array [0..4] of TT_Short;

  metric_data_format: TT_Short;

  number_of_VMetrics: TT_UShort;

  short_metrics: Pointer;

  long_metrics: Pointer;

end;


TUShortArray

Declaration

Source position: tttypes.pas line 543

type TUShortArray = array [0..1000] of UShort;


TVecRecord

Declaration

Source position: tttypes.pas line 558

type TVecRecord = record

  n: Int;

  org_x: PCoordinates;

  org_y: PCoordinates;

  cur_x: PCoordinates;

  cur_y: PCoordinates;

  touch: PTouchTable;

end;


ULong

Declaration

Source position: tttypes.pas line 528

type ULong = LongWord;


UShort

Declaration

Source position: tttypes.pas line 524

type UShort = Word;


Reference for unit 'UITypes'

Contains types and constants used in modal dialogs

uses

  Classes,

  sysutils;


Reference for unit 'UITypes': Constants

ModalResultStr | String representations for modal result values
mrAbort | Abort button was clicked
mrAll | All button was clicked
mrCancel | Cancel button was clicked
mrClose | Close button was clicked
mrIgnore | Ignore button was clicked
mrLast | Last modal result value (same as mrClose)
mrNo | No button was clicked
mrNone | Dialog was closed without pressing a button
mrNoToAll | No to All button was clicked
mrOK | OK button was clicked
mrRetry | Retry button was clicked
mrYes | Yes button was clicked
mrYesToAll | Yes to All button was clicked


Reference for unit 'UITypes': Types

PModalResult | Pointer to a modal result value
TModalResult | Value returned from a modal dialog box
TMsgDlgBtn | Defines the buttons that can be displayed in a message box
TMsgDlgButtons | Stores values from the TMsgDlgBtn enumeration
TMsgDlgType | Defines the type of dialog implemented in a message box


Index of all identifiers in unit 'UITypes'

M P T

M

mbAbort | mbYesToAll | mrOK
mbAll | ModalResultStr | mrRetry
mbCancel | mrAbort | mrYes
mbClose | mrAll | mrYesToAll
mbHelp | mrCancel | mtConfirmation
mbIgnore | mrClose | mtCustom
mbNo | mrIgnore | mtError
mbNoToAll | mrLast | mtInformation
mbOK | mrNo | mtWarning
mbRetry | mrNone |
mbYes | mrNoToAll |

P

PModalResult

T

TModalResult | TMsgDlgButtons
TMsgDlgBtn | TMsgDlgType


ModalResultStr

String representations for modal result values

Declaration

Source position: uitypes.pas line 38

const ModalResultStr: array [mrNone..mrLast] of shortstring = ('mrNone', 'mrOk', 'mrCancel', 'mrAbort', 'mrRetry', 'mrIgnore', 'mrYes', 'mrNo', 'mrAll', 'mrNoToAll', 'mrYesToAll', 'mrClose');

Description

ModalResultStr is array of ShortString values that contains the string representations for values in TModalResult. ModalResultStr values can be accessed using the corresponding numeric modal result value. For example:

sResult := ModalResultStr[mrNone]; // returns 'mrNone'

ModalResultStr contains the following values:

  • 'mrNone'
  • 'mrOk'
  • 'mrCancel'
  • 'mrAbort'
  • 'mrRetry'
  • 'mrIgnore'
  • 'mrYes'
  • 'mrNo'
  • 'mrAll'
  • 'mrNoToAll'
  • 'mrYesToAll'
  • 'mrClose'


mrAbort

Abort button was clicked

Declaration

Source position: uitypes.pas line 26

const mrAbort = mrNone + 3;


mrAll

All button was clicked

Declaration

Source position: uitypes.pas line 31

const mrAll = mrNone + 8;


mrCancel

Cancel button was clicked

Declaration

Source position: uitypes.pas line 25

const mrCancel = mrNone + 2;


mrClose

Close button was clicked

Declaration

Source position: uitypes.pas line 34

const mrClose = mrNone + 11;


mrIgnore

Ignore button was clicked

Declaration

Source position: uitypes.pas line 28

const mrIgnore = mrNone + 5;


mrLast

Last modal result value (same as mrClose)

Declaration

Source position: uitypes.pas line 35

const mrLast = mrClose;


mrNo

No button was clicked

Declaration

Source position: uitypes.pas line 30

const mrNo = mrNone + 7;


mrNone

Dialog was closed without pressing a button

Declaration

Source position: uitypes.pas line 23

const mrNone = 0;


mrNoToAll

No to All button was clicked

Declaration

Source position: uitypes.pas line 32

const mrNoToAll = mrNone + 9;


mrOK

OK button was clicked

Declaration

Source position: uitypes.pas line 24

const mrOK = mrNone + 1;


mrRetry

Retry button was clicked

Declaration

Source position: uitypes.pas line 27

const mrRetry = mrNone + 4;


mrYes

Yes button was clicked

Declaration

Source position: uitypes.pas line 29

const mrYes = mrNone + 6;


mrYesToAll

Yes to All button was clicked

Declaration

Source position: uitypes.pas line 33

const mrYesToAll = mrNone + 10;


PModalResult

Pointer to a modal result value

Declaration

Source position: uitypes.pas line 19

type PModalResult = ^TModalResult;

Description

PModalResult is a pointer type to a TModalResult value.


TModalResult

Value returned from a modal dialog box

Declaration

Source position: uitypes.pas line 18

type TModalResult = (Integer)..(Integer);

Description

TModalResult is an Integer type with a value in the range low(Integer)..high(Integer). TModalResult is the type returned by routines that display modal dialog boxes, such as: MessageDlg, MessageDlgPos, MessageDlgPosHelp, QuestionDlg, and LazMessageDlg.

The value in TModalResult indicates the button clicked to close the modal dialog, and contains one of the constant values:

  • mrNone
  • mrOK
  • mrCancel
  • mrAbort
  • mrRetry
  • mrIgnore
  • mrYes
  • mrNo
  • mrAll
  • mrNoToAll
  • mrYesToAll
  • mrClose
  • mrLast


TMsgDlgBtn

Defines the buttons that can be displayed in a message box

Declaration

Source position: uitypes.pas line 13

type TMsgDlgBtn = (
mbYes, | Displays a 'Yes' button
mbNo, | Displays a 'No' button
mbOK, | Displays an 'OK' button
mbCancel, | Displays a 'Cancel' button
mbAbort, | Displays an 'Abort' button
mbRetry, | Displays a 'Retry' button
mbIgnore, | Displays an 'Ignore' button
mbAll, | Displays an 'All' button
mbNoToAll, | Displays a 'No to All' button
mbYesToAll, | Displays a 'Yes to All' button
mbHelp, | Displays a 'Help' button
mbClose | Displays a 'Close' button
);

Description

TMsgDlgBtn is an enumeration type with values that define the buttons that can be displayed in a message dialog. TMsgDlgBtn values also determine the modal result returned from the dialog when the corresponding button is clicked.

Values in the enumeration are used in various routines, such as: MessageDlg, MessageDlgPos, MessageDlgPosHelp, CreateMessageDialog, QuestionDlg, and LazMessageDlg.


TMsgDlgButtons

Stores values from the TMsgDlgBtn enumeration

Declaration

Source position: uitypes.pas line 15

type TMsgDlgButtons = set of (
mbYes, | Displays a 'Yes' button
mbNo, | Displays a 'No' button
mbOK, | Displays an 'OK' button
mbCancel, | Displays a 'Cancel' button
mbAbort, | Displays an 'Abort' button
mbRetry, | Displays a 'Retry' button
mbIgnore, | Displays an 'Ignore' button
mbAll, | Displays an 'All' button
mbNoToAll, | Displays a 'No to All' button
mbYesToAll, | Displays a 'Yes to All' button
mbHelp, | Displays a 'Help' button
mbClose | Displays a 'Close' button
);

Description

TMsgDlgButtons is a set type used to store zero or more values from the TMsgDlgBtn enumeration. TMsgDlgButtons is passed as an argument to routines like: MessageDlg, MessageDlgPos, MessageDlgPosHelp, CreateMessageDialog, QuestionDlg, and LazMessageDlg.


TMsgDlgType

Defines the type of dialog implemented in a message box

Declaration

Source position: uitypes.pas line 12

type TMsgDlgType = (
mtWarning, | Warning message box with an Exclamation mark icon
mtError, | Error message box with Stop sign icon
mtInformation, | Information message box with an Info icon
mtConfirmation, | Confirmation message box with a Question mark icon
mtCustom | Custom message box; No icon is displayed, and the caption contains the value in ApplicationName
);

Description

TMsgDlgType is an enumeration type that defines the type of dialog implemented in a message box. Values in the enumeration determine the caption, icon, string literals, and buttons displayed in various dialog types.

TMsgDlgType is used in several routines, such as: MessageDlg, MessageDlgPos, MessageDlgPosHelp, CreateMessageDialog, QuestionDlg, and LazMessageDlg.


Reference for unit 'UTF8Process'

Defines a version of FPC TProcess that allows UTF-8-encoded arguments

uses
Classes,
sysutils,
process,
FileUtil, | Miscellaneous procedures, functions, types, and classes for manipulating files and file names
LazFileUtils, | Contains types, procedures, and functions used for file and directory operations
LazUTF8, | Number of characters (codepoints) to get from the string
LazUtilsStrConsts; | Resource strings used in the LazUtils package


Reference for unit 'UTF8Process': Classes

TProcessUTF8

Implements a version of FPC TProcess that allows UTF-8-encoded arguments


Reference for unit 'UTF8Process': Procedures and functions

FindFilenameOfCmd |
GetSystemThreadCount | Gets a default value for the number of threads on the system
Register |
RunCmdFromPath | Executes a command found in the current PATH environment


Index of all identifiers in unit 'UTF8Process'

F G R T

F

FindFilenameOfCmd

G

GetSystemThreadCount

R

Register RunCmdFromPath

T

TProcessUTF8