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.
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:
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 |
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.