This topic covers the implementation details of TScript.
Scope: cScript.pas; class derived from TObject. Prepared from the curated implementation supplied for this review on 2 October 2026.
The full script is a flat sequence of scriptline elements. Document order controls loading; sl_indent represents logical nesting. Dispatch is by se_id, and a diary-grid line at indentation 1 is constructed as the main grid. sl_seq and class_name do not control this loader’s dispatch.
LoadFromXML explicitly forces Script_ID to zero after reading ScriptID. This is the supplied file-load path, not proof of how Update from XML or the comparison editor’s caller handles identity.
The loader creates global and final blank lines internally. Keep the exported begin/end separators in order, UserComment containers on nonblank lines, and both mini-calendar property containers (IDs 16 and 19) on grid lines. It dereferences some of these containers without nil checks.
Unknown properties are not constructed from class_name. The loader visits properties already created by each script line constructor. Those constructors, several DataValue setters, and post-load recalculation/validation methods were not supplied.
An exception in a property reader enters a purported retry path that calls Continue in a for-in scriptline loop. This appears to advance to the next XML node; settle this implementation question before relying on error recovery.
Timestamps at the document root use DateToXmlString/XmlStringToDate. Their definitions are missing. Version values identify formats and must not be replaced with the current date. Current sample values are XML_SCRIPT_VERSION=20200221 and TextBlobPropsVersionNumber=20230401.
Notation and shared helper rules: Reading this reference.
No literal rec_type value is emitted directly by the selected routines. A property envelope, an inherited writer or a delegated record can supply its identifying attributes.
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.
.
XML representation: The text of the . element.
Reading: Reads XMLDocument.Text into strShort.
Reading: Reads XMLDocument.Text into strFull.
Writing: Stores XmlScriptString whenever the writer reaches this field.
script_properties/ScriptID
XML representation: The text of the ScriptID element.
Reading: Converts the stored text to an integer using StrToIntDef (buffNode.Text, 0), and assigns it to Script_ID when Assigned (buffNode).
Writing: Stores the text representation of ID whenever the writer reaches this field.
script_properties/ScriptName
XML representation: The text of the ScriptName element.
Initial value: UNSAVED_SCRIPT_NAME (TScript.Create).
Reading: Reads buffNode.Text into Name.
Writing: Stores Name whenever the writer reaches this field.
script_properties/FolderID
XML representation: The text of the FolderID element.
Initial value: FolderIDByDefault (TScript.Create).
Reading: Converts the stored text to an integer using StrToIntDef (buffNode.Text, 0), and assigns it to FolderID.
Writing: Stores the text representation of FolderID whenever the writer reaches this field.
script_properties/XML_SCRIPT_VERSION
XML representation: The text of the XML_SCRIPT_VERSION element.
Reading: Converts the stored text to an integer using StrToIntDef (buffNode.Text, 0), and assigns it to curVersion when the following is false: totNumScriptLines is less than 5; buffNode exists.
Writing: Stores the text representation of XML_SCRIPT_VERSION whenever the writer reaches this field.
script_properties/OutputFile
XML representation: The text of the OutputFile element.
Initial value: an empty string (TScript.Create).
Reading: Reads buffNode.Text into OutputFile when the following is false: totNumScriptLines is less than 5; the following is false: curVersion is greater than XML_SCRIPT_VERSION.
Writing: Stores OutputFile whenever the writer reaches this field.
scriptline[@position={document order}]/@se_id
XML representation: The se_id attribute.
Reading: Converts the stored text to a number and assigns it to curSEID when for each item in nodeScriptLine in listScriptLines.
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/property[@prop_id=11]/Template.Idx
XML representation: The text of the Template.Idx element.
Reading: Converts the stored text to a number and assigns it to curID when for each item in nodeScriptLine in listScriptLines; curSEID is seidDiaryGrid; Assigned (nodeScriptLineProperty); Assigned (buffNode).
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/property[@prop_id=3]/QuarkPagesID
XML representation: The text of the QuarkPagesID element.
Reading: Converts the stored text to a number and assigns it to curID when for each item in nodeScriptLine in listScriptLines; curSEID is seidQuarkFile; Assigned (nodeScriptLineProperty); Assigned (buffNode).
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/property[@prop_id=3]/PdfPagesID
XML representation: The text of the PdfPagesID element.
Reading: Converts the stored text to a number and assigns it to curID when for each item in nodeScriptLine in listScriptLines; curSEID is seidPdfFile; Assigned (nodeScriptLineProperty); Assigned (buffNode).
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/@sl_indent
XML representation: The sl_indent attribute.
Reading: Converts the stored text to a number and assigns it to curIndent when for each item in nodeScriptLine in listScriptLines.
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/@sl_commented
XML representation: The sl_commented attribute.
Reading: Converts the stored text to a boolean and assigns it to sl.IsCommentedOut when for each item in nodeScriptLine in listScriptLines; (nodeScriptLine.HasAttribute ('sl_commented') and the following is false: VarIsNull (nodeScriptLine.Attributes['sl_commented'])).
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
scriptline[@position={document order}]/UserComment
XML representation: The text of the UserComment element.
Reading: Reads buffNode.Text into sl.Comments when for each item in nodeScriptLine in listScriptLines; the following is false: sl is TSL_Blank.
Export: No corresponding write is implemented locally. This can be a compatibility input or a field handled elsewhere.
script_properties/NoSite
XML representation: The text of the NoSite element.
Writing: Stores dmMain.NoSite whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/OutputFormat
XML representation: The text of the OutputFormat element.
Initial value: an empty string (TScript.Create).
Writing: Stores DtpName[dtpFromFilename (OutputFile)] when OutputFile is not empty.
Writing: Stores DtpName[dtpUnknown] when OutputFile is empty.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/EpsSubDir
XML representation: The text of the EpsSubDir element.
Writing: Stores the literal text an empty string whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/TextBlobPropsVersionNumber
XML representation: The text of the TextBlobPropsVersionNumber element.
Writing: Stores the text representation of TextBlobPropsVersionNumber whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/CreateDate
XML representation: The text of the CreateDate element.
Initial value: 0.0 (TScript.Create).
Writing: Stores DateToXmlString (CreateDate) when CreateDate is greater than 30000.0.
Writing: Stores DateToXmlString (LocalDateTimeToUTC (Now)) when the following is false: CreateDate is greater than 30000.0.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LastUsedDate
XML representation: The text of the LastUsedDate element.
Initial value: 0.0 (TScript.Create).
Writing: Stores DateToXmlString (LastUsedDate) when LastUsedDate is greater than 30000.0.
Writing: Stores DateToXmlString (LocalDateTimeToUTC (Now)) when the following is false: LastUsedDate is greater than 30000.0.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LastModDate
XML representation: The text of the LastModDate element.
Initial value: 0.0 (TScript.Create).
Writing: Stores DateToXmlString (LastModDate) when LastModDate is greater than 30000.0.
Writing: Stores DateToXmlString (CreateDate) when the following is false: LastModDate is greater than 30000.0.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LastExecutedDate
XML representation: The text of the LastExecutedDate element.
Initial value: 0.0 (TScript.Create).
Writing: Stores DateToXmlString (LastExecutedDate) when LastExecutedDate is greater than 30000.0.
Writing: Stores the literal text “19991231235959” when the following is false: LastExecutedDate is greater than 30000.0.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/CreateUserID
XML representation: The text of the CreateUserID element.
Initial value: 0 (TScript.Create).
Writing: Stores the text representation of CreateUserID whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LastModUserID
XML representation: The text of the LastModUserID element.
Initial value: 0 (TScript.Create).
Writing: Stores the text representation of LastModUserID whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LangID
XML representation: The text of the LangID element.
Initial value: nil (TScript.Create).
Writing: Stores the literal text “0” when CurrentScript.International.NumLanguages.DataValue.IntValue is 0.
Writing: Stores the text representation of CurrentScript.International.Languages.DataValue.ListLanguages[1] when CurrentScript.International.NumLanguages.DataValue.IntValue is 1.
Writing: Stores the text representation of CurrentScript.International.Languages.DataValue.ListLanguages[1] when CurrentScript.International.NumLanguages.DataValue.IntValue is 2.
Writing: Stores the text representation of CurrentScript.International.Languages.DataValue.ListLanguages[1] when CurrentScript.International.NumLanguages.DataValue.IntValue is otherwise.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/LangID2
XML representation: The text of the LangID2 element.
Initial value: nil (TScript.Create).
Writing: Stores the literal text “0” when CurrentScript.International.NumLanguages.DataValue.IntValue is 0.
Writing: Stores the literal text “0” when CurrentScript.International.NumLanguages.DataValue.IntValue is 1.
Writing: Stores the text representation of CurrentScript.International.Languages.DataValue.ListLanguages[2] when CurrentScript.International.NumLanguages.DataValue.IntValue is 2.
Writing: Stores the text representation of (1000000 + CurrentScript.International.NumLanguages.DataValue.IntValue) when CurrentScript.International.NumLanguages.DataValue.IntValue is otherwise.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/Keywords
XML representation: The text of the Keywords element.
Writing: Stores s whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/HolCountryID
XML representation: The text of the HolCountryID element.
Initial value: nil (TScript.Create).
Writing: Stores the text representation of CurrentScript.International.aHolidays.DataValue.ListCountries[1] whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/Millesime
XML representation: The text of the Millesime element.
Initial value: nil (TScript.Create).
Writing: Stores the text representation of CurrentScript.BookFormat.Millesime.DataValue.IntValue whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/GridType
XML representation: The text of the GridType element.
Initial value: nil (TScript.Create).
Writing: Stores the text representation of MainDiaryGrid.GridTemplate.DataValue.Template.PeriodType when (MainDiaryGrid exists and MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Writing: Stores the literal text “0” when (MainDiaryGrid is absent or the following is false: MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/GridName
XML representation: The text of the GridName element.
Writing: Stores MainDiaryGrid.GridTemplate.DataValue.Template.Name when (MainDiaryGrid exists and MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Writing: Stores the literal text an empty string when (MainDiaryGrid is absent or the following is false: MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/Inherited_Id
XML representation: The text of the Inherited_Id element.
Initial value: nil (TScript.Create).
Writing: Stores the text representation of MainDiaryGrid.GridTemplate.DataValue.Template.Idx when (MainDiaryGrid exists and MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Writing: Stores the literal text “0” when (MainDiaryGrid is absent or the following is false: MainDiaryGrid.GridTemplate.DataValue.Template.Idx is greater than 0).
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/numErrors
XML representation: The text of the numErrors element.
Writing: Stores the text representation of numErrors whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/numWarnings
XML representation: The text of the numWarnings element.
Writing: Stores the text representation of numWarnings whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script_properties/numHints
XML representation: The text of the numHints element.
Writing: Stores the text representation of numHints whenever the writer reaches this field.
Import: This routine does not read this field. See the inherited or enclosing implementation where applicable.
script/scriptline/@class_name
XML representation: The class_name attribute.
Writing: Stores sl.xmlClassName when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}]/@se_name
XML representation: The se_name attribute.
Writing: Stores sl.SEname when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}]/@se_id
XML representation: The se_id attribute.
Writing: Stores the text representation of sl.SEid when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}]/@sl_seq
XML representation: The sl_seq attribute.
Writing: Stores the text representation of i_SL when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}]/@sl_details
XML representation: The sl_details attribute.
Writing: Stores s when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}]/@sl_indent
XML representation: The sl_indent attribute.
Writing: Stores the text representation of sl.Indent when for each i_SL from 1 through (Editor.Items.Count - 1).
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}]/@t_tbl_id
XML representation: The t_tbl_id attribute.
Writing: Stores the text representation of tblID when for each i_SL from 1 through (Editor.Items.Count - 1); tblID is greater than - 999; sl is TSL_DiaryGrid.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}]/@p_tbl_id
XML representation: The p_tbl_id attribute.
Writing: Stores the text representation of tblID when for each i_SL from 1 through (Editor.Items.Count - 1); tblID is greater than - 999; the following is false: sl is TSL_DiaryGrid; sl is TSL_QxdFile.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@t_tbl_id={tblID.toString}]/@sl_commented
XML representation: The sl_commented attribute.
Writing: Stores true or false according to isCommented when for each i_SL from 1 through (Editor.Items.Count - 1); isCommented is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@p_tbl_id={tblID.toString}]/@sl_commented
XML representation: The sl_commented attribute.
Writing: Stores true or false according to isCommented when for each i_SL from 1 through (Editor.Items.Count - 1); isCommented is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}]/@sl_commented
XML representation: The sl_commented attribute.
Writing: Stores true or false according to isCommented when for each i_SL from 1 through (Editor.Items.Count - 1); isCommented is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@t_tbl_id={tblID.toString}][@sl_commented={BoolToString (isCommented)}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@p_tbl_id={tblID.toString}][@sl_commented={BoolToString (isCommented)}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@sl_commented={BoolToString (isCommented)}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@t_tbl_id={tblID.toString}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}][@p_tbl_id={tblID.toString}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
script/scriptline[@class_name={sl.xmlClassName}][@se_name={sl.SEname}][@se_id={sl.SEid.toString}][@sl_seq={i_SL.toString}][@sl_details={s}][@sl_indent={sl.Indent.toString}]/@sl_skipped
XML representation: The sl_skipped attribute.
Writing: Stores true or false according to isSkipped when for each i_SL from 1 through (Editor.Items.Count - 1); isSkipped is true.
Nested records and repeated elements
Operation |
XML location |
When it is processed |
Read sl.Prop[iProp] |
scriptline[@position={document order}]/property[@prop_id={sl.Prop [iProp].PropID.toString}] |
for each item in nodeScriptLine in listScriptLines; (NumberOfAttempts is at most 1 or CorruptedProperties has no selected options); for each iProp from low (TarrMaxNumProperties) through high (TarrMaxNumProperties); sl.Prop[iProp] is not nil; nodeScriptLineProperty exists; iProp is not selected in CorruptedProperties; (the following is false: sl is TSL_BookFormat or the following is false: sl.Prop[iProp] is TGlobalSara); the following is false: sl.Prop[iProp] is TCurrentMiniCalOptions; the following is false: sl.Prop[iProp] is TOtherMiniCalOptions |
Initialization and reset values
TScript.Create
Setting or temporary variable |
Initial value |
When it is assigned |
FKeywords |
TStringList.Create |
Always |
SingleLineExecution |
false |
Always |
MissingDtpMessageIndex |
- 1 |
Always |
FCurrentLine |
nil |
Always |
FCurrentProperty |
nil |
Always |
SlToExecute |
nil |
Always |
FolderName |
an empty string |
Always |
CreateUserID |
0 |
Always |
CreateDate |
0.0 |
Always |
LastModUserID |
0 |
Always |
LastModDate |
0.0 |
Always |
LastSavedInDatabaseDate |
0.0 |
Always |
LastUsedDate |
0.0 |
Always |
LastExecutedDate |
0.0 |
Always |
CurRecursionLevel |
0 |
Always |
MaxIteration |
1000 |
Always |
MaxRecursion |
50 |
Always |
FMustBeSaved |
false |
Always |
FMustBeSavedIsAllowed |
false |
Always |
IsUpdating |
False |
Always |
UnSpecifiedGridTemplateIsAnError |
false |
Always |
OpfSizeSignatureMessagesCanBeOverriden |
false |
Always |
MaxPageHeight |
0 |
Always |
MaxPageWidth |
0 |
Always |
MinPageHeight |
0 |
Always |
MinPageWidth |
0 |
Always |
ContainsAtLeastOneQxdFile |
false |
Always |
ListDeletedPages |
TStringList.Create |
Always |
ListDeletedPages.Sorted |
true |
Always |
ListDeletedPages.Duplicates |
dupIgnore |
Always |
ListPages |
TStringList.Create |
Always |
ListXtensions |
TStringList.Create |
Always |
ListSaras |
TStringList.Create |
Always |
ListSunLocations |
TStringList.Create |
Always |
ListMoonLocations |
TStringList.Create |
Always |
ListMuslimLocations |
TStringList.Create |
Always |
ListDistancesLocations |
TStringList.Create |
Always |
ListAllColorRgbValues |
TStringList.Create |
Always |
ListAllColorRgbValues.Sorted |
true |
Always |
ListAllColorRgbValues.Duplicates |
dupIgnore |
Always |
ListAllColorsRgbAndFullPaths |
TStringList.Create |
Always |
ListAllColorsRgbAndFullPaths.Sorted |
true |
Always |
ListAllColorsRgbAndFullPaths.Duplicates |
dupIgnore |
Always |
ListAllColorObjects |
TStringList.Create |
Always |
ListAllColorObjects.Sorted |
true |
Always |
ListAllColorObjects.Duplicates |
dupIgnore |
Always |
ListTemplateIDs |
TStringList.Create |
Always |
ListTemplateIDs.Sorted |
true |
Always |
ListTemplateIDs.Duplicates |
dupIgnore |
Always |
ListQxdAndPdfFilesSetIDs |
TStringList.Create |
Always |
ListQxdAndPdfFilesSetIDs.Sorted |
true |
Always |
ListQxdAndPdfFilesSetIDs.Duplicates |
dupIgnore |
Always |
ListOnlyQxdFilesSetIDs |
TStringList.Create |
Always |
ListOnlyQxdFilesSetIDs.Sorted |
true |
Always |
ListOnlyQxdFilesSetIDs.Duplicates |
dupIgnore |
Always |
ListOnlyPdfFilesSetIDs |
TStringList.Create |
Always |
ListOnlyPdfFilesSetIDs.Sorted |
true |
Always |
ListOnlyPdfFilesSetIDs.Duplicates |
dupIgnore |
Always |
ListStylesAndStyleSheets |
TStringList.Create |
Always |
ListStylesAndStyleSheets.Sorted |
False |
Always |
ListStylesAndStyleSheets.Duplicates |
dupAccept |
Always |
ListStylesAndStyleSheetsNeedsRescan |
false |
Always |
strListStylesAndStyleSheets |
an empty string |
Always |
ListStylesAndDefinitions |
TStringList.Create |
Always |
ListStylesAndDefinitions.Sorted |
true |
Always |
ListStylesAndDefinitions.Duplicates |
dupIgnore |
Always |
ListInconsistentStyles |
TStringList.Create |
Always |
ListInconsistentStyles.Sorted |
true |
Always |
ListInconsistentStyles.Duplicates |
dupIgnore |
Always |
ListInconsistentColors |
TStringList.Create |
Always |
ListInconsistentColors.Sorted |
true |
Always |
ListInconsistentColors.Duplicates |
dupIgnore |
Always |
ListCountryIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListSaintsIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListSlogansIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListLanguagesIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListMacrosIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListSarasIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListMoonIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListSunIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListMuslimCalendarIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListMuslimSourcesIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListJewishSourcesIDs |
TqppIntegerList.CreateInit (true, dupIgnore) |
Always |
ListColorMessages |
TStringList.Create |
Always |
ListColorMessages.Sorted |
true |
Always |
ListColorMessages.Duplicates |
dupIgnore |
Always |
ListAllColorsNeedsRescan |
false |
Always |
BookFormat |
nil |
Always |
International |
nil |
Always |
MainDiaryGrid |
nil |
Always |
Editor |
fmMain.ScriptEditor0 |
scrEditor is absent |
Editor |
scrEditor |
scrEditor exists |
Editor.Tag |
NativeInt (self) |
Always |
Editor.OnDrawItem |
PaintLine |
Always |
Editor.OnClick |
SelectLine |
Always |
OutputFile |
an empty string |
Always |
FTab |
0 |
Always |
FNeedsSaving |
False |
Always |
Name |
UNSAVED_SCRIPT_NAME |
Always |
FID |
0 |
Always |
FJobNumber |
an empty string |
Always |
FolderID |
FolderIDByDefault |
Always |
CurrentLine |
nil |
Always |
CurrentProperty |
nil |
Always |
ClipboardSourceLine |
nil |
Always |
IsLoading |
False |
Always |
FullyLoaded |
False |
Always |
IsVerifying |
False |
Always |
SavingIsFrozen |
False |
Always |
IsGenerating |
false |
Always |
IsUpdatingFromXmlEditor |
false |
Always |
fmMain.mnuReScanCurrentQuarkTemplates.Enabled |
true |
Always |
fmMain.mnuReScanInspectAllQuarkFilesAsNeeded.Enabled |
true |
Always |
fmMain.mnuReInspectAllPlainQuarksAsNeeded.Enabled |
true |
Always |
fmMain.mnuReScanInspectAllQuarkFiles.Enabled |
true |
Always |
fmMain.mnuReInspectAllPlainQuarks.Enabled |
true |
Always |
fmMain.mnuReScanCurrentInDesignTemplates.Enabled |
true |
Always |
fmMain.mnuReScanInspectAllInDesignFilesAsNeeded.Enabled |
true |
Always |
fmMain.mnuReInspectAllPlainInDesignsAsNeeded.Enabled |
true |
Always |
fmMain.mnuReScanInspectAllInDesignFiles.Enabled |
true |
Always |
fmMain.mnuReInspectAllPlainInDesigns.Enabled |
true |
Always |
fmMain.mnuReInspectAllPDFs.Enabled |
true |
Always |
fmMain.mnuConvertFilenamesfromQXDtoQXP.Enabled |
true |
Always |
PageToTemplateID |
TDictionary < integer, integer >.Create |
Always |
dtpOPF |
dtpQuark |
(IniSettings.UseQuarkDTP is true and IniSettings.UseInDesignDTP is false) |
dtpScriptLines |
dtpQuark |
(IniSettings.UseQuarkDTP is true and IniSettings.UseInDesignDTP is false) |
dtpOPF |
dtpInDesign |
(IniSettings.UseQuarkDTP is false or IniSettings.UseInDesignDTP is true); (IniSettings.UseInDesignDTP is true and IniSettings.UseQuarkDTP is false) |
dtpScriptLines |
dtpInDesign |
(IniSettings.UseQuarkDTP is false or IniSettings.UseInDesignDTP is true); (IniSettings.UseInDesignDTP is true and IniSettings.UseQuarkDTP is false) |
dtpOPF |
dtpUnknown |
(IniSettings.UseQuarkDTP is false or IniSettings.UseInDesignDTP is true); (IniSettings.UseInDesignDTP is false or IniSettings.UseQuarkDTP is true) |
dtpScriptLines |
dtpUnknown |
(IniSettings.UseQuarkDTP is false or IniSettings.UseInDesignDTP is true); (IniSettings.UseInDesignDTP is false or IniSettings.UseQuarkDTP is true) |
AtLeastOneQxdFileSetNeedsRefreshing |
false |
Always |
WantListsOfInconsistencies |
false |
Always |
NeedToUpdateNumDefinedPages |
false |
Always |
This routine also calls InitializeNumberNeededRescans(); Inherited_ID := 0; ListStylesAndStyleSheets.Clear; ListStylesAndDefinitions.Clear; ListInconsistentStyles.Clear; ListInconsistentColors.Clear; FKeywords.Add(FName). 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.
TQppSizeUnits
Ordinal |
Declared member |
0 |
qsuMetric |
1 |
qsuInches |
2 |
qsuPoints |
TqHolList
Ordinal |
Declared member |
0 |
qhlA |
1 |
qhlE |
2 |
qhlI |
3 |
qhlO |
4 |
qhlU |
5 |
qhlNone |
6 |
qhlInsert |
7 |
qhlXtra |
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 |
FSearchXmlNeedsUpdating |
Boolean |
member |
Inherited_ID |
integer |
member |
CreateUserID |
integer |
member |
CreateDate |
TDateTime |
member |
LastModUserID |
integer |
member |
LastModDate |
TDateTime |
member |
LastSavedInDatabaseDate |
TDateTime |
member |
LastExecutedDate |
TDateTime |
member |
LastUsedDate |
TDateTime |
member |
EO |
TExecOptionsRec |
member |
IsLoading |
Boolean |
member |
IsVerifying |
Boolean |
member |
IsUpdating |
Boolean |
member |
IsGenerating |
Boolean |
member |
IsUpdatingFromXmlEditor |
boolean |
member |
SizeUnits |
TQppSizeUnits |
member |
MinPageHeight |
integer |
member |
MinPageWidth |
integer |
member |
MaxPageHeight |
integer |
member |
MaxPageWidth |
integer |
member |
ContainsAtLeastOneQxdFile |
Boolean |
member |
ListPages |
TStringList |
member |
ListDeletedPages |
TStringList |
member |
QxdMainGridInput |
string |
member |
SavedAsFolder |
Integer |
member |
SavedAsID |
integer |
member |
SingleLineExecution |
Boolean |
member |
SlToExecute |
TSL_DiaryGrid |
member |
BookFormat |
TSL_BookFormat |
member |
International |
TSL_International |
member |
MainDiaryGrid |
TSL_DiaryGrid |
member |
ListXtensions |
TStringList |
member |
ListSaras |
TStringList |
member |
Editor |
TListBox |
member |
curMuslimSet |
integer |
member |
MinNumLanguagesUsedByAnyGrid |
integer |
member |
MaxNumLanguagesUsedByAnyGrid |
integer |
member |
AllHolidaysLists |
array [qhlA..qhlU] of THolidaysList |
member |
CurRecursionLevel |
integer |
member |
MaxIteration |
integer |
member |
MaxRecursion |
integer |
member |
BookletsSize |
integer |
member |
ListSunLocations |
TStringList |
member |
ListMuslimLocations |
TStringList |
member |
ListMoonLocations |
TStringList |
member |
ListDistancesLocations |
TStringList |
member |
UnSpecifiedGridTemplateIsAnError |
Boolean |
member |
OpfSizeSignatureMessagesCanBeOverriden |
Boolean |
member |
UsesGenTokens |
Boolean |
member |
UsesXpressTags |
Boolean |
member |
UsesMuslimDatesTokens |
Boolean |
member |
UsesMuslimTimesTokens |
Boolean |
member |
UsesMoonTokens |
Boolean |
member |
UsesSunTokens |
Boolean |
member |
UsesJewishTimesTokens |
Boolean |
member |
ListAllColorRgbValues |
TStringList |
member |
ListAllColorsRgbAndFullPaths |
TStringList |
member |
ListAllColorObjects |
TStringList |
member |
ListAllColorsNeedsRescan |
boolean |
member |
ListColorMessages |
TStringList |
member |
NumberNeededRescans |
TNumberNeededRescansRec |
member |
GridsNeedingRescan |
TStringList |
member |
QXDsNeedingRescan |
TStringList |
member |
PDFsNeedingRescan |
TStringList |
member |
ListTemplateIDs |
TStringList |
member |
ListQxdAndPdfFilesSetIDs |
TStringList |
member |
ListOnlyQxdFilesSetIDs |
TStringList |
member |
ListOnlyPdfFilesSetIDs |
TStringList |
member |
ListCountryIDs |
TqppIntegerList |
member |
ListSaintsIDs |
TqppIntegerList |
member |
ListSlogansIDs |
TqppIntegerList |
member |
ListSarasIDs |
TqppIntegerList |
member |
ListMacrosIDs |
TqppIntegerList |
member |
ListLanguagesIDs |
TqppIntegerList |
member |
ListMoonIDs |
TqppIntegerList |
member |
ListMuslimCalendarIDs |
TqppIntegerList |
member |
ListMuslimSourcesIDs |
TqppIntegerList |
member |
ListJewishSourcesIDs |
TqppIntegerList |
member |
ListSunIDs |
TqppIntegerList |
member |
ListStylesAndStyleSheets |
TStringList |
member |
strListStylesAndStyleSheets |
string |
member |
ListStylesAndStyleSheetsNeedsRescan |
Boolean |
member |
ListStylesAndDefinitions |
TStringList |
member |
PageToTemplateID |
TDictionary < integer, integer > |
member |
FullyLoaded |
boolean |
member |
InPreviewMode |
boolean |
member |
SavingIsFrozen |
boolean |
member |
MissingDtpMessageIndex |
Integer |
member |
dtpOPF |
TDtpProgram |
member |
dtpScriptLines |
TDtpProgram |
member |
ListInconsistentStyles |
TStringList |
member |
ListInconsistentColors |
TStringList |
member |
WantListsOfInconsistencies |
boolean |
member |
NeedToUpdateNumDefinedPages |
boolean |
member |
SearchXmlNeedsUpdating |
Boolean |
property/accessor |
The Implementation toggle contains only TScript methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.