Please enable JavaScript to view this site.

 

Navigation: Appendices > Q++Studio > XML Identifiers > Internal Data Structures > Implementation > List

TMonthHeaderOptions — XML implementation

Scroll Prev Up Next More

This topic covers the implementation details of TMonthHeaderOptions.

 

The linked internal-structure entry uses the XML identifier TMonthHeadersOptions; the implementing Pascal type is TMonthHeaderOptions.

 

Scope: TypeDefinitions.pas; record. Prepared from the curated implementation supplied for this review on 2 October 2026.

 

Represents one of the 12 MonthHeader slots. Initialize supplies DateSystem=0, DayValue1=1, DayValue2=7 and empty strings. DoesSomething determines whether the writer emits more than the type marker.

 

Notation and shared helper rules: Reading this reference.

 

XML identity and composition

 

Literal rec_type values emitted within these routines: TMonthHeadersOptions. Nested values may belong to child wrappers rather than this owner itself; the attribute entries below give their exact locations.

 

Exact XML fields and attributes

 

The paths below start at this record or property node. A slash identifies a child element; @ identifies an attribute. Curly braces mark a variable index or expression, not literal XML text. Initial values describe initialization; they do not establish what an omitted individual element does. The Implementation toggle below contains the supplied routines for exact branch order and conversions.

 

DateSystem

 

XML representation: The text of the DateSystem element.

 

Initial value: 0 (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into DateSystem when the record node exists and contains child elements.

 

Writing: Stores the numeric value of DateSystem when the record’s DoesSomething check succeeds.

 

DayValue1

 

XML representation: The text of the DayValue1 element.

 

Initial value: 1 (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into DayValue1 when the record node exists and contains child elements.

 

Writing: Stores the numeric value of DayValue1 when the record’s DoesSomething check succeeds.

 

DayValue2

 

XML representation: The text of the DayValue2 element.

 

Initial value: 7 (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into DayValue2 when the record node exists and contains child elements.

 

Writing: Stores the numeric value of DayValue2 when the record’s DoesSomething check succeeds.

 

StrNoChange

 

XML representation: The text of the StrNoChange element.

 

Initial value: an empty string (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into StrNoChange when the record node exists and contains child elements.

 

Writing: Stores StrNoChange when the record’s DoesSomething check succeeds.

 

StrMonthChange

 

XML representation: The text of the StrMonthChange element.

 

Initial value: an empty string (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into StrMonthChange when the record node exists and contains child elements.

 

Writing: Stores StrMonthChange when the record’s DoesSomething check succeeds.

 

StrYearChange

 

XML representation: The text of the StrYearChange element.

 

Initial value: an empty string (TMonthHeaderOptions.Initialize).

 

Reading: Reads the element into StrYearChange when the record node exists and contains child elements.

 

Writing: Stores StrYearChange when the record’s DoesSomething check succeeds.

 

@rec_type

 

XML representation: The rec_type attribute.

 

Writing: Stores the literal text “TMonthHeadersOptions” whenever the writer reaches this field.

 

Initialization and reset values

 

TMonthHeaderOptions.Initialize

 

Setting or temporary variable

Initial value

When it is assigned

DateSystem

0

Always

DayValue1

1

Always

DayValue2

7

Always

StrNoChange

an empty string

Always

StrMonthChange

an empty string

Always

StrYearChange

an empty string

Always

 

Storage declarations relevant to interpretation

 

These are in-memory member and property types, not a list of mandatory XML children. They retain array bounds, fixed buffers and selector types. The field reference above defines what is actually serialized.

 

Name

Declared type / bounds

Kind

DateSystem

integer

member

DayValue1

integer

member

DayValue2

integer

member

StrNoChange

string

member

StrMonthChange

string

member

StrYearChange

string

member

FmtNoChange

string

member

FmtMonthChange

string

member

FmtYearChange

string

member

 

Implementation details

 

The Implementation toggle contains only TMonthHeaderOptions methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.

 

Declaration reproduces this record’s complete declaration from the supplied source, including its fields, properties and method signatures.

 

Declaration

 

Implementation