Please enable JavaScript to view this site.

 

This topic covers the implementation details of TMoonOptions.

 

Scope: cpMoonOptions.pas; class derived from TBtnEditProperty. Prepared from the curated implementation supplied for this review on 2 October 2026.

 

Contains moon quarter/eighth-phase symbols, times of day, zodiac and season/solstice formatting, summer-time text, horizon, planetary and lunar-day options. Several records use default_vals profiles; seasons/solstices profile strings are not interchangeable with boolean markers.

 

NewTextLength is the literal XML key used for the relevant text-length option. Nested time records use TTimesDisplayRec. The full constructor supplies defaults for records without their own initializer.

 

The horizon writer overwrites the enclosing rec_type while creating Above and Below children; see TAboveBelowHorizonRec. The intended structure and current emitted label must be distinguished.

 

Notation and shared helper rules: Reading this reference.

 

XML identity and composition

 

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

 

Inherited implementation: TBtnEditProperty. Follow it when the ordered behavior invokes inherited methods; inherited fields are not repeated as locally owned fields.

 

Structures used directly by this XML implementation:

 

TAboveBelowHorizonRec

TPlanetsOptionsRec

TSeasonsDisplayRec

TTimesDisplayRec

TZodiacDisplayRec

 

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.

 

MooOpt/FontName

 

XML representation: The text of the FontName element.

 

Reading: Reads the element into aPropValue.MooOpt.s when the record node exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores mpFont whenever the writer reaches this field.

 

MooOpt/DisplaySymbolSingleDays

 

XML representation: The text of the DisplaySymbolSingleDays element.

 

Reading: Reads the element into aPropValue.MooOpt.DisplaySymbolSingleDays when the record node exists.

 

Reading: Reads the element into aPropValue.MooOpt.DisplaySymbolSingleDays when the record node exists. Before this read, aPropValue.MooOpt.DisplaySymbolSingleDays is set to XML value of DisplaySymbolSingleDays if supplied; helper missing-node behavior unconfirmed.

 

Writing: Stores true or false according to DisplaySymbolSingleDays whenever the writer reaches this field.

 

MooOpt/MoonSymbolLeftWrapper

 

XML representation: The text of the MoonSymbolLeftWrapper element.

 

Reading: Reads the element into aPropValue.MooOpt.s when the record node exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores MoonSymbolLeftWrapper whenever the writer reaches this field.

 

MooOpt/MoonSymbolRightWrapper

 

XML representation: The text of the MoonSymbolRightWrapper element.

 

Reading: Reads the element into aPropValue.MooOpt.s when the record node exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores MoonSymbolRightWrapper whenever the writer reaches this field.

 

MooOpt/MultiMoonSymbolSeparator

 

XML representation: The text of the MultiMoonSymbolSeparator element.

 

Reading: Reads the element into aPropValue.MooOpt.s when the record node exists. The subsequent conversion is shown in Implementation.

 

Writing: Stores MultiMoonSymbolSeparator whenever the writer reaches this field.

 

MooOpt/DisplaySymbolDuration

 

XML representation: The text of the DisplaySymbolDuration element.

 

Reading: Reads the element into aPropValue.MooOpt.DisplaySymbolDuration when the record node exists.

 

Writing: Stores true or false according to DisplaySymbolDuration whenever the writer reaches this field.

 

MooOpt/SurroundForSingleDays

 

XML representation: The text of the SurroundForSingleDays element.

 

Reading: Reads the element into aPropValue.MooOpt.SurroundForSingleDays when the record node exists.

 

Writing: Stores true or false according to SurroundForSingleDays whenever the writer reaches this field.

 

MooOpt/SurroundForDuration

 

XML representation: The text of the SurroundForDuration element.

 

Reading: Reads the element into aPropValue.MooOpt.SurroundForDuration when the record node exists.

 

Writing: Stores true or false according to SurroundForDuration whenever the writer reaches this field.

 

MooOpt/Symbols/Symbol[@id={IntToStr (ord (iMoo))}]

 

XML representation: The text of the Symbol[@id={IntToStr (ord (iMoo))}] element.

 

Reading: Reads the element into aPropValue.MooOpt.aChar when the record node exists; node2 exists; for each iMoo from mooNew through mooLast. The subsequent conversion is shown in Implementation.

 

Writing: Stores mpChar[iMoo] when for each iMoo from mooNew through mooLast.

 

MooOpt/Symbols/Name[@id={IntToStr (ord (iMoo))}]

 

XML representation: The text of the Name[@id={IntToStr (ord (iMoo))}] element.

 

Reading: Reads the element into aPropValue.MooOpt.s when the record node exists; node2 exists; for each iMoo from mooNew through mooLast. The subsequent conversion is shown in Implementation.

 

Writing: Stores mpText[iMoo] when for each iMoo from mooNew through mooLast.

 

MooOpt/NewTextLength

 

XML representation: The text of the NewTextLength element.

 

Reading: Reads the element into aPropValue.MooOpt.NewTextLength when the record node exists.

 

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

 

MaxDaylight/MoonTransitAlwaysVisible

 

XML representation: The text of the MoonTransitAlwaysVisible element.

 

Reading: Reads the element into aPropValue.MooOpt.MoonTransitAlwaysVisible when the record node exists.

 

Writing: Stores true or false according to MoonTransitAlwaysVisible whenever the writer reaches this field.

 

SummerTimeOptions/FontName

 

XML representation: The text of the FontName element.

 

Initial value: “Wingdings” (TMoonOptions.Create).

 

Reading: Reads the element into SummerTimeOptions.s. The subsequent conversion is shown in Implementation.

 

Writing: Stores SummerTimeOptions.FontName whenever the writer reaches this field.

 

SummerTimeOptions/ShowEveryday

 

XML representation: The text of the ShowEveryday element.

 

Initial value: false (TMoonOptions.Create).

 

Reading: Reads the element into SummerTimeOptions.ShowEveryday.

 

Writing: Stores true or false according to SummerTimeOptions.ShowEveryday whenever the writer reaches this field.

 

SummerTimeOptions/Symbol[@id={IntToStr (i)}]

 

XML representation: The text of the Symbol[@id={IntToStr (i)}] element.

 

Reading: Reads the element into SummerTimeOptions.aCharString when for each i from 0 through 1. The subsequent conversion is shown in Implementation.

 

Writing: Stores SummerTimeOptions.Symbol[i] when for each i from 0 through 1.

 

SummerTimeOptions/Name[@id={IntToStr (i)}]

 

XML representation: The text of the Name[@id={IntToStr (i)}] element.

 

Reading: Reads the element into SummerTimeOptions.s when for each i from 0 through 1. The subsequent conversion is shown in Implementation.

 

Writing: Stores SummerTimeOptions.Name[i] when for each i from 0 through 1.

 

EighthPhases/default_vals

 

XML representation: The text of the default_vals element.

 

Reading: Reads the element into UseDefaultVals. Before this read, UseDefaultVals is set to false.

 

Writing: Stores the literal text “true” when UsesDefaultEighthPhases is true.

 

Writing: Stores the literal text “false” when UsesDefaultEighthPhases is false.

 

EighthPhases/Display18PhasesTimes

 

XML representation: The text of the Display18PhasesTimes element.

 

Reading: Reads the element into Display18PhasesTimes when UseDefaultVals is false.

 

Writing: Stores true or false according to Display18PhasesTimes when UsesDefaultEighthPhases is false.

 

EighthPhases/Display18PhasesSingleDays

 

XML representation: The text of the Display18PhasesSingleDays element.

 

Reading: Reads the element into Display18PhasesSingleDays when UseDefaultVals is false.

 

Writing: Stores true or false according to Display18PhasesSingleDays when UsesDefaultEighthPhases is false.

 

EighthPhases/Display18PhasesDuration

 

XML representation: The text of the Display18PhasesDuration element.

 

Reading: Reads the element into Display18PhasesDuration when UseDefaultVals is false.

 

Writing: Stores true or false according to Display18PhasesDuration when UsesDefaultEighthPhases is false.

 

EighthPhases/mpChar18

 

XML representation: The text of the mpChar18 element.

 

Reading: Reads the element into mpChar18 when UseDefaultVals is false.

 

Writing: Stores mpChar18 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpChar38

 

XML representation: The text of the mpChar38 element.

 

Reading: Reads the element into mpChar38 when UseDefaultVals is false.

 

Writing: Stores mpChar38 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpChar58

 

XML representation: The text of the mpChar58 element.

 

Reading: Reads the element into mpChar58 when UseDefaultVals is false.

 

Writing: Stores mpChar58 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpChar78

 

XML representation: The text of the mpChar78 element.

 

Reading: Reads the element into mpChar78 when UseDefaultVals is false.

 

Writing: Stores mpChar78 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpText18

 

XML representation: The text of the mpText18 element.

 

Reading: Reads the element into mpText18 when UseDefaultVals is false.

 

Writing: Stores mpText18 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpText38

 

XML representation: The text of the mpText38 element.

 

Reading: Reads the element into mpText38 when UseDefaultVals is false.

 

Writing: Stores mpText38 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpText58

 

XML representation: The text of the mpText58 element.

 

Reading: Reads the element into mpText58 when UseDefaultVals is false.

 

Writing: Stores mpText58 when UsesDefaultEighthPhases is false.

 

EighthPhases/mpText78

 

XML representation: The text of the mpText78 element.

 

Reading: Reads the element into mpText78 when UseDefaultVals is false.

 

Writing: Stores mpText78 when UsesDefaultEighthPhases is false.

 

LunarDaysOptions/DoubleLunarDaySep

 

XML representation: The text of the DoubleLunarDaySep element.

 

Initial value: “/” (TMoonOptions.Create).

 

Reading: Reads the element into DoubleLunarDaySep.

 

Writing: Stores DoubleLunarDaySep whenever the writer reaches this field.

 

LunarDaysOptions/IndianLunarDays

 

XML representation: The text of the IndianLunarDays element.

 

Initial value: false (TMoonOptions.Create).

 

Reading: Reads the element into IndianLunarDays.

 

Writing: Stores true or false according to IndianLunarDays whenever the writer reaches this field.

 

LunarDaysOptions/MoonDayCalcOption

 

XML representation: The text of the MoonDayCalcOption element.

 

Initial value: 0 (TMoonOptions.Create).

 

Reading: Reads the element into MoonDayCalcOption.

 

Writing: Stores the numeric value of MoonDayCalcOption whenever the writer reaches this field.

 

LunarDaysOptions/DateAngleFormats

 

XML representation: The text of the DateAngleFormats element.

 

Initial value: an empty string (TMoonOptions.Create).

 

Reading: Reads the element into DateAngleFormats.

 

Writing: Stores DateAngleFormats whenever the writer reaches this field.

 

Version

 

XML representation: The text of the Version element.

 

Writing: Stores the numeric value of TextBlobPropsVersionNumber whenever the writer reaches this field.

 

Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.

 

MooOpt/@rec_type

 

XML representation: The rec_type attribute.

 

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

 

MooOpt/Symbols/@rec_type

 

XML representation: The rec_type attribute.

 

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

 

SummerTimeOptions/@rec_type

 

XML representation: The rec_type attribute.

 

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

 

EighthPhases/@rec_type

 

XML representation: The rec_type attribute.

 

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

 

LunarDaysOptions/@rec_type

 

XML representation: The rec_type attribute.

 

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

 

Nested records and repeated elements

 

Operation

XML location

When it is processed

Read MoonPhaseTime

MoonPhaseTime

the record node exists

Read MoonRise

MoonRise

the record node exists

Read MoonSet

MoonSet

the record node exists

Read MoonTransit

MoonTransit

the record node exists

Read Dawn

Dawn

the record node exists

Read SunRise

SunRise

the record node exists

Read SunSet

SunSet

the record node exists

Read Dusk

Dusk

the record node exists

Read MinDaylight

MinDaylight

the record node exists

Read MaxDaylight

MaxDaylight

the record node exists

Read SunZodiacOptions

SunZodiacOptions

Whenever this part of the routine is reached

Read MoonZodiacOptions

MoonZodiacOptions

Whenever this part of the routine is reached

Read SeasonsOptions

SeasonsOptions

Whenever this part of the routine is reached

Read SolsticesOptions

SolsticesOptions

Whenever this part of the routine is reached

Read MoonAboveBelowHorizon

MoonAboveBelowHorizon

Whenever this part of the routine is reached

Read SunAboveBelowHorizon

SunAboveBelowHorizon

Whenever this part of the routine is reached

Read PlanetaryOptions

PlanetaryOptions

Whenever this part of the routine is reached

Write MoonPhaseTime

MoonPhaseTime

Whenever this part of the routine is reached

Write MoonRise

MoonRise

Whenever this part of the routine is reached

Write MoonSet

MoonSet

Whenever this part of the routine is reached

Write MoonTransit

MoonTransit

Whenever this part of the routine is reached

Write Dawn

Dawn

Whenever this part of the routine is reached

Write SunRise

SunRise

Whenever this part of the routine is reached

Write SunSet

SunSet

Whenever this part of the routine is reached

Write Dusk

Dusk

Whenever this part of the routine is reached

Write MinDaylight

MinDaylight

Whenever this part of the routine is reached

Write MaxDaylight

MaxDaylight

Whenever this part of the routine is reached

Write SunZodiacOptions

SunZodiacOptions

Whenever this part of the routine is reached

Write MoonZodiacOptions

MoonZodiacOptions

Whenever this part of the routine is reached

Write SeasonsOptions

SeasonsOptions

Whenever this part of the routine is reached

Write SolsticesOptions

SolsticesOptions

Whenever this part of the routine is reached

Write MoonAboveBelowHorizon

MoonAboveBelowHorizon

Whenever this part of the routine is reached

Write SunAboveBelowHorizon

SunAboveBelowHorizon

Whenever this part of the routine is reached

Write PlanetaryOptions

PlanetaryOptions

Whenever this part of the routine is reached

 

Initialization and reset values

 

TMoonOptions.Create

 

Setting or temporary variable

Initial value

When it is assigned

PropName

“Moon Options”

Always

Required

2

Always

IncludedMacros

an empty set

Always

lstTokensOfMacroIndex

TStringList.Create

Always

ListMacroTokens

TStringList.Create

Always

ListMacroTokens.Duplicates

dupIgnore

Always

ListDateAngleFormats

TStringList.Create

Always

ListDateAngleFormats.Sorted

true

Always

ListDateAngleFormats.Duplicates

dupIgnore

Always

PropValue

Default (TSL_PropValue)

Always

PropValue.MooOpt.mpChar[mooNew]

DefaultMpChars[mooNew]

Always

PropValue.MooOpt.mpChar[mooFirst]

DefaultMpChars[mooFirst]

Always

PropValue.MooOpt.mpChar[mooFull]

DefaultMpChars[mooFull]

Always

PropValue.MooOpt.mpChar[mooLast]

DefaultMpChars[mooLast]

Always

PropValue.MooOpt.mpFont

“QPP”

Always

PropValue.MooOpt.mpText[mooNew]

“NM”

Always

PropValue.MooOpt.mpText[mooFirst]

“FQ”

Always

PropValue.MooOpt.mpText[mooFull]

“FM”

Always

PropValue.MooOpt.mpText[mooLast]

“LQ”

Always

PropValue.MooOpt.Display18PhasesTimes

false

Always

PropValue.MooOpt.Display18PhasesSingleDays

false

Always

PropValue.MooOpt.Display18PhasesDuration

false

Always

PropValue.MooOpt.mpChar18

“ ”

Always

PropValue.MooOpt.mpChar38

“ ”

Always

PropValue.MooOpt.mpChar58

“ ”

Always

PropValue.MooOpt.mpChar78

“ ”

Always

PropValue.MooOpt.mpText18

“Waxing Crescent”

Always

PropValue.MooOpt.mpText38

“Waxing Gibbous”

Always

PropValue.MooOpt.mpText58

“Waning Gibbous”

Always

PropValue.MooOpt.mpText78

“Waning Crescent”

Always

PropValue.MooOpt.DisplaySymbolSingleDays

true

Always

PropValue.MooOpt.DisplaySymbolDuration

true

Always

PropValue.MooOpt.SurroundForSingleDays

false

Always

PropValue.MooOpt.SurroundForDuration

true

Always

PropValue.MooOpt.MoonSymbolLeftWrapper

an empty string

Always

PropValue.MooOpt.MoonSymbolRightWrapper

an empty string

Always

PropValue.MooOpt.MultiMoonSymbolSeparator

Char (7)

Always

PropValue.MooOpt.MoonPhaseTime.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MoonPhaseTime.NoTimeText

an empty string

Always

PropValue.MooOpt.MoonPhaseTime.RoundMinutes

true

Always

PropValue.MooOpt.MoonRise.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MoonRise.NoTimeText

“--:--”

Always

PropValue.MooOpt.MoonRise.RoundMinutes

true

Always

PropValue.MooOpt.MoonSet.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MoonSet.NoTimeText

“--:--”

Always

PropValue.MooOpt.MoonSet.RoundMinutes

true

Always

PropValue.MooOpt.MoonTransitAlwaysVisible

true

Always

PropValue.MooOpt.MoonTransit.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MoonTransit.NoTimeText

“--:--”

Always

PropValue.MooOpt.MoonTransit.RoundMinutes

true

Always

PropValue.MooOpt.Dawn.Formatting

“hh":"nn”

Always

PropValue.MooOpt.Dawn.NoTimeText

“--:--”

Always

PropValue.MooOpt.Dawn.RoundMinutes

true

Always

PropValue.MooOpt.SunRise.Formatting

“hh":"nn”

Always

PropValue.MooOpt.SunRise.NoTimeText

“--:--”

Always

PropValue.MooOpt.SunRise.RoundMinutes

true

Always

PropValue.MooOpt.SunSet.Formatting

“hh":"nn”

Always

PropValue.MooOpt.SunSet.NoTimeText

“--:--”

Always

PropValue.MooOpt.SunSet.RoundMinutes

true

Always

PropValue.MooOpt.Dusk.Formatting

“hh":"nn”

Always

PropValue.MooOpt.Dusk.NoTimeText

“--:--”

Always

PropValue.MooOpt.Dusk.RoundMinutes

true

Always

PropValue.MooOpt.MinDaylight.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MinDaylight.NoTimeText

“--:--”

Always

PropValue.MooOpt.MinDaylight.RoundMinutes

true

Always

PropValue.MooOpt.MaxDaylight.Formatting

“hh":"nn”

Always

PropValue.MooOpt.MaxDaylight.NoTimeText

“--:--”

Always

PropValue.MooOpt.MaxDaylight.RoundMinutes

true

Always

PropValue.MooOpt.NewTextLength

0

Always

SunZodiacOptions.TimeDisplay.Formatting

“hh":"nn”

Always

SunZodiacOptions.TimeDisplay.NoTimeText

an empty string

Always

SunZodiacOptions.TimeDisplay.RoundMinutes

true

Always

SunZodiacOptions.FontName

“Wingdings”

Always

SunZodiacOptions.Symbol[i]

Char (93 + i)

for each i from 1 through 12

SunZodiacOptions.Name[i]

TQppLocation.ZodiacNameFromIndex (i)

for each i from 1 through 12

MoonZodiacOptions.TimeDisplay.Formatting

“hh":"nn”

Always

MoonZodiacOptions.TimeDisplay.NoTimeText

an empty string

Always

MoonZodiacOptions.TimeDisplay.RoundMinutes

true

Always

MoonZodiacOptions.FontName

“Wingdings”

Always

MoonZodiacOptions.Symbol[i]

Char (93 + i)

for each i from 1 through 12

MoonZodiacOptions.Name[i]

TQppLocation.ZodiacNameFromIndex (i)

for each i from 1 through 12

SeasonsOptions.TimeDisplay.Formatting

“hh":"nn”

Always

SeasonsOptions.TimeDisplay.NoTimeText

an empty string

Always

SeasonsOptions.TimeDisplay.RoundMinutes

true

Always

SeasonsOptions.FontName

“Wingdings”

Always

SeasonsOptions.Symbol[i]

Char (' ')

for each i from 1 through 4

SeasonsOptions.Name[i]

TQppLocation.SeasonNameOf (i)

for each i from 1 through 4

SolsticesOptions.TimeDisplay.Formatting

“hh":"nn”

Always

SolsticesOptions.TimeDisplay.NoTimeText

an empty string

Always

SolsticesOptions.TimeDisplay.RoundMinutes

true

Always

SolsticesOptions.FontName

“Wingdings”

Always

SolsticesOptions.Symbol[i]

Char (' ')

for each i from 1 through 4

SolsticesOptions.Name[i]

TQppLocation.SolsticeNameOf (i)

for each i from 1 through 4

SummerTimeOptions.FontName

“Wingdings”

Always

SummerTimeOptions.Symbol[i]

Char (' ')

for each i from 0 through 1

SummerTimeOptions.Name[i]

TQppLocation.SummerTimeNameOf (i)

for each i from 0 through 1

SummerTimeOptions.ShowEveryDay

false

Always

MoonAboveBelowHorizon.ShowWhen

sabEveryDay (0)

Always

MoonAboveBelowHorizon.Above.ChangeFont

true

Always

MoonAboveBelowHorizon.Above.FontName

“QPP2”

Always

MoonAboveBelowHorizon.Below.ChangeFont

true

Always

MoonAboveBelowHorizon.Below.FontName

“QPP2”

Always

SunAboveBelowHorizon.ShowWhen

sabEveryDay (0)

Always

SunAboveBelowHorizon.Above.ChangeFont

true

Always

SunAboveBelowHorizon.Above.FontName

“QPP2”

Always

SunAboveBelowHorizon.Below.ChangeFont

true

Always

SunAboveBelowHorizon.Below.FontName

“QPP2”

Always

PlanetaryOptions.Enabled

false

Always

PlanetaryOptions.FontOptions.Name

“QPP2”

Always

PlanetaryOptions.FontOptions.ChangeSize

false

Always

PlanetaryOptions.FontOptions.Size

12

Always

PlanetaryOptions.Planets.Name[i]

fn_Ephemeris.PlanetNames[i]

for each i from SE_SUN through SE_MERCURY

PlanetaryOptions.Planets.Symbol[i]

Char (48 + (i * 3))

for each i from SE_SUN through SE_MERCURY

PlanetaryOptions.Planets.SymbolBelow[i]

Char (49 + (i * 3))

for each i from SE_SUN through SE_MERCURY

PlanetaryOptions.Planets.SymbolAbove[i]

Char (50 + (i * 3))

for each i from SE_SUN through SE_MERCURY

PlanetaryOptions.Planets.Name[i]

fn_Ephemeris.PlanetNames[i]

for each i from SE_JUPITER through SE_PLUTO

PlanetaryOptions.Planets.Symbol[i]

