Iterating IOTAEnvironmentOptions

The following code in the unit of a package demonstrates how to iterate the names of the environment options in the Delphi IDE

procedure Register;
var
  LOTAServices: IOTAServices;
  LEnvironmentOptions: IOTAEnvironmentOptions;
  LOptionNames: TOTAOptionNameArray;
  LOptionName: TOTAOptionName;
  SL: TStringList;
  LKind, LName, Line: string;
begin
  if Supports(BorlandIDEServices, IOTAServices, LOTAServices) then
    begin
      LEnvironmentOptions := LOTAServices.GetEnvironmentOptions;
      LOptionNames := LEnvironmentOptions.GetOptionNames;
      SL := TStringList.Create;
      for LOptionName in LOptionNames do
        begin
          LKind := GetEnumName(typeinfo(TTypeKind), Ord(LOptionName.Kind));
          LName := LOptionName.Name;
          Line :=
Format('<tr>'#13#10+
'<td>%s</td>'#13#10+
'<td>%s</td>'#13#10+
'</tr>'#13#10, [LName, LKind]);
          SL.Add(Line);
        end;
      SL.Sort;
      Clipboard.AsText := SL.Text;
      SL.Free;
    end;
end;

Name Kind
AspDefaultEditorViewEnumPropField tkEnumeration
AutoCloseProgressDlg tkEnumeration
AutoCollapseRegionBlocks tkEnumeration
AutoCreateForms tkEnumeration
AutoDragDocking tkEnumeration
AutoIndent tkEnumeration
AutoSaveDesktop tkEnumeration
AutoSaveEditorFiles tkEnumeration
AutoSaveSymbols tkEnumeration
BackgroundCompilation tkEnumeration
BackspaceUnindents tkEnumeration
BlockIndent tkInteger
BoldFont tkEnumeration
BRIEFCursors tkEnumeration
BRIEFRegEx tkEnumeration
BrowserLocation tkLString
BrowserNameField tkEnumeration
BrowserOptionsSymbolScope tkEnumeration
BrowserPathField tkLString
BrowsingPath tkLString
CacheHeaders tkEnumeration
CassiniPathField tkLString
CassiniPortField tkInteger
CassiniStartupField tkEnumeration
ClassCompletionBooleanAddInterface tkEnumeration
ClassCompletionBooleanCompleteNavigation tkEnumeration
ClassCompletionBooleanProperties tkEnumeration
CleanupDiscardEmptyParaTags tkEnumeration
CleanupDiscardFontCenterTags tkEnumeration
CleanupFixBadComments tkEnumeration
CleanupReplaceColorValues tkEnumeration
CleanupReplaceIbyEMandBbySTRONG tkEnumeration
CleanupReplaceSlashInURLs tkEnumeration
CleanupReplaceTagsByStyles tkEnumeration
CleanupShowWarnings tkEnumeration
CleanupSourceDocIsWord2000 tkEnumeration
CodeCompleteAutoParens tkEnumeration
CodeCompleteDelay tkInteger
CodeCompleteHeight tkInteger
CodeCompleteWidth tkInteger
CodeCompletion tkEnumeration
CodeInsightAutoBlockCompletion tkEnumeration
CodeInsightAutoCompleteTemplates tkEnumeration
CodeInsightAutoInvoke tkEnumeration
CodeInsightBlockWrapStyle tkEnumeration
CodeInsightCodeTemplates tkEnumeration
CodeInsightHelpInsight tkEnumeration
CodeInsightHistoryPropField tkEnumeration
CodeInsightShowReservedWords tkEnumeration
CodeInsightSyncEditHints tkEnumeration
CodeInsightUseEditorFontPropField tkEnumeration
CodeParameters tkEnumeration
CodePreviewFormHeight tkInteger
CodePreviewFormWidth tkInteger
ColorSpeedSetting tkEnumeration
CompileBeep tkEnumeration
CompoundCodeBehindSourceCodeExtensions tkLString
CppAutoDepCheck tkEnumeration
CppAutoShowDependencies tkEnumeration
CppBPIOutput tkLString
CppBPLOutput tkLString
CppBrowsingPath tkLString
CppChangeSuffixInCompWrap tkEnumeration
CppIncludePath tkLString
CppLibraryPath tkLString
CppManagePaths tkEnumeration
CppNoRefactorPath tkLString
CppOcXSuffix tkLString
CppProjectPropertiesBooleanPropField tkEnumeration
CppSearchPath tkLString
CppVerifyPackages tkEnumeration
CreateBackup tkEnumeration
CursorAfterEOF tkEnumeration
CursorInTabs tkEnumeration
CutCopyEnabled tkEnumeration
DebugDCUILPath tkLString
DebugDCUPath tkLString
DeclarationInformation tkEnumeration
DefaultEditorViewEnumPropField tkEnumeration
DefaultPageLayoutEnumPropField tkEnumeration
DefaultProjectsDirectory tkLString
DefaultWebBaseDirField tkLString
DefaultWebServerField tkEnumeration
DesignerAllowEditingASPNETTags tkEnumeration
DesignerAutoShowSmartTasks tkEnumeration
DesignerCodeFolding tkEnumeration
DesignerDisplayTagEditor tkEnumeration
DesignerHighlightColor tkLString
DesignerHighlightErrorColor tkLString
DesignerHighlightTagEditorTag tkEnumeration
DesignerInsertDIVonReturn tkEnumeration
DesignerInsightHeight tkInteger
DesignerInsightVisible tkEnumeration
DesignerInsightWidth tkInteger
DesignerMaxInsiteErrors tkInteger
DesignerOptGridSizeX tkInteger
DesignerOptGridSizeY tkInteger
DesignerOptionsUseTheme tkEnumeration
DesignerOptShowGrid tkEnumeration
DesignerOptSnapToGrid tkEnumeration
DesignerUseErrorHighlight tkEnumeration
DetachFromCassiniField tkEnumeration
DetailedExceptions tkEnumeration
DFMAsText tkEnumeration
DispInterfInControlWrappers tkEnumeration
DisplayGrid tkEnumeration
DotNetBrowsingPath tkLString
DotNetLibraryPath tkLString
DotNetNamespaceSearchPath tkLString
DotNetPackageDPLOutput tkLString
DotNetPackageSearchPath tkLString
DoubleClickLine tkEnumeration
EditorEmulation tkLString
EditorFont tkLString
EditorKeymapping tkEnumeration
EditorOptionsErrorInsight tkEnumeration
EditorOptionsShowFullPath tkEnumeration
EditorOptionsSortPagesMenu tkEnumeration
EditorSpeedSetting tkLString
EmbeddedDesigner tkEnumeration
EmbeddedMenuDesigner tkEnumeration
EnableDebugging tkEnumeration
EnableElisions tkEnumeration
EncodingAsciiChars tkEnumeration
EncodingCharEncoding tkEnumeration
EncodingInCharEncoding tkEnumeration
EncodingOutCharEncoding tkEnumeration
EncodingOutputAbandonedAMPasEntity tkEnumeration
EncodingOutputNonBreakingSpaceAsEntity tkEnumeration
EncodingOutputNumCharEntities tkEnumeration
EncodingOutputQuoteCharAsEntity tkEnumeration
ExpanderFormSorted tkEnumeration
ExtendedPairMatching tkEnumeration
FileBackupLevel tkInteger
FileExtensions tkLString
FindAutoCompletes tkEnumeration
FindTextAtCursor tkEnumeration
FontSize tkInteger
FormatterOptionsAttributeAlignment tkEnumeration
FormatterOptionsEndTagsOnSameLine tkEnumeration
FormatterOptionsIndentSize tkInteger
FormatterOptionsShowWarnings tkEnumeration
FormatterOptionsUseTabIndent tkEnumeration
FormatterOptionsUseXHTML tkEnumeration
FormatterOptionsWrapAttributes tkEnumeration
FormatterOptionsWrapMargin tkInteger
GridSizeX tkInteger
GridSizeY tkInteger
GroupUndo tkEnumeration
GutterWidth tkInteger
HeaderPage tkEnumeration
HideDesignersOnRun tkEnumeration
HighlightCurrentLine tkEnumeration
HTMLAttributeCase tkEnumeration
HTMLFileExt tkLString
HTMLSampleImage tkLString
HTMLTagCase tkEnumeration
IECommandLineField tkLString
IgnoreCanCreate tkEnumeration
IgnoreHidden tkEnumeration
IgnorePreDeclId tkEnumeration
IgnoreReserved tkEnumeration
IgnoreSpecialFlags tkEnumeration
ImplementBase tkEnumeration
InitialView tkEnumeration
InsertMode tkEnumeration
InternalEmbeddedDesigner tkEnumeration
InternalEmbeddedMenuDesigner tkEnumeration
ItalicFont tkEnumeration
KeepTrailingBlanks tkEnumeration
LayoutBreakBeforeBR tkEnumeration
LayoutIndentAttrs tkEnumeration
LayoutIndentBlockLevelTags tkEnumeration
LayoutIndentSpaces tkInteger
LayoutLiteralAttrs tkEnumeration
LayoutTabSize tkInteger
LayoutUppercaseAttrs tkEnumeration
LayoutUppercaseTags tkEnumeration
LayoutWrapAttrValues tkEnumeration
LayoutWrapLinesInASPElements tkEnumeration
LayoutWrapLinesInJSTEElements tkEnumeration
LayoutWrapLinesInPHPInstructions tkEnumeration
LayoutWrapMargin tkInteger
LayoutWrapSection tkEnumeration
LayoutWrapStringLiteralsInScriptAttrs tkEnumeration
LeftMargin tkInteger
LibraryPath tkLString
LineNumbers tkEnumeration
MainWindowShowWindowMenu tkEnumeration
MainWindowSortPaletteTabsMenu tkEnumeration
MainWindowSortWindowMenu tkEnumeration
MakeComponent tkEnumeration
MarkupAddTidyMetaElement tkEnumeration
MarkupBodyOnly tkEnumeration
MarkupDocType tkLString
MarkupDropProprietaryAttrs tkEnumeration
MarkupDuplicateAttributes tkEnumeration
MarkupEncloseTextInBlocksWithinP tkEnumeration
MarkupEncloseTextInBODYwithinP tkEnumeration
MarkupEscapeCData tkEnumeration
MarkupFixURI tkEnumeration
MarkupHideComments tkEnumeration
MarkupIndentCData tkEnumeration
MarkupJoinClasses tkEnumeration
MarkupJoinStyles tkEnumeration
MarkupMakeBare tkEnumeration
MarkupNCR tkEnumeration
MarkupSuppressOptionalEndTags tkEnumeration
MetaPrintBorder tkEnumeration
MetaPrintDescription tkEnumeration
MetaPrintFile tkLString
MetaPrintHeader tkEnumeration
MetaPrintSelected tkEnumeration
MetaPrintToFile tkEnumeration
MetaPrintToSingle tkEnumeration
MetaPrintVisible tkEnumeration
MinimizeOnRun tkEnumeration
ModuleExplorerCategoriesBooleanPropField tkEnumeration
ModuleExplorerCategoriesBooleanPropField2 tkEnumeration
ModuleExplorerCategoriesBooleanPropField3 tkEnumeration
ModuleExplorerCategoriesBooleanPropField4 tkEnumeration
ModuleExplorerCategoriesBooleanPropField5 tkEnumeration
ModuleExplorerCategoriesBooleanPropField7 tkEnumeration
ModuleExplorerCategoriesBooleanPropField8 tkEnumeration
ModuleExplorerCategoriesBooleanPropField9 tkEnumeration
ModuleExplorerCategorySort tkLString
ModuleExplorerClassesExpand tkEnumeration
ModuleExplorerClassesVisible tkEnumeration
ModuleExplorerDeclarationSyntax tkEnumeration
ModuleExplorerExpanding tkEnumeration
ModuleExplorerFieldsExpand tkEnumeration
ModuleExplorerFieldsVisible tkEnumeration
ModuleExplorerGrouping tkEnumeration
ModuleExplorerHighlightIncomplete tkEnumeration
ModuleExplorerIncludesExpand tkEnumeration
ModuleExplorerIncludesVisible tkEnumeration
ModuleExplorerInterfacesExpand tkEnumeration
ModuleExplorerInterfacesVisible tkEnumeration
ModuleExplorerInternalExpand tkEnumeration
ModuleExplorerInternalVisible tkEnumeration
ModuleExplorerMacrosExpand tkEnumeration
ModuleExplorerMacrosVisible tkEnumeration
ModuleExplorerMethodsExpand tkEnumeration
ModuleExplorerMethodsVisible tkEnumeration
ModuleExplorerPrivateExpand tkEnumeration
ModuleExplorerPrivateVisible tkEnumeration
ModuleExplorerProceduresExpand tkEnumeration
ModuleExplorerProceduresVisible tkEnumeration
ModuleExplorerPropertiesExpand tkEnumeration
ModuleExplorerPropertiesVisible tkEnumeration
ModuleExplorerProtectedExpand tkEnumeration
ModuleExplorerProtectedInternalExpand tkEnumeration
ModuleExplorerProtectedInternalVisible tkEnumeration
ModuleExplorerProtectedVisible tkEnumeration
ModuleExplorerPublicExpand tkEnumeration
ModuleExplorerPublicVisible tkEnumeration
ModuleExplorerPublishedExpand tkEnumeration
ModuleExplorerPublishedVisible tkEnumeration
ModuleExplorerSorting tkEnumeration
ModuleExplorerStrictPrivateExpand tkEnumeration
ModuleExplorerStrictPrivateVisible tkEnumeration
ModuleExplorerStrictProtectedExpand tkEnumeration
ModuleExplorerStrictProtectedVisible tkEnumeration
ModuleExplorerTypesExpand tkEnumeration
ModuleExplorerTypesVisible tkEnumeration
ModuleExplorerUsesExpand tkEnumeration
ModuleExplorerUsesVisible tkEnumeration
ModuleExplorerVariablesExpand tkEnumeration
ModuleExplorerVariablesVisible tkEnumeration
MsStylePropGetSet tkEnumeration
NamespaceSearchPath tkLString
NewBlockLevelTags tkLString
NewEmtpyTags tkLString
NewInlineTags tkLString
NewPreTags tkLString
NumberAllLines tkEnumeration
ObjInspArrangeMode tkInteger
ObjInspBoldNonDefault tkEnumeration
ObjInspIntegralHeight tkEnumeration
ObjInspReferenceExpandable tkEnumeration
ObjInspReferenceOnEvents tkEnumeration
ObjInspShowClassnames tkEnumeration
ObjInspShowGridLines tkEnumeration
ObjInspShowGutter tkEnumeration
ObjInspShowInstanceList tkEnumeration
ObjInspShowReadOnlyProps tkEnumeration
ObjInspShowStatusBar tkEnumeration
OptimalFill tkEnumeration
OtherBrowserCommandLineField tkLString
OutputType tkEnumeration
OverwriteBlocks tkEnumeration
PackageDCPILOutput tkLString
PackageDCPOutput tkLString
PackageDPLOutput tkLString
PackageSearchPath tkLString
PaletteHints tkEnumeration
PaletteVisible tkEnumeration
PersistentBlocks tkEnumeration
PreserveLineEnds tkEnumeration
RenderThemeStyleSheetsField tkEnumeration
ReplaceCaseSensitive tkEnumeration
ReplaceForward tkEnumeration
ReplaceFromCursor tkEnumeration
ReplaceGlobal tkEnumeration
ReplacePrompt tkEnumeration
ReplaceRegularExp tkEnumeration
ReplaceWholeWords tkEnumeration
ReportTagEditorErrors tkEnumeration
RepositoryDir tkLString
RightMargin tkInteger
SafeCallMapping tkEnumeration
ScopeSort tkEnumeration
ScriptTimeoutSecs tkInteger
SearchCaseSensitive tkEnumeration
SearchFileMask tkLString
SearchForward tkEnumeration
SearchFromCursor tkEnumeration
SearchGlobal tkEnumeration
SearchGroupResultsByFile tkEnumeration
SearchIncludeSubDirs tkEnumeration
SearchRegularExp tkEnumeration
SearchSeparateSearchResults tkEnumeration
SearchWholeWords tkEnumeration
ShowAllFilesField tkEnumeration
ShowAllFilesMaskField tkLString
ShowCommandLine tkEnumeration
ShowCompilerProgress tkEnumeration
ShowComponentCaptions tkEnumeration
ShowDesignerHints tkEnumeration
ShowExtendedControlHints tkEnumeration
ShowImageOnTabs tkEnumeration
ShowLineBreaks tkEnumeration
ShowLineNumbers tkEnumeration
ShowModExp tkEnumeration
ShowNonVisualComponents tkEnumeration
ShowSpaceCharacter tkEnumeration
ShowTabCharacter tkEnumeration
ShowUpdatesUI tkEnumeration
SmartTab tkEnumeration
SnapToGrid tkEnumeration
SourceOptionIDString tkLString
SourceOptionName tkLString
SpeedbarHints tkEnumeration
SpeedbarVisible tkEnumeration
SplitPosition tkInteger
StartupOptionsNewProject tkEnumeration
StartupOptionsNewProjectType tkLString
SyntaxHighlight tkEnumeration
SyntaxHighlighterID tkLString
SyntaxPrint tkEnumeration
TabStops tkLString
TagEditorSplitterPos tkInteger
TidyOptionsDefaultFormatter tkEnumeration
TlibEditLanguage tkEnumeration
ToolPaletteAlwaysShowDesignerOptions tkEnumeration
ToolPaletteAutoCollapse tkEnumeration
ToolPaletteBackgroundGradientDirection tkInteger
ToolPaletteBoldCaptions tkEnumeration
ToolPaletteButtonHeight tkInteger
ToolPaletteCaptionOnlyBorder tkEnumeration
ToolPaletteCategoriesPopupHeight tkInteger
ToolPaletteCategoriesPopupWidth tkInteger
ToolPaletteCategoryGradientDirection tkInteger
ToolPaletteCollapsedCategories tkLString
ToolPaletteFirstLoad tkEnumeration
ToolPaletteFirstPopup tkEnumeration
ToolPaletteFullWidthButtons tkEnumeration
ToolPaletteMRUHistory tkLString
ToolPaletteOptionsShowPaletteWizards tkEnumeration
ToolPalettePaletteLocked tkEnumeration
ToolPaletteUsePlusMinus tkEnumeration
ToolPaletteVerticalCaptions tkEnumeration
ToolPaletteVerticalFlow tkEnumeration
ToolTipWatches tkEnumeration
TrayPanelSplitterPos tkInteger
UnderlineFont tkEnumeration
UndoAfterSave tkEnumeration
UndoLimit tkInteger
UseColor tkEnumeration
UseCtrlAltKeys tkEnumeration
UseDefaultBackground tkEnumeration
UseDefaultForeground tkEnumeration
UseDesignerGuidelines tkEnumeration
UseTabCharacter tkEnumeration
ValidateCreateIISVDirBeforeRunField tkEnumeration
Verbosity tkEnumeration
VirtualScreenPosition tkEnumeration
VisibleGutter tkEnumeration
VisibleRightMargin tkEnumeration
WarnOnPackageRebuild tkEnumeration
WinHelpFiles tkLString
WinHelpPath tkLString
WrapLines tkEnumeration
XMLAddXMLDecl tkEnumeration
XMLAddxmlspaceAttr tkEnumeration
XMLAssumeXMLProcessing tkEnumeration
XMLInputIsXML tkEnumeration
ZoomFullScreen tkEnumeration
Published Wed, 26 Sep 2007 @ 12:30 PM by chuacw

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Enter the following code to ensure that your comment reaches the intended party:
Enter the numbers you see in the image: