Please enable JavaScript to view this site.

 

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.

 

XML identity and composition

 

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:

 

TSL_Property

 

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

 

Implementation details

 

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.

 

Implementation