Char (65 + ((i - SE_JUPITER) * 3))

for each i from SE_JUPITER through SE_PLUTO

PlanetaryOptions.Planets.SymbolBelow[i]

Char (66 + ((i - SE_JUPITER) * 3))

for each i from SE_JUPITER through SE_PLUTO

PlanetaryOptions.Planets.SymbolAbove[i]

Char (67 + ((i - SE_JUPITER) * 3))

for each i from SE_JUPITER through SE_PLUTO

PlanetaryOptions.Planets.Name[SE_VENUS]

fn_Ephemeris.PlanetNames[SE_VENUS]

Always

PlanetaryOptions.Planets.Symbol[SE_VENUS]

Char (61)

Always

PlanetaryOptions.Planets.SymbolBelow[SE_VENUS]

Char (62)

Always

PlanetaryOptions.Planets.SymbolAbove[SE_VENUS]

Char (63)

Always

PlanetaryOptions.Planets.Name[10]

“Earth”

Always

PlanetaryOptions.Planets.Symbol[10]

Char (60)

Always

PlanetaryOptions.Planets.SymbolBelow[10]

an empty string

Always

PlanetaryOptions.Planets.SymbolAbove[10]

an empty string

Always

PlanetaryOptions.Planets.Name[SE_MARS]

fn_Ephemeris.PlanetNames[SE_MARS]

Always

PlanetaryOptions.Planets.Symbol[SE_MARS]

Char (57)

Always

PlanetaryOptions.Planets.SymbolBelow[SE_MARS]

Char (58)

Always

PlanetaryOptions.Planets.SymbolAbove[SE_MARS]

Char (59)

Always

PlanetaryOptions.Events.Name[i]

fn_Ephemeris.EventNames[i]

for each i from SE_CONJUNCTION through SE_MIN_TRANSIT

PlanetaryOptions.Events.Symbol[i]

an empty string

for each i from SE_CONJUNCTION through SE_MIN_TRANSIT

PlanetaryOptions.Events.Symbol[SE_CONJUNCTION]

“Y”

Always

PlanetaryOptions.Events.Symbol[SE_LOWER_CONJ]

“Y”

Always

PlanetaryOptions.Events.Symbol[SE_UPPER_CONJ]

“Y”

Always

PlanetaryOptions.Events.Symbol[SE_OPPOSITION]

“Z”

Always

PlanetaryOptions.Events.Symbol[SE_NEAR]

“Y”

Always

DateAngleFormats

an empty string

Always

DoubleLunarDaySep

“/”

Always

IndianLunarDays

false

Always

MoonDayCalcOption

0

Always

SunZodiacOptions

IniSettings.MoonOptions.SunZodiacOptions

UseIniSettingsInPropertyConstructor is true

MoonZodiacOptions

IniSettings.MoonOptions.MoonZodiacOptions

UseIniSettingsInPropertyConstructor is true

SeasonsOptions

IniSettings.MoonOptions.SeasonsOptions

UseIniSettingsInPropertyConstructor is true

SolsticesOptions

IniSettings.MoonOptions.SolsticesOptions

UseIniSettingsInPropertyConstructor is true

SummerTimeOptions

IniSettings.MoonOptions.SummerTimeOptions

UseIniSettingsInPropertyConstructor is true

MoonAboveBelowHorizon

IniSettings.MoonOptions.MoonAboveBelowHorizon

UseIniSettingsInPropertyConstructor is true

SunAboveBelowHorizon

IniSettings.MoonOptions.SunAboveBelowHorizon

UseIniSettingsInPropertyConstructor is true

PlanetaryOptions

IniSettings.MoonOptions.PlanetaryOptions

UseIniSettingsInPropertyConstructor is true

DoubleLunarDaySep

IniSettings.MoonOptions.DoubleLunarDaySep

UseIniSettingsInPropertyConstructor is true

IndianLunarDays

IniSettings.MoonOptions.IndianLunarDays

UseIniSettingsInPropertyConstructor is true

MoonDayCalcOption

IniSettings.MoonOptions.MoonDayCalcOption

UseIniSettingsInPropertyConstructor is true

DateAngleFormats

IniSettings.MoonOptions.DateAngleFormats

UseIniSettingsInPropertyConstructor is true

mpChar18

IniSettings.MoonOptions.mpChar18

UseIniSettingsInPropertyConstructor is true

mpChar38

IniSettings.MoonOptions.mpChar38

UseIniSettingsInPropertyConstructor is true

mpChar58

IniSettings.MoonOptions.mpChar58

UseIniSettingsInPropertyConstructor is true

mpChar78

IniSettings.MoonOptions.mpChar78

UseIniSettingsInPropertyConstructor is true

mpText18

IniSettings.MoonOptions.mpText18

UseIniSettingsInPropertyConstructor is true

mpText38

IniSettings.MoonOptions.mpText38

UseIniSettingsInPropertyConstructor is true

mpText58

IniSettings.MoonOptions.mpText58

UseIniSettingsInPropertyConstructor is true

mpText78

IniSettings.MoonOptions.mpText78

UseIniSettingsInPropertyConstructor is true

Display18PhasesTimes

IniSettings.MoonOptions.Display18PhasesTimes

UseIniSettingsInPropertyConstructor is true

Display18PhasesSingleDays

IniSettings.MoonOptions.Display18PhasesSingleDays

UseIniSettingsInPropertyConstructor is true

Display18PhasesDuration

IniSettings.MoonOptions.Display18PhasesDuration

UseIniSettingsInPropertyConstructor is true

PropValue.MooOpt

IniSettings.MoonOptions.DataValue.MooOpt

UseIniSettingsInPropertyConstructor is true

DataValue

PropValue

Always

 

This routine also calls inherited Create; lstTokensOfMacroIndex.Add(''); MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; MinutesSettings.Initialize; self.FillDisplayValue. See Implementation for their order and any conditional calls.

 

Value namespaces used by this implementation

 

These are declared Pascal ordinal values. Use the ordinal only where the field serializer actually writes ord(...), an integer cast or an equivalent value. Set-marker strings and local option lists have their own representation; sentinel members in an enum are not automatically legal XML choices.

 

TMoonPhaseKind

 

Ordinal

Declared member

0

mooNone

1

mooNew

2

mooFirst

3

mooFull

4

mooLast

5

moo18

6

moo38

7

moo58

8

moo78

 

TShowAboveBelowWhen

 

Ordinal

Declared member

0

sabEveryDay

1

sabFirstDay

2

sabLastDay

3

sabFirstAndLastDay

 

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

SeasonsOptions

TSeasonsDisplayRec

member

SolsticesOptions

TSeasonsDisplayRec

member

SunZodiacOptions

TZodiacDisplayRec

member

MoonZodiacOptions

TZodiacDisplayRec

member

SummerTimeOptions

TSummerTimeDisplayRec

member

Display18PhasesTimes

Boolean

member

Display18PhasesSingleDays

Boolean

member

Display18PhasesDuration

Boolean

member

mpChar18

Char

member

mpChar38

Char

member

mpChar58

Char

member

mpChar78

Char

member

mpText18

string

member

mpText38

string

member

mpText58

string

member

mpText78

string

member

MoonAboveBelowHorizon

TAboveBelowHorizonRec

member

SunAboveBelowHorizon

TAboveBelowHorizonRec

member

PlanetaryOptions

TPlanetsOptionsRec

member

DoubleLunarDaySep

string

member

IndianLunarDays

boolean

member

MoonDayCalcOption

integer

member

IncludedMacros

TSetOfMacros

member

lstTokensOfMacroIndex

TStringList

member

ListMacroTokens

TStringList

member

ListDateAngleFormats

TStringList

member

 

Implementation details

 

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

 

Implementation