НАСТРОЙКИ
Отображение формы настроек переделано. Теперь она создаётся только 1 раз при первом вызове. Добавлен выпадающий списк для выбора локализаций. Кнопка сброса к дефолту изменена. Чтение настроек из abtool.ini (кроме локализаций). Сброс контроллов к актуальным настройкам при каждом показе формы настроек. Считанные настройки хранятся в глобальной переменной внутри uOptions. Таким образом: - исключены циклические ссылки с участием dMain ради доступа к настройкам - теперь можно только вызвать конструктор TOptions, а сам созданный объект нигде не сохранять: объект GlobalOptions уже будет доступен Новая функция dMain.GetLocalesIniFileList для получения списка файлов локализаций. Обновлены ini-файлы. Мелочи по оформлению кода.
This commit is contained in:
parent
e968856a55
commit
685274a356
@ -75,7 +75,7 @@
|
|||||||
<PackageName Value="LCL"/>
|
<PackageName Value="LCL"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="8">
|
<Units Count="9">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="ABTool.lpr"/>
|
<Filename Value="ABTool.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
@ -120,9 +120,15 @@
|
|||||||
<Filename Value="foptions.pas"/>
|
<Filename Value="foptions.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<ComponentName Value="fmOptions"/>
|
<ComponentName Value="fmOptions"/>
|
||||||
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="fOptions"/>
|
<UnitName Value="fOptions"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
|
<Unit8>
|
||||||
|
<Filename Value="uoptions.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uOptions"/>
|
||||||
|
</Unit8>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
@ -13,7 +13,8 @@ uses {$IFDEF UNIX} {$IFDEF UseCThreads}
|
|||||||
uPackage,
|
uPackage,
|
||||||
uPackageUtils,
|
uPackageUtils,
|
||||||
uPackageList,
|
uPackageList,
|
||||||
fOptions;
|
fOptions,
|
||||||
|
uOptions;
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
|
|
||||||
|
187
ABTool/Languages/DEBUG.lng
Normal file
187
ABTool/Languages/DEBUG.lng
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||||
|
; Date: 20:11 20.05.2015
|
||||||
|
[Info]
|
||||||
|
; Language name - required
|
||||||
|
Name=DEBUG
|
||||||
|
; ABTool version — required
|
||||||
|
ABToolVer=0.8.0
|
||||||
|
|
||||||
|
[Main]
|
||||||
|
; Bidirectional mode:
|
||||||
|
; = 1 - Left to right
|
||||||
|
; = 2 - Right to left with right alignment
|
||||||
|
; = 3 - Right to left with left alignment
|
||||||
|
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||||
|
Bidi=1
|
||||||
|
|
||||||
|
[SplashForm]
|
||||||
|
;
|
||||||
|
; Splash form
|
||||||
|
;
|
||||||
|
SplashForm_Lab_Loading=SplashForm_Lab_Loading
|
||||||
|
|
||||||
|
[MainForm]
|
||||||
|
;
|
||||||
|
; Main form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
MainForm_Tab_Soft=MainForm_Tab_Soft
|
||||||
|
MainForm_Tab_Tools=MainForm_Tab_Tools
|
||||||
|
MainForm_Tab_System=MainForm_Tab_System
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysInfo=MainForm_Tab_SysInfo
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysCare=MainForm_Tab_SysCare
|
||||||
|
MainForm_Tab_Log=MainForm_Tab_Log
|
||||||
|
|
||||||
|
;Common buttons on toolbars
|
||||||
|
MainForm_Btn_List=MainForm_Btn_List
|
||||||
|
MainForm_Mnb_ExpandAll=MainForm_Mnb_ExpandAll
|
||||||
|
MainForm_Mnb_CollapseAll=MainForm_Mnb_CollapseAll
|
||||||
|
MainForm_Btn_Search=MainForm_Btn_Search
|
||||||
|
MainForm_Mnb_PackDefault=MainForm_Mnb_PackDefault
|
||||||
|
MainForm_Mnb_PacksEdit=MainForm_Mnb_PacksEdit
|
||||||
|
|
||||||
|
;"Programms" tab
|
||||||
|
MainForm_Btn_SoftCheck=MainForm_Btn_SoftCheck
|
||||||
|
MainForm_Mnb_SoftCheckAll=MainForm_Mnb_SoftCheckAll
|
||||||
|
MainForm_Mnb_SoftCheckNone=MainForm_Mnb_SoftCheckNone
|
||||||
|
MainForm_Btn_SoftPackages=MainForm_Btn_SoftPackages
|
||||||
|
MainForm_Btn_SoftStart=MainForm_Btn_SoftStart
|
||||||
|
|
||||||
|
;"Utilities" tab
|
||||||
|
MainForm_Btn_ToolsPackages=MainForm_Btn_ToolsPackages
|
||||||
|
|
||||||
|
;"System" tab
|
||||||
|
MainForm_Lab_System=MainForm_Lab_System
|
||||||
|
MainForm_SInfo_RowOSVer=MainForm_SInfo_RowPCName
|
||||||
|
MainForm_SInfo_RowPCName=MainForm_SInfo_RowPCName
|
||||||
|
MainForm_SInfo_RowUserName=MainForm_SInfo_RowUserName
|
||||||
|
MainForm_Lab_UserVars=MainForm_Lab_UserVars
|
||||||
|
MainForm_Vars_Col1=MainForm_Vars_Col1
|
||||||
|
MainForm_Vars_Col2=MainForm_Vars_Col2
|
||||||
|
MainForm_Lab_SysVars=MainForm_Lab_SysVars
|
||||||
|
MainForm_Btn_SysInfoRefresh=MainForm_Btn_SysInfoRefresh
|
||||||
|
MainForm_Btn_VarsEdit=MainForm_Btn_VarsEdit
|
||||||
|
MainForm_Mnb_CopyVarValue=MainForm_Mnb_CopyVarValue
|
||||||
|
MainForm_Mnb_CopyVarLine=MainForm_Mnb_CopyVarLine
|
||||||
|
MainForm_Mnb_CopyVarAll=MainForm_Mnb_CopyVarAll
|
||||||
|
MainForm_Grp_Power=MainForm_Grp_Power
|
||||||
|
MainForm_Btn_PowerOff=MainForm_Btn_PowerOff
|
||||||
|
MainForm_Btn_Reboot=MainForm_Btn_Reboot
|
||||||
|
|
||||||
|
;"Log" tab
|
||||||
|
MainForm_Btn_LogClear=MainForm_Btn_LogClear
|
||||||
|
MainForm_Btn_LogSave=MainForm_Btn_LogSave
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
;MainForm_Caption=ABTool Debugging
|
||||||
|
MainForm_Btn_Options=MainForm_Btn_Options
|
||||||
|
|
||||||
|
[OptionsForm]
|
||||||
|
;
|
||||||
|
; Options form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
OptForm_Tab_Common=OptForm_Tab_Common
|
||||||
|
OptForm_Tab_Interface=OptForm_Tab_Interface
|
||||||
|
OptForm_Tab_Packages=OptForm_Tab_Packages
|
||||||
|
OptForm_Tab_About=OptForm_Tab_About
|
||||||
|
|
||||||
|
;"Common" tab
|
||||||
|
; "OptForm_Grp_Lang / Language"
|
||||||
|
OptForm_Grp_Lang=OptForm_Grp_Lang
|
||||||
|
OptForm_Lab_LangFileIs=OptForm_Lab_LangFileIs
|
||||||
|
OptForm_Lab_LangNameIs=OptForm_Lab_LangNameIs
|
||||||
|
OptForm_Lab_LangVerIs=OptForm_Lab_LangVerIs
|
||||||
|
OptForm_Grp_Soft=OptForm_Grp_Soft
|
||||||
|
OptForm_Chb_ChkExitCodes=OptForm_Chb_ChkExitCodes
|
||||||
|
OptForm_Chb_ChkExitCodesHint=OptForm_Chb_ChkExitCodesHint
|
||||||
|
OptForm_Chb_DntUnChkItems=OptForm_Chb_DntUnChkItems
|
||||||
|
OptForm_Chb_DntUnChkItemsHint=OptForm_Chb_DntUnChkItemsHint
|
||||||
|
OptForm_Chb_ColorSoftTree=OptForm_Chb_ColorSoftTree
|
||||||
|
OptForm_Chb_ColorSoftTreeHint=OptForm_Chb_ColorSoftTreeHint
|
||||||
|
OptForm_Chb_ShowProgress=OptForm_Chb_ShowProgress
|
||||||
|
OptForm_Chb_ShowProgressHint=OptForm_Chb_ShowProgressHint
|
||||||
|
OptForm_Chb_ExpandSoft=OptForm_Chb_ExpandSoft
|
||||||
|
OptForm_Chb_ExpandSoftHint=OptForm_Chb_ExpandSoftHint
|
||||||
|
OptForm_Chb_QuietREG=OptForm_Chb_QuietREG
|
||||||
|
OptForm_Chb_QuietREGHint=OptForm_Chb_QuietREGHint
|
||||||
|
OptForm_Grp_Tools=OptForm_Grp_Tools
|
||||||
|
OptForm_Chb_HideOnTool=OptForm_Chb_HideOnTool
|
||||||
|
OptForm_Chb_HideOnToolHint=OptForm_Chb_HideOnToolHint
|
||||||
|
OptForm_Chb_ExpandTools=OptForm_Chb_ExpandTools
|
||||||
|
OptForm_Chb_ExpandToolsHint=OptForm_Chb_ExpandToolsHint
|
||||||
|
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||||
|
OptForm_Url_DownloadLangs=OptForm_Url_DownloadLangs
|
||||||
|
|
||||||
|
;"Interface" tab
|
||||||
|
OptForm_Chb_ShowLog=OptForm_Chb_ShowLog
|
||||||
|
OptForm_Chb_ShowLogHint=OptForm_Chb_ShowLogHint
|
||||||
|
OptForm_Chb_DrawOutlines=OptForm_Chb_DrawOutlines
|
||||||
|
OptForm_Chb_DrawOutlinesHint=OptForm_Chb_DrawOutlinesHint
|
||||||
|
OptForm_Chb_ScreenSnap=OptForm_Chb_ScreenSnap
|
||||||
|
OptForm_Chb_ScreenSnapHint=OptForm_Chb_ScreenSnapHint
|
||||||
|
OptForm_Chb_OnTop=OptForm_Chb_OnTop
|
||||||
|
OptForm_Chb_OnTopHint=OptForm_Chb_OnTopHint
|
||||||
|
OptForm_Chb_ShowPkgDesc=OptForm_Chb_ShowPkgDesc
|
||||||
|
OptForm_Chb_ShowPkgDescHint=OptForm_Chb_ShowPkgDescHint
|
||||||
|
OptForm_Chb_SrchVisible=OptForm_Chb_SrchVisible
|
||||||
|
OptForm_Chb_SrchVisibleHint=OptForm_Chb_SrchVisibleHint
|
||||||
|
OptForm_Chb_ScrollLog=OptForm_Chb_ScrollLog
|
||||||
|
OptForm_Chb_ScrollLogHint=OptForm_Chb_ScrollLogHint
|
||||||
|
OptForm_Grp_PkgSwitchMethod=OptForm_Grp_PkgSwitchMethod
|
||||||
|
OptForm_Rdb_PkgSwByMenu=OptForm_Rdb_PkgSwByMenu
|
||||||
|
OptForm_Rdb_PkgSwByMenuHint=OptForm_Rdb_PkgSwByMenuHint
|
||||||
|
OptForm_Rdb_PkgSwByTabs=OptForm_Rdb_PkgSwByTabs
|
||||||
|
OptForm_Rdb_PkgSwByTabsHint=OptForm_Rdb_PkgSwByTabsHint
|
||||||
|
OptForm_Chb_PkgSwShrinkTabs=OptForm_Chb_PkgSwShrinkTabs
|
||||||
|
OptForm_Chb_PkgSwShrinkTabsHint=OptForm_Chb_PkgSwShrinkTabsHint
|
||||||
|
OptForm_Cmb_PkgSwTabsPosHint=OptForm_Cmb_PkgSwTabsPosHint
|
||||||
|
OptForm_Cmb_PkgSwTabsPosTop=OptForm_Cmb_PkgSwTabsPosTop
|
||||||
|
OptForm_Cmb_PkgSwTabsPosBottom=OptForm_Cmb_PkgSwTabsPosBottom
|
||||||
|
OptForm_Cmb_PkgSwTabsPosLeft=OptForm_Cmb_PkgSwTabsPosLeft
|
||||||
|
OptForm_Cmb_PkgSwTabsPosRight=OptForm_Cmb_PkgSwTabsPosRight
|
||||||
|
|
||||||
|
;"Packages" tab
|
||||||
|
OptForm_Grp_PkgSoft=OptForm_Grp_PkgSoft
|
||||||
|
OptForm_Grp_PkgTools=OptForm_Grp_PkgTools
|
||||||
|
OptForm_Btn_BrowseUserSoftPkg=OptForm_Btn_BrowseUserSoftPkg
|
||||||
|
OptForm_Btn_BrowseUserSoftPkgHint=OptForm_Btn_BrowseUserSoftPkgHint
|
||||||
|
OptForm_Btn_ClearUserSoftPkgHint=OptForm_Btn_ClearUserSoftPkgHint
|
||||||
|
OptForm_Btn_OpenIniDir=OptForm_Btn_OpenIniDir
|
||||||
|
OptForm_Btn_OpenIniDirHint=OptForm_Btn_OpenIniDirHint
|
||||||
|
OptForm_Grp_PkgInfo=OptForm_Grp_PkgInfo
|
||||||
|
OptForm_Lab_PkgNameIs=OptForm_Lab_PkgNameIs
|
||||||
|
OptForm_Lab_PkgDescIs=OptForm_Lab_PkgDescIs
|
||||||
|
|
||||||
|
;"About" tab
|
||||||
|
OptForm_Lab_ABToolBuildIs=OptForm_Lab_ABToolBuildIs
|
||||||
|
OptForm_Lab_WhatsNew=OptForm_Lab_WhatsNew
|
||||||
|
OptForm_Url_ReportBug=OptForm_Url_ReportBug
|
||||||
|
OptForm_Url_Help=OptForm_Url_Help
|
||||||
|
OptForm_Btn_CheckUpdates=OptForm_Btn_CheckUpdates
|
||||||
|
OptForm_Btn_CheckingUpdates=OptForm_Btn_CheckingUpdates
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
OptForm_Caption=OptForm_Caption
|
||||||
|
OptForm_Btn_ResetOptions=OptForm_Btn_ResetOptions
|
||||||
|
OptForm_Btn_SaveOptions=OptForm_Btn_SaveOptions
|
||||||
|
OptForm_Btn_Close=OptForm_Btn_Close
|
||||||
|
|
||||||
|
[ProgressForm]
|
||||||
|
;
|
||||||
|
; Installation progress form
|
||||||
|
;
|
||||||
|
[ChoosePkgForm]
|
||||||
|
;
|
||||||
|
; Form to choose package
|
||||||
|
;
|
||||||
|
[Messages]
|
||||||
|
;
|
||||||
|
; Messages to show
|
||||||
|
;
|
||||||
|
[Log]
|
||||||
|
;
|
||||||
|
; Log messages
|
||||||
|
;
|
189
ABTool/Languages/English.lng
Normal file
189
ABTool/Languages/English.lng
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||||
|
; Date: 20:11 20.05.2015
|
||||||
|
[Info]
|
||||||
|
; Language name - required
|
||||||
|
Name=English
|
||||||
|
; ABTool version — required
|
||||||
|
ABToolVer=0.8.0
|
||||||
|
|
||||||
|
[Main]
|
||||||
|
; Bidirectional mode:
|
||||||
|
; = 1 - Left to right
|
||||||
|
; = 2 - Right to left with right alignment
|
||||||
|
; = 3 - Right to left with left alignment
|
||||||
|
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||||
|
Bidi=1
|
||||||
|
|
||||||
|
[SplashForm]
|
||||||
|
;
|
||||||
|
; Splash form
|
||||||
|
;
|
||||||
|
SplashForm_Lab_Loading=Loading...
|
||||||
|
[MainForm]
|
||||||
|
;
|
||||||
|
; Main form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
MainForm_Tab_Soft=Programms
|
||||||
|
MainForm_Tab_Tools=Utilities
|
||||||
|
MainForm_Tab_System=System
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysInfo=Common info
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysCare=Maintenance
|
||||||
|
MainForm_Tab_Log=Log
|
||||||
|
|
||||||
|
;Common buttons on toolbars
|
||||||
|
MainForm_Btn_List=List
|
||||||
|
MainForm_Mnb_ExpandAll=Expand all
|
||||||
|
MainForm_Mnb_CollapseAll=Collapse all
|
||||||
|
MainForm_Btn_Search=Search
|
||||||
|
MainForm_Mnb_PackDefault=Default
|
||||||
|
MainForm_Mnb_PacksEdit=Package management...
|
||||||
|
|
||||||
|
;"Programms" tab
|
||||||
|
MainForm_Btn_SoftCheck=Choose
|
||||||
|
MainForm_Mnb_SoftCheckAll=Choose all
|
||||||
|
MainForm_Mnb_SoftCheckNone=Choose none
|
||||||
|
MainForm_Btn_SoftPackages=Programm packages
|
||||||
|
MainForm_Btn_SoftStart=<<< Start installation >>>
|
||||||
|
|
||||||
|
;"Utilities" tab
|
||||||
|
MainForm_Btn_ToolsPackages=Utility packages
|
||||||
|
|
||||||
|
;"System" tab
|
||||||
|
MainForm_Lab_System=System
|
||||||
|
MainForm_SInfo_RowOSVer=OS version
|
||||||
|
MainForm_SInfo_RowPCName=PC name
|
||||||
|
MainForm_SInfo_RowUserName=User name
|
||||||
|
MainForm_Lab_UserVars=Environment variables for
|
||||||
|
MainForm_Vars_Col1=Variable
|
||||||
|
MainForm_Vars_Col2=Value
|
||||||
|
MainForm_Lab_SysVars=System environment variables
|
||||||
|
MainForm_Btn_SysInfoRefresh=Refresh
|
||||||
|
MainForm_Btn_VarsEdit=Edit variables...
|
||||||
|
MainForm_Mnb_CopyVarValue=Copy value to clipboard
|
||||||
|
MainForm_Mnb_CopyVarLine=Copy variable with value
|
||||||
|
MainForm_Mnb_CopyVarAll=Copy all
|
||||||
|
MainForm_Grp_Power=Power management
|
||||||
|
MainForm_Btn_PowerOff=Power off
|
||||||
|
MainForm_Btn_Reboot=Reboot
|
||||||
|
|
||||||
|
;"Log" tab
|
||||||
|
MainForm_Btn_LogClear=Clear log
|
||||||
|
MainForm_Btn_LogSave=Save log to file...
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
;MainForm_Caption=ABTool in English!
|
||||||
|
MainForm_Btn_Options=Options
|
||||||
|
|
||||||
|
[OptionsForm]
|
||||||
|
;
|
||||||
|
; Options form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
OptForm_Tab_Common=Common
|
||||||
|
OptForm_Tab_Interface=Interface
|
||||||
|
OptForm_Tab_Packages=Packages
|
||||||
|
OptForm_Tab_About=About
|
||||||
|
|
||||||
|
;"Common" tab
|
||||||
|
; "OptForm_Grp_Lang / Language"
|
||||||
|
OptForm_Grp_Lang=
|
||||||
|
OptForm_Lab_LangFileIs=Filename:
|
||||||
|
OptForm_Lab_LangNameIs=Language:
|
||||||
|
OptForm_Lab_LangVerIs=Version:
|
||||||
|
OptForm_Grp_Soft=«Software» tab
|
||||||
|
OptForm_Chb_ChkExitCodes=Immediately report if the return code <> 0
|
||||||
|
OptForm_Chb_ChkExitCodesHint=When the installer is finished with a code other than zero, you will be asked to terminate the installation process
|
||||||
|
OptForm_Chb_DntUnChkItems=Leave the check box checked with the return code <> 0
|
||||||
|
OptForm_Chb_DntUnChkItemsHint=Later, you can try to install only those programs, the installation of which was not completed correctly
|
||||||
|
OptForm_Chb_ColorSoftTree=Color software tree list after installing
|
||||||
|
OptForm_Chb_ColorSoftTreeHint=When the installation process is complete, a list of programs to be is colored as follows: Failed to start — red, return code <> 0 — blue
|
||||||
|
OptForm_Chb_ShowProgress=Show the overall process of software installation
|
||||||
|
OptForm_Chb_ShowProgressHint=During installation, the main window will disappear and there will be another, displaying the overall progress of the installation. Otherwise - the main window will not disappear, but will be blocked
|
||||||
|
OptForm_Chb_ExpandSoft=Expand software tree when package is loaded
|
||||||
|
OptForm_Chb_ExpandSoftHint=
|
||||||
|
OptForm_Chb_QuietREG=Silent import from REG-files
|
||||||
|
OptForm_Chb_QuietREGHint=REGEDIT will not ask for confirmation
|
||||||
|
OptForm_Grp_Tools=«Utilities» tab
|
||||||
|
OptForm_Chb_HideOnTool=Hide ABTool when utility is launched
|
||||||
|
OptForm_Chb_HideOnToolHint=When utility is launched, ABTool will not disturb
|
||||||
|
OptForm_Chb_ExpandTools=Expand utilities tree when package is loaded
|
||||||
|
OptForm_Chb_ExpandToolsHint=
|
||||||
|
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||||
|
;OptForm_Url_DownloadLangs=
|
||||||
|
|
||||||
|
;"Interface" tab
|
||||||
|
OptForm_Chb_ShowLog=Show log tab
|
||||||
|
OptForm_Chb_ShowLogHint=The log appears on the an additional tab and contains complete protocol of events
|
||||||
|
OptForm_Chb_DrawOutlines=Draw lists outlines
|
||||||
|
OptForm_Chb_DrawOutlinesHint=It applies both to the Software and Utilities tabs
|
||||||
|
OptForm_Chb_ScreenSnap=Snap ABTool to the screen borders when moving
|
||||||
|
OptForm_Chb_ScreenSnapHint=
|
||||||
|
OptForm_Chb_OnTop=Keep ABTool on top
|
||||||
|
OptForm_Chb_OnTopHint=
|
||||||
|
OptForm_Chb_ShowPkgDesc=Show package descriptions
|
||||||
|
OptForm_Chb_ShowPkgDescHint=It applies both to the Software and Utilities tabs
|
||||||
|
OptForm_Chb_SrchVisible=Search bar is always shown
|
||||||
|
OptForm_Chb_SrchVisibleHint=It applies both to the Software and Utilities tabs
|
||||||
|
OptForm_Chb_ScrollLog=Always scroll log to the end
|
||||||
|
OptForm_Chb_ScrollLogHint=
|
||||||
|
OptForm_Grp_PkgSwitchMethod=Package switching method
|
||||||
|
OptForm_Rdb_PkgSwByMenu=Let me choose via package menu
|
||||||
|
OptForm_Rdb_PkgSwByMenuHint=It applies both to the Software and Utilities tabs
|
||||||
|
OptForm_Rdb_PkgSwByTabs=Show packages as tabs:
|
||||||
|
OptForm_Rdb_PkgSwByTabsHint=It applies both to the Software and Utilities tabs
|
||||||
|
OptForm_Chb_PkgSwShrinkTabs=Fit all names (long names will be trimmed)
|
||||||
|
OptForm_Chb_PkgSwShrinkTabsHint=If disabled, all packages' names may not fit on this panel
|
||||||
|
OptForm_Cmb_PkgSwTabsPosHint=Choose package tabs position
|
||||||
|
OptForm_Cmb_PkgSwTabsPosTop=Top
|
||||||
|
OptForm_Cmb_PkgSwTabsPosBottom=Bottom
|
||||||
|
OptForm_Cmb_PkgSwTabsPosLeft=Left
|
||||||
|
OptForm_Cmb_PkgSwTabsPosRight=Right
|
||||||
|
|
||||||
|
;"Packages" tab
|
||||||
|
OptForm_Grp_PkgSoft=Software
|
||||||
|
OptForm_Grp_PkgTools=Utilities
|
||||||
|
OptForm_Btn_BrowseUserSoftPkg=Choose
|
||||||
|
OptForm_Btn_BrowseUserSoftPkgHint=Choose your package in special window
|
||||||
|
OptForm_Btn_ClearUserSoftPkgHint=Clear field
|
||||||
|
OptForm_Btn_OpenIniDir=Open ABTool_ini directory
|
||||||
|
OptForm_Btn_OpenIniDirHint=
|
||||||
|
OptForm_Grp_PkgInfo=Package info
|
||||||
|
OptForm_Lab_PkgNameIs=Name:
|
||||||
|
OptForm_Lab_PkgDescIs=Description:
|
||||||
|
|
||||||
|
;"About" tab
|
||||||
|
OptForm_Lab_ABToolBuildIs=build
|
||||||
|
OptForm_Lab_WhatsNew=What's new in this version:
|
||||||
|
OptForm_Url_ReportBug=Report bug
|
||||||
|
OptForm_Url_Help=Get help
|
||||||
|
OptForm_Btn_CheckUpdates=Check updates
|
||||||
|
OptForm_Btn_CheckingUpdates=Checking updates...
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
OptForm_Caption=ABTool options
|
||||||
|
OptForm_Btn_ResetOptions=Reset
|
||||||
|
OptForm_Btn_SaveOptions=Save
|
||||||
|
OptForm_Btn_Close=Close
|
||||||
|
|
||||||
|
[ProgressForm]
|
||||||
|
;
|
||||||
|
; Installation progress form
|
||||||
|
;
|
||||||
|
|
||||||
|
[ChoosePkgForm]
|
||||||
|
;
|
||||||
|
; Form to choose package
|
||||||
|
;
|
||||||
|
|
||||||
|
[Messages]
|
||||||
|
;
|
||||||
|
; Messages to show
|
||||||
|
;
|
||||||
|
|
||||||
|
[Log]
|
||||||
|
;
|
||||||
|
; Log messages
|
||||||
|
;
|
185
ABTool/Languages/Russian.lng
Normal file
185
ABTool/Languages/Russian.lng
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
; Author: AnthonyAxenov, anthonysoprano.93@gmail.com, abtool.ru
|
||||||
|
; Date: 20:11 20.05.2015
|
||||||
|
[Info]
|
||||||
|
; Language name - required
|
||||||
|
Name=Русский
|
||||||
|
; ABTool version — required
|
||||||
|
ABToolVer=0.8.0
|
||||||
|
|
||||||
|
[Main]
|
||||||
|
; Bidirectional mode:
|
||||||
|
; = 1 - Left to right
|
||||||
|
; = 2 - Right to left with right alignment
|
||||||
|
; = 3 - Right to left with left alignment
|
||||||
|
; = 4 - Right to left with right alignment only for reading (not typing)
|
||||||
|
Bidi=2
|
||||||
|
|
||||||
|
[SplashForm]
|
||||||
|
;
|
||||||
|
; Splash form
|
||||||
|
;
|
||||||
|
SplashForm_Lab_Loading=Загрузка...
|
||||||
|
[MainForm]
|
||||||
|
;
|
||||||
|
; Main form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
MainForm_Tab_Soft=Программы
|
||||||
|
MainForm_Tab_Tools=Утилиты
|
||||||
|
MainForm_Tab_System=Система
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysInfo=Общая информация
|
||||||
|
; Deprecated since v0.8.0.313 (19:01 19.05.2015)
|
||||||
|
;MainForm_Tab_SysCare=Обслуживание
|
||||||
|
MainForm_Tab_Log=Лог
|
||||||
|
|
||||||
|
;Common buttons on toolbars
|
||||||
|
MainForm_Btn_List=Список
|
||||||
|
MainForm_Mnb_ExpandAll=Развернуть все
|
||||||
|
MainForm_Mnb_CollapseAll=Свернуть все
|
||||||
|
MainForm_Btn_Search=Поиск
|
||||||
|
MainForm_Mnb_PackDefault=По умолчанию
|
||||||
|
MainForm_Mnb_PacksEdit=Управление пакетами...
|
||||||
|
|
||||||
|
;"Programms" tab
|
||||||
|
MainForm_Btn_SoftCheck=Выбор
|
||||||
|
MainForm_Mnb_SoftCheckAll=Выбрать все
|
||||||
|
MainForm_Mnb_SoftCheckNone=Снять выбор
|
||||||
|
MainForm_Btn_SoftPackages=Пакеты программ
|
||||||
|
MainForm_Btn_SoftStart=<<< Приступить к установке >>>
|
||||||
|
|
||||||
|
;"Utilities" tab
|
||||||
|
MainForm_Btn_ToolsPackages=Пакеты утилит
|
||||||
|
|
||||||
|
;"System" tab
|
||||||
|
MainForm_Lab_System=Система
|
||||||
|
MainForm_SInfo_RowOSVer=Версия ОС
|
||||||
|
MainForm_SInfo_RowPCName=Имя ПК
|
||||||
|
MainForm_SInfo_RowUserName=Имя пользователя
|
||||||
|
MainForm_Lab_UserVars=Переменные среды для
|
||||||
|
MainForm_Vars_Col1=Переменная
|
||||||
|
MainForm_Vars_Col2=Значение
|
||||||
|
MainForm_Lab_SysVars=Системные переменные среды
|
||||||
|
MainForm_Btn_SysInfoRefresh=Обновить
|
||||||
|
MainForm_Btn_VarsEdit=Редактирование...
|
||||||
|
MainForm_Mnb_CopyVarValue=Копировать значение
|
||||||
|
MainForm_Mnb_CopyVarLine=Копировать строку
|
||||||
|
MainForm_Mnb_CopyVarAll=Копировать все
|
||||||
|
MainForm_Grp_Power=Питание компьютера
|
||||||
|
MainForm_Btn_PowerOff=Выключение
|
||||||
|
MainForm_Btn_Reboot=Перезагрузка
|
||||||
|
|
||||||
|
;"Log" tab
|
||||||
|
MainForm_Btn_LogClear=Очистить лог
|
||||||
|
MainForm_Btn_LogSave=Сохранить...
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
MainForm_Btn_Options=Настройки
|
||||||
|
|
||||||
|
[OptionsForm]
|
||||||
|
;
|
||||||
|
; Options form
|
||||||
|
;
|
||||||
|
;Tabs
|
||||||
|
OptForm_Tab_Common=Общие
|
||||||
|
OptForm_Tab_Interface=Интерфейс
|
||||||
|
OptForm_Tab_Packages=Пакеты
|
||||||
|
OptForm_Tab_About=О программе
|
||||||
|
|
||||||
|
;"Common" tab
|
||||||
|
; "OptForm_Grp_Lang / Language"
|
||||||
|
OptForm_Grp_Lang=Язык
|
||||||
|
OptForm_Lab_LangFileIs=Файл:
|
||||||
|
OptForm_Lab_LangNameIs=Язык:
|
||||||
|
OptForm_Lab_LangVerIs=Версия:
|
||||||
|
OptForm_Grp_Soft=Вкладка «Программы»
|
||||||
|
OptForm_Chb_ChkExitCodes=Немедленно сообщать о коде возврата <> 0
|
||||||
|
OptForm_Chb_ChkExitCodesHint=В случае завершения инсталлятора с кодом, отличным от нуля, вам предлагается прервать процесс установки программ
|
||||||
|
OptForm_Chb_DntUnChkItems=Не снимать отметку с чекбокса при коде возврата <> 0
|
||||||
|
OptForm_Chb_DntUnChkItemsHint=В последующем вы можете попробовать установить только те программы, установка которых не была завершена корректно
|
||||||
|
OptForm_Chb_ColorSoftTree=Раскрашивать список программ после установки
|
||||||
|
OptForm_Chb_ColorSoftTreeHint=После завершения процесса установки список программ будет раскрашен так: ошибка запуска — красный, код возврата <> 0 — синий
|
||||||
|
OptForm_Chb_ShowProgress=Отображать общий ход установки программ
|
||||||
|
OptForm_Chb_ShowProgressHint=Во время установки главное окно скроется и появится другое, с отображением общего хода установки. Иначе — главное окно не исчезнет, но заблокируется
|
||||||
|
OptForm_Chb_ExpandSoft=Раскрывать список программ после загрузки пакета
|
||||||
|
OptForm_Chb_ExpandSoftHint=
|
||||||
|
OptForm_Chb_QuietREG=Тихий импорт REG-файлов
|
||||||
|
OptForm_Chb_QuietREGHint=Когда до него дойдёт очередь, данные будут внесены без подтверждений
|
||||||
|
OptForm_Grp_Tools=Вкладка «Утилиты»
|
||||||
|
OptForm_Chb_HideOnTool=Скрыть главное окно ABTool при запуске утилиты
|
||||||
|
OptForm_Chb_HideOnToolHint=После запуска утилиты окно ABTool не будет мешать
|
||||||
|
OptForm_Chb_ExpandTools=Раскрывать список утилит после загрузки пакета
|
||||||
|
OptForm_Chb_ExpandToolsHint=
|
||||||
|
; "OptForm_Url_DownloadLangs / Download other languages"
|
||||||
|
OptForm_Url_DownloadLangs=Скачать другие языки
|
||||||
|
|
||||||
|
;"Interface" tab
|
||||||
|
OptForm_Chb_ShowLog=Показывать лог событий
|
||||||
|
OptForm_Chb_ShowLogHint=Лог выводится на дополнительную вкладку и содержит полный протокол событий
|
||||||
|
OptForm_Chb_DrawOutlines=Показывать линии при отрисовке списков
|
||||||
|
OptForm_Chb_DrawOutlinesHint=
|
||||||
|
OptForm_Chb_ScreenSnap=Прилипание окон к краям экрана
|
||||||
|
OptForm_Chb_ScreenSnapHint=
|
||||||
|
OptForm_Chb_OnTop=Поверх всех окон
|
||||||
|
OptForm_Chb_OnTopHint=
|
||||||
|
OptForm_Chb_ShowPkgDesc=Показывать описания пакетов
|
||||||
|
OptForm_Chb_ShowPkgDescHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||||
|
OptForm_Chb_SrchVisible=Строка поиска всегда видна
|
||||||
|
OptForm_Chb_SrchVisibleHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||||
|
OptForm_Chb_ScrollLog=Всегда прокручивать лог до конца
|
||||||
|
OptForm_Chb_ScrollLogHint=
|
||||||
|
OptForm_Grp_PkgSwitchMethod=Переключение между пакетами
|
||||||
|
OptForm_Rdb_PkgSwByMenu=Через меню над списками
|
||||||
|
OptForm_Rdb_PkgSwByMenuHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||||
|
OptForm_Rdb_PkgSwByTabs=Отображать в виде закладок:
|
||||||
|
OptForm_Rdb_PkgSwByTabsHint=Действует как на вкладке установки, так и на вкладке утилит
|
||||||
|
OptForm_Chb_PkgSwShrinkTabs=Вмещать все (длинные названия будут укорочены)
|
||||||
|
OptForm_Chb_PkgSwShrinkTabsHint=Если выключено, все названия могут не поместиться в ширину панели закладок
|
||||||
|
OptForm_Cmb_PkgSwTabsPosHint=Выберите положение панели закладок
|
||||||
|
OptForm_Cmb_PkgSwTabsPosTop=Сверху
|
||||||
|
OptForm_Cmb_PkgSwTabsPosBottom=Снизу
|
||||||
|
OptForm_Cmb_PkgSwTabsPosLeft=Слева
|
||||||
|
OptForm_Cmb_PkgSwTabsPosRight=Справа
|
||||||
|
|
||||||
|
;"Packages" tab
|
||||||
|
OptForm_Grp_PkgSoft=Программы
|
||||||
|
OptForm_Grp_PkgTools=Утилиты
|
||||||
|
OptForm_Btn_BrowseUserSoftPkg=Выбор
|
||||||
|
OptForm_Btn_BrowseUserSoftPkgHint=Выбрать пользовательский пакет в отдельном окне
|
||||||
|
OptForm_Btn_ClearUserSoftPkgHint=Очистить поле
|
||||||
|
OptForm_Btn_OpenIniDir=Открыть папку ABTool_ini
|
||||||
|
OptForm_Btn_OpenIniDirHint=
|
||||||
|
OptForm_Grp_PkgInfo=Информация о пакете
|
||||||
|
OptForm_Lab_PkgNameIs=Название:
|
||||||
|
OptForm_Lab_PkgDescIs=Описание:
|
||||||
|
|
||||||
|
;"About" tab
|
||||||
|
OptForm_Lab_ABToolBuildIs=сборка
|
||||||
|
OptForm_Lab_WhatsNew=Что нового в этой версии:
|
||||||
|
OptForm_Url_ReportBug=Сообщить об ошибке
|
||||||
|
OptForm_Url_Help=Помощь
|
||||||
|
OptForm_Btn_CheckUpdates=Проверить обновления
|
||||||
|
OptForm_Btn_CheckingUpdates=ПОлучение информации...
|
||||||
|
|
||||||
|
;Other strings in this window
|
||||||
|
OptForm_Caption=Настройки ABTool
|
||||||
|
OptForm_Btn_ResetOptions=Сброс
|
||||||
|
OptForm_Btn_SaveOptions=Сохранить
|
||||||
|
OptForm_Btn_Close=Закрыть
|
||||||
|
|
||||||
|
[ProgressForm]
|
||||||
|
;
|
||||||
|
; Installation progress form
|
||||||
|
;
|
||||||
|
[ChoosePkgForm]
|
||||||
|
;
|
||||||
|
; Form to choose package
|
||||||
|
;
|
||||||
|
[Messages]
|
||||||
|
;
|
||||||
|
; Messages to show
|
||||||
|
;
|
||||||
|
[Log]
|
||||||
|
;
|
||||||
|
; Log messages
|
||||||
|
;
|
@ -1,25 +1,22 @@
|
|||||||
[Options]
|
[Options]
|
||||||
|
Locale=
|
||||||
|
|
||||||
|
ScreenSnap=1
|
||||||
|
ShowPkgDesc=1
|
||||||
|
DrawOutlines=1
|
||||||
|
OnTop=0
|
||||||
|
|
||||||
ChkExitCodes=0
|
ChkExitCodes=0
|
||||||
DntUnChkItems=1
|
DntUnChkItems=1
|
||||||
ColorSoftTree=1
|
ColorSoftTree=1
|
||||||
ShowProgress=1
|
ShowProgress=1
|
||||||
ExpandSoft=1
|
|
||||||
QuietREG=0
|
QuietREG=0
|
||||||
|
ExpandSoft=1
|
||||||
|
|
||||||
HideOnTool=0
|
HideOnTool=0
|
||||||
ExpandTools=1
|
ExpandTools=1
|
||||||
ShowLog=1
|
|
||||||
DrawOutlines=1
|
Left=
|
||||||
ScreenSnap=1
|
Top=
|
||||||
OnTop=0
|
Width=
|
||||||
ShowPkgDesc=1
|
Height=
|
||||||
SrchVisible=0
|
|
||||||
[UserSoftPackages]
|
|
||||||
UserSoftPkg1=
|
|
||||||
UserSoftPkg2=
|
|
||||||
UserSoftPkg3=
|
|
||||||
LastUserSoftPkg=0
|
|
||||||
[UserToolPackages]
|
|
||||||
UserToolPkg1=
|
|
||||||
UserToolPkg2=
|
|
||||||
UserToolPkg3=
|
|
||||||
LastUserToolPkg=0
|
|
36
dmain.lfm
36
dmain.lfm
@ -3678,6 +3678,42 @@ object dmMain: TdmMain
|
|||||||
end
|
end
|
||||||
object mbRefresh: TMenuItem
|
object mbRefresh: TMenuItem
|
||||||
Caption = 'Обновить'
|
Caption = 'Обновить'
|
||||||
|
Bitmap.Data = {
|
||||||
|
36040000424D3604000000000000360000002800000010000000100000000100
|
||||||
|
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00994E
|
||||||
|
0399994E035C9B500400994E031A984D026C984D02A6984D02CC984D02C1984D
|
||||||
|
028C984D024D994E03109C510500A2570A00A65B0D00FFFFFF00FFFFFF009C51
|
||||||
|
05CC9C5105CC9C510585A35806BFC8841AE3EAA71FF5FCB920FFFCB920F1EAA6
|
||||||
|
1FCFC78219A6A35909789D520622A2570A00A65B0D00FFFFFF00FFFFFF00A257
|
||||||
|
0ACCF9BF40FFA2570ACCF7B52AFFF6B01CFFF7B11EFFF8B527FFF8B527F1F7B1
|
||||||
|
1ED6F6B01CB4F8BA3490AB62105FA3580B19A65B0D00FFFFFF00FFFFFF00A85D
|
||||||
|
0ECCF2B339FFF3B844FFEEA824FFF2B339FFC37E23DCA85D0ECCA85D0EC1C27E
|
||||||
|
22BAE7A937B2EFAB2A90F3B8436DAD631243A95E0F06FFFFFF00FFFFFF00AF64
|
||||||
|
14CCECB149FFE6A334FFEEB752FFAF6414CCAF641494AD621200AA5F0F00AE63
|
||||||
|
134AAF641488E4A74491E8A83B6DCA88314EAF641419FFFFFF00FFFFFF00B66B
|
||||||
|
19CCEBB861FFE7B057FFE7B057FFEEBF6AFFB66B19CCB76C1A5CB56A1800AF64
|
||||||
|
1400B56A1932C7843178E3A84E6CDCA24C54B66B1925FFFFFF00FFFFFF00BD72
|
||||||
|
1E99BE731FCCBE731FCCBE731FCCBE731FCCBE731FCCBD721E99C0752000C378
|
||||||
|
2300BD721E00BE731F33E5B06140E7B4663FBD721E20FFFFFF00FFFFFF00C67B
|
||||||
|
2620E8B86F3FE6B46C40C57A2533C2782200BF752000C1762100C67B2699C57A
|
||||||
|
25CCC57A25CCC57A25CCC57A25CCC57A25CCC67B2699FFFFFF00FFFFFF00CD82
|
||||||
|
2A25E6B16654E8B5706CD8984478CE832B32CF842C00CB802800CC81295CCD82
|
||||||
|
2ACCF3CD84FFECBD77FFECBD77FFF0C57EFFCD822ACCFFFFFF00FFFFFF00D489
|
||||||
|
3019E2A7554EEDBC766DEEBE7491D4893088D58A314AD98E3300D3882F00D489
|
||||||
|
3094D48930CCF4CD84FFEAB772FFF1C67EFFD48930CCFFFFFF00FFFFFF00DA8F
|
||||||
|
3406DD943A43F8D2896DF4C57D90F4C77AB2E5A852BADB9034C1DB9034CCE5A8
|
||||||
|
52DCF7CD85FFF2C27AFFF8D389FFF7CD85FFDB9034CCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E0953919E49E435FFCD88D90FACF85B4FBD086D6FCD489F1FCD489FFFBD0
|
||||||
|
86FFFACF85FFFBD389FFE19639CCFEDD92FFE19639CCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E1963900E59A3D22E79F4378F1B964A6FACF80CFFEDA8EF1FEDA8EFFFACF
|
||||||
|
81F5F1BB65E3E79E42BFE59A3D85E59A3DCCE59A3DCCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E1963900E59A3D00E89D3F10E99E404DE99E408CE99E40C1E99E40CCE99E
|
||||||
|
40A6E99E406CE89D3F1AE69B3D00E99E405CE99E4099FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||||
|
}
|
||||||
ImageIndex = 16
|
ImageIndex = 16
|
||||||
ShortCut = 16466
|
ShortCut = 16466
|
||||||
OnClick = mbRefreshClick
|
OnClick = mbRefreshClick
|
||||||
|
119
dmain.pas
119
dmain.pas
@ -5,8 +5,8 @@ unit dMain;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Controls, Menus, Forms, PopupNotifier,
|
Classes, SysUtils, FileUtil, Controls, Menus, Forms, PopupNotifier, Dialogs,
|
||||||
VirtualTrees, uPackage, uPackageList, fOptions;
|
VirtualTrees, uPackage, uPackageList, fOptions, uOptions;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -47,13 +47,13 @@ type
|
|||||||
procedure mbOptionsPkgClick(Sender: TObject);
|
procedure mbOptionsPkgClick(Sender: TObject);
|
||||||
procedure mbRefreshClick(Sender: TObject);
|
procedure mbRefreshClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
// Форма настроек
|
||||||
|
fmOptions: TfmOptions;
|
||||||
// Подготовка директорий
|
// Подготовка директорий
|
||||||
procedure PrepareDirs();
|
procedure PrepareDirs();
|
||||||
// Подготовка списков пакетов
|
// Подготовка списков пакетов
|
||||||
procedure PreparePackages();
|
procedure PreparePackageLists();
|
||||||
public
|
public
|
||||||
{ Публичные переменные, которые доступны во всех юнитах с подключенным uses ..., dMain }
|
|
||||||
|
|
||||||
// путь к файлу ABTool.exe
|
// путь к файлу ABTool.exe
|
||||||
ABToolExePath: String;
|
ABToolExePath: String;
|
||||||
// путь к директории ABTool
|
// путь к директории ABTool
|
||||||
@ -65,11 +65,13 @@ type
|
|||||||
// путь к директории ABTool\Logs
|
// путь к директории ABTool\Logs
|
||||||
ABToolLogPath: String;
|
ABToolLogPath: String;
|
||||||
// Список объектов пакетов программ для установки
|
// Список объектов пакетов программ для установки
|
||||||
SoftPackages: TPackageList;
|
SoftPackages: TPackageList;
|
||||||
// Список объектов пакетов утилит для запуска
|
// Список объектов пакетов утилит для запуска
|
||||||
ToolsPackages: TPackageList;
|
ToolsPackages: TPackageList;
|
||||||
// Установка состояния отметки для всех корневых нод указанного дерева
|
// Установка состояния отметки для всех корневых нод указанного дерева
|
||||||
procedure SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
procedure SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
||||||
|
// Показ формы настроек на указанной странице и возврат модального результата
|
||||||
|
function CallOptionsForm(APageIndex: byte = 0): TModalResult;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -82,7 +84,7 @@ uses fMain;
|
|||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
{ TdmMain }
|
{ TdmMain }
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Конструктор: TdmMain.Create()
|
Конструктор: TdmMain.Create()
|
||||||
Назначение: Создание датамодуля, подготовка путей и списков пакетов
|
Назначение: Создание датамодуля, подготовка путей и списков пакетов
|
||||||
@ -90,29 +92,20 @@ uses fMain;
|
|||||||
procedure TdmMain.DataModuleCreate(Sender: TObject);
|
procedure TdmMain.DataModuleCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
PrepareDirs();
|
PrepareDirs();
|
||||||
PreparePackages();
|
PreparePackageLists();
|
||||||
|
TOptions.Create(dmMain.ABToolDataPath + '\abtool.ini');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TdmMain.mbAboutClick(Sender: TObject);
|
|
||||||
var
|
|
||||||
fmOptions: TfmOptions;
|
|
||||||
begin
|
|
||||||
fmOptions := TfmOptions.Create(fmMain);
|
|
||||||
fmOptions.PageControl.ActivePageIndex := 2;
|
|
||||||
fmOptions.ShowModal;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Конструктор: TdmMain.SetVSTCheckState()
|
Конструктор: TdmMain.SetVSTCheckState()
|
||||||
Назначение: Установка состояния отметки для всех корневых нод указанного дерева
|
Назначение: Установка состояния отметки для всех корневых нод указанного дерева
|
||||||
Вх. параметры:
|
Вх. параметры:
|
||||||
AVST: TBaseVirtualTree - дерево
|
AVST: TBaseVirtualTree - дерево
|
||||||
AState: boolean - состояние отметок: TRUE выбрать все, FALSE снять выбор со всех
|
AState: boolean - состояние отметок: TRUE выбрать все, FALSE снять выбор со всех
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TdmMain.SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
procedure TdmMain.SetVSTCheckState(AVST: TBaseVirtualTree; AState: boolean);
|
||||||
var
|
var
|
||||||
Node: PVirtualNode;
|
Node: PVirtualNode;
|
||||||
|
|
||||||
// Установка состояния отметки ноды-родителя дочерним нодам
|
// Установка состояния отметки ноды-родителя дочерним нодам
|
||||||
procedure CheckChildNodes(ANode: PVirtualNode);
|
procedure CheckChildNodes(ANode: PVirtualNode);
|
||||||
@ -147,23 +140,23 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Конструктор: TdmMain.mbCheckAllClick()
|
Конструктор: TdmMain.mbCheckAllClick()
|
||||||
Назначение: Обработка клика п. меню "Выбрать всё"
|
Назначение: Обработка клика п. меню "Выбрать всё"
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TdmMain.mbCheckAllClick(Sender: TObject);
|
procedure TdmMain.mbCheckAllClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SetVSTCheckState(fmMain.vstSoftPkgContents, true);
|
SetVSTCheckState(fmMain.vstSoftPkgContents, true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Конструктор: TdmMain.mbCheckNoneClick()
|
Конструктор: TdmMain.mbCheckNoneClick()
|
||||||
Назначение: Обработка клика п. меню "Снять выбор"
|
Назначение: Обработка клика п. меню "Снять выбор"
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TdmMain.mbCheckNoneClick(Sender: TObject);
|
procedure TdmMain.mbCheckNoneClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SetVSTCheckState(fmMain.vstSoftPkgContents, false);
|
SetVSTCheckState(fmMain.vstSoftPkgContents, false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TdmMain.mbCollapseTreeClick()
|
Процедура: TdmMain.mbCollapseTreeClick()
|
||||||
Назначение: Сворачивание дерева на активной вкладке главного окна
|
Назначение: Сворачивание дерева на активной вкладке главного окна
|
||||||
@ -199,9 +192,9 @@ begin
|
|||||||
1: fmMain.btnToolsPkgReload.Click;
|
1: fmMain.btnToolsPkgReload.Click;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TdmMain.PreparePackages()
|
Процедура: TdmMain.PrepareDirs()
|
||||||
Назначение: Подготовка директорий
|
Назначение: Подготовка директорий
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TdmMain.PrepareDirs();
|
procedure TdmMain.PrepareDirs();
|
||||||
@ -218,34 +211,64 @@ begin
|
|||||||
if not DirectoryExists(ABToolLogPath) then
|
if not DirectoryExists(ABToolLogPath) then
|
||||||
ForceDirectories(ABToolLogPath);
|
ForceDirectories(ABToolLogPath);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TdmMain.PreparePackages()
|
Процедура: TdmMain.PreparePackageLists()
|
||||||
Назначение: Подготовка списков пакетов
|
Назначение: Подготовка списков пакетов
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TdmMain.PreparePackages();
|
procedure TdmMain.PreparePackageLists();
|
||||||
begin
|
begin
|
||||||
SoftPackages := TPackageList.Create;
|
SoftPackages := TPackageList.Create;
|
||||||
SoftPackages.Load(ptSoft);
|
SoftPackages.Load(ptSoft);
|
||||||
ToolsPackages := TPackageList.Create;
|
ToolsPackages := TPackageList.Create;
|
||||||
ToolsPackages.Load(ptTools);
|
ToolsPackages.Load(ptTools);
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TdmMain.mbOptionsMainClick(Sender: TObject);
|
|
||||||
var
|
|
||||||
fmOptions: TfmOptions;
|
|
||||||
begin
|
|
||||||
fmOptions := TfmOptions.Create(fmMain);
|
|
||||||
fmOptions.ShowModal;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TdmMain.mbOptionsPkgClick(Sender: TObject);
|
{------------------------------------------------------------------------------
|
||||||
var
|
Функция: TdmMain.CallOptionsForm()
|
||||||
fmOptions: TfmOptions;
|
Назначение: Показ формы настроек на указанной странице и возврат модального
|
||||||
|
результата
|
||||||
|
Возвращает: TModalResult
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TdmMain.CallOptionsForm(APageIndex: byte = 0): TModalResult;
|
||||||
begin
|
begin
|
||||||
fmOptions := TfmOptions.Create(fmMain);
|
if fmOptions = nil then
|
||||||
fmOptions.PageControl.ActivePageIndex := 1;
|
fmOptions := TfmOptions.Create(fmMain);
|
||||||
fmOptions.ShowModal;
|
fmOptions.PageControl.ActivePageIndex := APageIndex;
|
||||||
|
Result := fmOptions.ShowModal;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TdmMain.mbOptionsMainClick()
|
||||||
|
Назначение: Обработка клика п. меню "Настройки - Основные..."
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TdmMain.mbOptionsMainClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
CallOptionsForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TdmMain.mbOptionsPkgClick()
|
||||||
|
Назначение: Обработка клика п. меню "Настройки - Управление пакетами..."
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TdmMain.mbOptionsPkgClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
case CallOptionsForm(1) of
|
||||||
|
mrOK: ;//ShowMessage('mrOK');
|
||||||
|
mrClose: ;//ShowMessage('mrClose');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TdmMain.mbAboutClick()
|
||||||
|
Назначение: Обработка клика п. меню "Помощь - О программе..."
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TdmMain.mbAboutClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
case CallOptionsForm(2) of
|
||||||
|
mrOK: ;//ShowMessage('mrOK');
|
||||||
|
mrClose: ;//ShowMessage('mrClose');
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
object fmMain: TfmMain
|
object fmMain: TfmMain
|
||||||
Left = 301
|
Left = 1513
|
||||||
Height = 450
|
Height = 450
|
||||||
Top = 108
|
Top = 182
|
||||||
Width = 350
|
Width = 350
|
||||||
BorderIcons = [biSystemMenu, biMinimize]
|
BorderIcons = [biSystemMenu, biMinimize]
|
||||||
Caption = 'ABTool'
|
Caption = 'ABTool'
|
||||||
|
172
foptions.lfm
172
foptions.lfm
@ -1,7 +1,7 @@
|
|||||||
object fmOptions: TfmOptions
|
object fmOptions: TfmOptions
|
||||||
Left = 656
|
Left = 1451
|
||||||
Height = 450
|
Height = 450
|
||||||
Top = 109
|
Top = 164
|
||||||
Width = 350
|
Width = 350
|
||||||
BorderIcons = [biSystemMenu]
|
BorderIcons = [biSystemMenu]
|
||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
@ -3207,13 +3207,15 @@ object fmOptions: TfmOptions
|
|||||||
71FE000F5EFF000773FE000387FE800176FD80002DC38001693C0003D1190007
|
71FE000F5EFF000773FE000387FE800176FD80002DC38001693C0003D1190007
|
||||||
36A3800F57F7800F8AFFC00F76FFC01F8BFFE03FBEFFF47FBDFF
|
36A3800F57F7800F8AFFC00F76FFC01F8BFFE03FBEFFF47FBDFF
|
||||||
}
|
}
|
||||||
OnCreate = FormCreate
|
OnClose = FormClose
|
||||||
|
OnShow = FormShow
|
||||||
Position = poMainFormCenter
|
Position = poMainFormCenter
|
||||||
|
ShowHint = True
|
||||||
ShowInTaskBar = stNever
|
ShowInTaskBar = stNever
|
||||||
LCLVersion = '1.8.4.0'
|
LCLVersion = '1.8.4.0'
|
||||||
object PageControl: TPageControl
|
object PageControl: TPageControl
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 416
|
Height = 412
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 350
|
Width = 350
|
||||||
ActivePage = tabCommon
|
ActivePage = tabCommon
|
||||||
@ -3223,30 +3225,30 @@ object fmOptions: TfmOptions
|
|||||||
TabWidth = 86
|
TabWidth = 86
|
||||||
object tabCommon: TTabSheet
|
object tabCommon: TTabSheet
|
||||||
Caption = 'Общие'
|
Caption = 'Общие'
|
||||||
ClientHeight = 390
|
ClientHeight = 386
|
||||||
ClientWidth = 342
|
ClientWidth = 342
|
||||||
object grpOptInstall: TGroupBox
|
object grpOptInstall: TGroupBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 171
|
Height = 159
|
||||||
Top = 131
|
Top = 149
|
||||||
Width = 332
|
Width = 332
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 5
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Вкладка «Установка»'
|
Caption = 'Вкладка «Установка»'
|
||||||
ClientHeight = 153
|
ClientHeight = 141
|
||||||
ClientWidth = 328
|
ClientWidth = 328
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object cbChkExitCodes: TCheckBox
|
object cbChkExitCodes: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 5
|
Top = 4
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Немедленно сообщать о коде возврата <> 0'
|
Caption = 'Немедленно сообщать о коде возврата <> 0'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -3254,12 +3256,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbDntUnChkItems: TCheckBox
|
object cbDntUnChkItems: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 29
|
Top = 27
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Не снимать отметку с чекбокса при коде возврата <> 0'
|
Caption = 'Не снимать отметку с чекбокса при коде возврата <> 0'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@ -3267,12 +3269,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbShowProgress: TCheckBox
|
object cbShowProgress: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 77
|
Top = 73
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Отображать общий ход установки программ'
|
Caption = 'Отображать общий ход установки программ'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
@ -3280,12 +3282,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbColorSoftTree: TCheckBox
|
object cbColorSoftTree: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 53
|
Top = 50
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Раскрашивать список программ после установки'
|
Caption = 'Раскрашивать список программ после установки'
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
@ -3293,12 +3295,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbQuietREG: TCheckBox
|
object cbQuietREG: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 101
|
Top = 96
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Тихий импорт REG-файлов'
|
Caption = 'Тихий импорт REG-файлов'
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@ -3306,12 +3308,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbExpandSoft: TCheckBox
|
object cbExpandSoft: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 125
|
Top = 119
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Раскрывать дерево после загрузки пакета'
|
Caption = 'Раскрывать дерево после загрузки пакета'
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
@ -3319,26 +3321,26 @@ object fmOptions: TfmOptions
|
|||||||
end
|
end
|
||||||
object grpOptTools: TGroupBox
|
object grpOptTools: TGroupBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 73
|
Height = 67
|
||||||
Top = 307
|
Top = 313
|
||||||
Width = 332
|
Width = 332
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 5
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Вкладка «Утилиты»'
|
Caption = 'Вкладка «Утилиты»'
|
||||||
ClientHeight = 55
|
ClientHeight = 49
|
||||||
ClientWidth = 328
|
ClientWidth = 328
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object cbHideOnTool: TCheckBox
|
object cbHideOnTool: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 5
|
Top = 4
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Скрывать главное окно при запуске утилит'
|
Caption = 'Скрывать главное окно при запуске утилит'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -3346,12 +3348,12 @@ object fmOptions: TfmOptions
|
|||||||
object cbExpandTools: TCheckBox
|
object cbExpandTools: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 29
|
Top = 27
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Раскрывать дерево после загрузки пакета'
|
Caption = 'Раскрывать дерево после загрузки пакета'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@ -3359,25 +3361,25 @@ object fmOptions: TfmOptions
|
|||||||
end
|
end
|
||||||
object grpOptMainform: TGroupBox
|
object grpOptMainform: TGroupBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 121
|
Height = 111
|
||||||
Top = 5
|
Top = 33
|
||||||
Width = 332
|
Width = 332
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 5
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Главное окно'
|
Caption = 'Главное окно'
|
||||||
ClientHeight = 103
|
ClientHeight = 93
|
||||||
ClientWidth = 328
|
ClientWidth = 328
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object cbOnTop: TCheckBox
|
object cbOnTop: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 77
|
Top = 73
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Поверх всех окон'
|
Caption = 'Поверх всех окон'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -3385,23 +3387,23 @@ object fmOptions: TfmOptions
|
|||||||
object cbDrawOutlines: TCheckBox
|
object cbDrawOutlines: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 53
|
Top = 50
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Рисовать линии при отрисовке деревьев'
|
Caption = 'Рисовать в деревьях линии уровней вложенности'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object cbShowPkgDesc: TCheckBox
|
object cbShowPkgDesc: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 29
|
Top = 27
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Показывать описания пакетов'
|
Caption = 'Показывать описания пакетов'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
@ -3409,16 +3411,45 @@ object fmOptions: TfmOptions
|
|||||||
object cbScreenSnap: TCheckBox
|
object cbScreenSnap: TCheckBox
|
||||||
Left = 5
|
Left = 5
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 5
|
Top = 4
|
||||||
Width = 318
|
Width = 318
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 4
|
||||||
BorderSpacing.Right = 5
|
BorderSpacing.Right = 5
|
||||||
Caption = 'Прилипание к краям экрана'
|
Caption = 'Прилипание к краям экрана'
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object pnLanguage: TPanel
|
||||||
|
Left = 0
|
||||||
|
Height = 28
|
||||||
|
Top = 0
|
||||||
|
Width = 342
|
||||||
|
Align = alTop
|
||||||
|
BevelOuter = bvNone
|
||||||
|
ClientHeight = 28
|
||||||
|
ClientWidth = 342
|
||||||
|
TabOrder = 3
|
||||||
|
object cmbLanguage: TComboBox
|
||||||
|
Left = 108
|
||||||
|
Height = 21
|
||||||
|
Top = 4
|
||||||
|
Width = 230
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
ItemHeight = 13
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 8
|
||||||
|
Height = 13
|
||||||
|
Top = 8
|
||||||
|
Width = 83
|
||||||
|
Caption = 'Язык / Language'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object tabPackages: TTabSheet
|
object tabPackages: TTabSheet
|
||||||
Caption = 'Пакеты'
|
Caption = 'Пакеты'
|
||||||
@ -3427,7 +3458,6 @@ object fmOptions: TfmOptions
|
|||||||
Caption = 'О программе'
|
Caption = 'О программе'
|
||||||
ClientHeight = 390
|
ClientHeight = 390
|
||||||
ClientWidth = 342
|
ClientWidth = 342
|
||||||
OnContextPopup = tabAboutContextPopup
|
|
||||||
object imgLogo: TImage
|
object imgLogo: TImage
|
||||||
Left = 147
|
Left = 147
|
||||||
Height = 48
|
Height = 48
|
||||||
@ -3720,18 +3750,18 @@ object fmOptions: TfmOptions
|
|||||||
end
|
end
|
||||||
object btnClose: TButton
|
object btnClose: TButton
|
||||||
Left = 272
|
Left = 272
|
||||||
Height = 25
|
Height = 29
|
||||||
Top = 420
|
Top = 416
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Закрыть'
|
Caption = 'Закрыть'
|
||||||
OnClick = btnCloseClick
|
ModalResult = 11
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object btnSave: TButton
|
object btnSave: TButton
|
||||||
Left = 109
|
Left = 109
|
||||||
Height = 25
|
Height = 29
|
||||||
Top = 420
|
Top = 416
|
||||||
Width = 132
|
Width = 132
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
Caption = 'Сохранить'
|
Caption = 'Сохранить'
|
||||||
@ -3741,15 +3771,53 @@ object fmOptions: TfmOptions
|
|||||||
Font.Pitch = fpVariable
|
Font.Pitch = fpVariable
|
||||||
Font.Quality = fqDraft
|
Font.Quality = fqDraft
|
||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
|
ModalResult = 1
|
||||||
|
OnClick = btnSaveClick
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
object btnSetDefault: TButton
|
object btnSetDefault: TSpeedButton
|
||||||
Left = 4
|
Left = 8
|
||||||
Height = 25
|
Height = 24
|
||||||
Top = 420
|
Hint = 'Установить настройки по умолчанию'
|
||||||
Width = 75
|
Top = 418
|
||||||
Caption = 'Сброс'
|
Width = 24
|
||||||
TabOrder = 3
|
Flat = True
|
||||||
|
Glyph.Data = {
|
||||||
|
36040000424D3604000000000000360000002800000010000000100000000100
|
||||||
|
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00994E
|
||||||
|
0399994E035C9B500400994E031A984D026C984D02A6984D02CC984D02C1984D
|
||||||
|
028C984D024D994E03109C510500A2570A00A65B0D00FFFFFF00FFFFFF009C51
|
||||||
|
05CC9C5105CC9C510585A35806BFC8841AE3EAA71FF5FCB920FFFCB920F1EAA6
|
||||||
|
1FCFC78219A6A35909789D520622A2570A00A65B0D00FFFFFF00FFFFFF00A257
|
||||||
|
0ACCF9BF40FFA2570ACCF7B52AFFF6B01CFFF7B11EFFF8B527FFF8B527F1F7B1
|
||||||
|
1ED6F6B01CB4F8BA3490AB62105FA3580B19A65B0D00FFFFFF00FFFFFF00A85D
|
||||||
|
0ECCF2B339FFF3B844FFEEA824FFF2B339FFC37E23DCA85D0ECCA85D0EC1C27E
|
||||||
|
22BAE7A937B2EFAB2A90F3B8436DAD631243A95E0F06FFFFFF00FFFFFF00AF64
|
||||||
|
14CCECB149FFE6A334FFEEB752FFAF6414CCAF641494AD621200AA5F0F00AE63
|
||||||
|
134AAF641488E4A74491E8A83B6DCA88314EAF641419FFFFFF00FFFFFF00B66B
|
||||||
|
19CCEBB861FFE7B057FFE7B057FFEEBF6AFFB66B19CCB76C1A5CB56A1800AF64
|
||||||
|
1400B56A1932C7843178E3A84E6CDCA24C54B66B1925FFFFFF00FFFFFF00BD72
|
||||||
|
1E99BE731FCCBE731FCCBE731FCCBE731FCCBE731FCCBD721E99C0752000C378
|
||||||
|
2300BD721E00BE731F33E5B06140E7B4663FBD721E20FFFFFF00FFFFFF00C67B
|
||||||
|
2620E8B86F3FE6B46C40C57A2533C2782200BF752000C1762100C67B2699C57A
|
||||||
|
25CCC57A25CCC57A25CCC57A25CCC57A25CCC67B2699FFFFFF00FFFFFF00CD82
|
||||||
|
2A25E6B16654E8B5706CD8984478CE832B32CF842C00CB802800CC81295CCD82
|
||||||
|
2ACCF3CD84FFECBD77FFECBD77FFF0C57EFFCD822ACCFFFFFF00FFFFFF00D489
|
||||||
|
3019E2A7554EEDBC766DEEBE7491D4893088D58A314AD98E3300D3882F00D489
|
||||||
|
3094D48930CCF4CD84FFEAB772FFF1C67EFFD48930CCFFFFFF00FFFFFF00DA8F
|
||||||
|
3406DD943A43F8D2896DF4C57D90F4C77AB2E5A852BADB9034C1DB9034CCE5A8
|
||||||
|
52DCF7CD85FFF2C27AFFF8D389FFF7CD85FFDB9034CCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E0953919E49E435FFCD88D90FACF85B4FBD086D6FCD489F1FCD489FFFBD0
|
||||||
|
86FFFACF85FFFBD389FFE19639CCFEDD92FFE19639CCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E1963900E59A3D22E79F4378F1B964A6FACF80CFFEDA8EF1FEDA8EFFFACF
|
||||||
|
81F5F1BB65E3E79E42BFE59A3D85E59A3DCCE59A3DCCFFFFFF00FFFFFF00DC91
|
||||||
|
3500E1963900E59A3D00E89D3F10E99E404DE99E408CE99E40C1E99E40CCE99E
|
||||||
|
40A6E99E406CE89D3F1AE69B3D00E99E405CE99E4099FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||||
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
77
foptions.pas
77
foptions.pas
@ -5,15 +5,14 @@ unit fOptions;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||||
ComCtrls, ExtCtrls, StdCtrls, Menus, Types;
|
ComCtrls, ExtCtrls, StdCtrls, Menus, Buttons, uOptions;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TfmOptions }
|
{ TfmOptions }
|
||||||
|
|
||||||
TfmOptions = class(TForm)
|
TfmOptions = class(TForm)
|
||||||
btnSetDefault: TButton;
|
|
||||||
btnSave: TButton;
|
btnSave: TButton;
|
||||||
btnClose: TButton;
|
btnClose: TButton;
|
||||||
btnCheckUpdates: TButton;
|
btnCheckUpdates: TButton;
|
||||||
@ -33,6 +32,7 @@ type
|
|||||||
cbHideOnTool: TCheckBox;
|
cbHideOnTool: TCheckBox;
|
||||||
cbDrawOutlines: TCheckBox;
|
cbDrawOutlines: TCheckBox;
|
||||||
cbScreenSnap: TCheckBox;
|
cbScreenSnap: TCheckBox;
|
||||||
|
cmbLanguage: TComboBox;
|
||||||
grpOptMainform: TGroupBox;
|
grpOptMainform: TGroupBox;
|
||||||
grpOptInstall: TGroupBox;
|
grpOptInstall: TGroupBox;
|
||||||
grpOptTools: TGroupBox;
|
grpOptTools: TGroupBox;
|
||||||
@ -40,18 +40,20 @@ type
|
|||||||
labAboutTitle: TLabel;
|
labAboutTitle: TLabel;
|
||||||
labCopyright: TLabel;
|
labCopyright: TLabel;
|
||||||
labDescription: TLabel;
|
labDescription: TLabel;
|
||||||
|
Label1: TLabel;
|
||||||
mmLicenseText: TMemo;
|
mmLicenseText: TMemo;
|
||||||
PageControl: TPageControl;
|
PageControl: TPageControl;
|
||||||
|
pnLanguage: TPanel;
|
||||||
|
btnSetDefault: TSpeedButton;
|
||||||
tabCommon: TTabSheet;
|
tabCommon: TTabSheet;
|
||||||
tabPackages: TTabSheet;
|
tabPackages: TTabSheet;
|
||||||
tabAbout: TTabSheet;
|
tabAbout: TTabSheet;
|
||||||
tabLicense: TTabSheet;
|
tabLicense: TTabSheet;
|
||||||
procedure btnCloseClick(Sender: TObject);
|
procedure btnSaveClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
procedure tabAboutContextPopup(Sender: TObject; MousePos: TPoint;
|
procedure FormShow(Sender: TObject);
|
||||||
var Handled: Boolean);
|
|
||||||
private
|
private
|
||||||
|
procedure ResetControlls;
|
||||||
public
|
public
|
||||||
|
|
||||||
end;
|
end;
|
||||||
@ -65,20 +67,65 @@ implementation
|
|||||||
|
|
||||||
{ TfmOptions }
|
{ TfmOptions }
|
||||||
|
|
||||||
procedure TfmOptions.FormCreate(Sender: TObject);
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmOptions.btnSaveClick()
|
||||||
|
Назначение: Закрытие формы настроек и возврат модального результата при клике
|
||||||
|
по кнопке "Сохранить"
|
||||||
|
Описание: Закрытие формы происходит автоматически благодаря свойству
|
||||||
|
ModalResult = mrOK, заданному кнопке в инспекторе объектов.
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmOptions.btnSaveClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
//TODO сохранение настроек
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfmOptions.btnCloseClick(Sender: TObject);
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmOptions.FormClose()
|
||||||
|
Назначение: Закрытие формы при её закрытии через кнопку в заголовке и возврат
|
||||||
|
модального результата
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmOptions.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
begin
|
begin
|
||||||
Self.Destroy;
|
ModalResult := mrClose;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfmOptions.tabAboutContextPopup(Sender: TObject; MousePos: TPoint;
|
{------------------------------------------------------------------------------
|
||||||
var Handled: Boolean);
|
Процедура: TfmOptions.FormShow()
|
||||||
|
Назначение: Показ окна настроек
|
||||||
|
Описание: Форма настроек создаётся однажды при её первом вызове. При закрытии
|
||||||
|
она не уничтожается. Она может быть закрыта без сохранения настроек. При
|
||||||
|
повторном открытии окна контроллы должны принять состояние, соответствущее
|
||||||
|
текущим (при запуске или прошлом сохранении) настройкам. В противном случае,
|
||||||
|
повторное открытие окна отобразит прошлые несохранённые изменения - это
|
||||||
|
введёт пользователя в заблуждение и он примет эти настройки как текущие.
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmOptions.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
ResetControlls;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmOptions.ResetControlls()
|
||||||
|
Назначение: Сброс состояния контроллов в сооответствии с текущими настройками
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmOptions.ResetControlls;
|
||||||
|
begin
|
||||||
|
cmbLanguage.Items := GlobalOptions.ReadAvailableLocales(false);
|
||||||
|
|
||||||
|
cbScreenSnap.Checked := GlobalOptions.ScreenSnap;
|
||||||
|
cbShowPkgDesc.Checked := GlobalOptions.ShowPkgDesc;
|
||||||
|
cbDrawOutlines.Checked := GlobalOptions.DrawOutlines;
|
||||||
|
cbOnTop.Checked := GlobalOptions.OnTop;
|
||||||
|
|
||||||
|
cbChkExitCodes.Checked := GlobalOptions.ChkExitCodes;
|
||||||
|
cbDntUnChkItems.Checked := GlobalOptions.DntUnChkItems;
|
||||||
|
cbColorSoftTree.Checked := GlobalOptions.ColorSoftTree;
|
||||||
|
cbShowProgress.Checked := GlobalOptions.ShowProgress;
|
||||||
|
cbQuietREG.Checked := GlobalOptions.QuietREG;
|
||||||
|
cbExpandSoft.Checked := GlobalOptions.ExpandSoft;
|
||||||
|
|
||||||
|
cbHideOnTool.Checked := GlobalOptions.HideOnTool;
|
||||||
|
cbExpandTools.Checked := GlobalOptions.ExpandTools;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -5,16 +5,19 @@ unit uFileUtils;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Types, uPackage;
|
Classes, SysUtils, FileUtil, uPackage;
|
||||||
|
|
||||||
// Получение списка файлов в директории
|
// Получение списка файлов в директории
|
||||||
function GetFileList(Path, FileMask: String; FullPaths: Boolean = True): TStringList;
|
function GetFileList(APath, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||||
|
|
||||||
// Получение списка всех файлов внутри директории ABTool\
|
// Получение списка всех файлов внутри директории ABTool
|
||||||
function GetABToolFileList(SubDir, FileMask: String; FullPaths: Boolean = True): TStringList;
|
function GetABToolFileList(ASubDir, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||||
|
|
||||||
// Получение списка всех файлов пакетов
|
// Получение списка всех файлов пакетов
|
||||||
function GetPackagesIniFileList(PackageType: TPackageType; FullPaths: Boolean = True): TStringList;
|
function GetPackagesIniFileList(APackageType: TPackageType; AFullPaths: Boolean = True): TStringList;
|
||||||
|
|
||||||
|
// Получение списка всех файлов локализаций
|
||||||
|
function GetLocalesIniFileList(AFullPaths: Boolean = True): TStringList;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@ -22,27 +25,27 @@ implementation
|
|||||||
Функция: GetFileList
|
Функция: GetFileList
|
||||||
Назначение: Получение списка файлов в директории
|
Назначение: Получение списка файлов в директории
|
||||||
Вх. параметры:
|
Вх. параметры:
|
||||||
Path: string - путь к директории, список файлов которой нужно получить
|
APath: string - путь к директории, список файлов которой нужно получить
|
||||||
FileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
AFileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||||
файлов (false). По умолчанию true.
|
файлов (false). По умолчанию true.
|
||||||
Возвращает:
|
Возвращает:
|
||||||
TStringList - список строк с полными путями или только с именами файлов
|
TStringList - список строк с полными путями или только с именами файлов
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function GetFileList(Path, FileMask: String; FullPaths: Boolean = True): TStringList;
|
function GetFileList(APath, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||||
var
|
var
|
||||||
SearchRec: TSearchRec;
|
SearchRec: TSearchRec;
|
||||||
ResultLines: TStringList;
|
ResultLines: TStringList;
|
||||||
begin
|
begin
|
||||||
ResultLines := TStringList.Create;
|
ResultLines := TStringList.Create;
|
||||||
Path := IncludeTrailingPathDelimiter(Path);
|
APath := IncludeTrailingPathDelimiter(APath);
|
||||||
if FindFirst(Path + FileMask, faNormal, SearchRec) = 0 then
|
if FindFirst(APath + AFileMask, faNormal, SearchRec) = 0 then
|
||||||
begin
|
begin
|
||||||
repeat
|
repeat
|
||||||
if (SearchRec.Attr <> faDirectory) then
|
if (SearchRec.Attr <> faDirectory) then
|
||||||
begin
|
begin
|
||||||
if FullPaths then
|
if AFullPaths then
|
||||||
ResultLines.Add(Path + SearchRec.Name)
|
ResultLines.Add(APath + SearchRec.Name)
|
||||||
else
|
else
|
||||||
ResultLines.Add(SearchRec.Name);
|
ResultLines.Add(SearchRec.Name);
|
||||||
end;
|
end;
|
||||||
@ -56,37 +59,53 @@ end;
|
|||||||
Функция: GetABToolFileList
|
Функция: GetABToolFileList
|
||||||
Назначение: Получение списка всех файлов внутри директории ABTool\
|
Назначение: Получение списка всех файлов внутри директории ABTool\
|
||||||
Вх. параметры:
|
Вх. параметры:
|
||||||
SubDir: string - имя директории внутри ABTool\
|
ASubDir: string - имя директории внутри ABTool\
|
||||||
FileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
AFileMask: string - маска файлов, по которой нужно отфильтровать список файлов
|
||||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||||
файлов (false). По умолчанию true.
|
файлов (false). По умолчанию true.
|
||||||
Возвращает:
|
Возвращает:
|
||||||
TStringList - список строк с полными путями или только с именами файлов пакетов
|
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function GetABToolFileList(SubDir, FileMask: String; FullPaths: Boolean = True): TStringList;
|
function GetABToolFileList(ASubDir, AFileMask: String; AFullPaths: Boolean = True): TStringList;
|
||||||
begin
|
begin
|
||||||
Result := GetFileList(ExtractFilePath(ParamStr(0)) + 'ABTool\' + SubDir, FileMask, FullPaths);
|
Result := GetFileList(ExtractFilePath(ParamStr(0)) + 'ABTool\' + ASubDir, AFileMask, AFullPaths);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Функция: GetPackagesIniFileList
|
Функция: GetPackagesIniFileList
|
||||||
Назначение: Получение спискавсех файлов пакетов
|
Назначение: Получение списка всех файлов пакетов
|
||||||
Вх. параметры:
|
Вх. параметры:
|
||||||
PackageType: TPackageType - тип пакета: ptSoft либо ptTools
|
APackageType: TPackageType - тип пакета: ptSoft либо ptTools
|
||||||
FullPaths: boolean - возвращать полные пути (true) или только имена
|
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||||
|
файлов (false). По умолчанию true.
|
||||||
|
Возвращает:
|
||||||
|
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||||
|
Исключения:
|
||||||
|
TException - при попытке передать любой другой тип пакета
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function GetPackagesIniFileList(APackageType: TPackageType; AFullPaths: Boolean = True): TStringList;
|
||||||
|
begin
|
||||||
|
case (APackageType) of
|
||||||
|
ptSoft: Result := GetABToolFileList('Packages', 'soft.*.ini', AFullPaths);
|
||||||
|
ptTools: Result := GetABToolFileList('Packages', 'tools.*.ini', AFullPaths);
|
||||||
|
else raise Exception.Create('GetPackagesIniFileList(): передан неверный тип пакета');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Функция: GetPackagesIniFileList
|
||||||
|
Назначение: Получение списка всех файлов локализаций
|
||||||
|
Вх. параметры:
|
||||||
|
AFullPaths: boolean - возвращать полные пути (true) или только имена
|
||||||
файлов (false). По умолчанию true.
|
файлов (false). По умолчанию true.
|
||||||
Возвращает:
|
Возвращает:
|
||||||
TStringList - список строк с полными путями или только с именами файлов пакетов
|
TStringList - список строк с полными путями или только с именами файлов пакетов
|
||||||
Исключения:
|
Исключения:
|
||||||
TException - при попытке передать ptUnknown
|
TException - при попытке передать ptUnknown
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function GetPackagesIniFileList(PackageType: TPackageType; FullPaths: Boolean = True): TStringList;
|
function GetLocalesIniFileList(AFullPaths: Boolean = True): TStringList;
|
||||||
begin
|
begin
|
||||||
case (PackageType) of
|
Result := GetABToolFileList('Languages', '*.lng', AFullPaths);
|
||||||
ptSoft: Result := GetABToolFileList('Packages', 'soft.*.ini', FullPaths);
|
|
||||||
ptTools: Result := GetABToolFileList('Packages', 'tools.*.ini', FullPaths);
|
|
||||||
ptUnknown: raise Exception.Create('GetPackagesIniFileList(): передан ptUnknown');
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
373
uoptions.pas
Normal file
373
uoptions.pas
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
unit uOptions;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, Forms, IniFiles, uFileUtils;
|
||||||
|
|
||||||
|
type
|
||||||
|
// Класс настроек
|
||||||
|
|
||||||
|
{ TOptions }
|
||||||
|
|
||||||
|
TOptions = class(TIniFile)
|
||||||
|
strict private
|
||||||
|
// Файл локализации
|
||||||
|
FLocale: string;
|
||||||
|
|
||||||
|
// Прилипание к краям экрана
|
||||||
|
FScreenSnap: Boolean;
|
||||||
|
// Показывать описания пакетов
|
||||||
|
FShowPkgDesc: Boolean;
|
||||||
|
// Рисовать в деревьях линии уровней вложенности
|
||||||
|
FDrawOutlines: Boolean;
|
||||||
|
// Поверх всех окон
|
||||||
|
FOnTop: Boolean;
|
||||||
|
|
||||||
|
// Немедленно сообщать о коде возврата <> 0
|
||||||
|
FChkExitCodes: Boolean;
|
||||||
|
// Не снимать отметку с чекбокса при коде возврата <> 0
|
||||||
|
FDntUnChkItems: Boolean;
|
||||||
|
// Раскрашивать список программ после установки
|
||||||
|
FColorSoftTree: Boolean;
|
||||||
|
// Отображать общий ход установки программ
|
||||||
|
FShowProgress: Boolean;
|
||||||
|
// Тихий импорт REG-файлов
|
||||||
|
FQuietREG: Boolean;
|
||||||
|
// Раскрывать дерево после загрузки пакета
|
||||||
|
FExpandSoft: Boolean;
|
||||||
|
|
||||||
|
// Скрывать главное окно при запуске утилит
|
||||||
|
FHideOnTool: Boolean;
|
||||||
|
// Раскрывать дерево после загрузки пакета
|
||||||
|
FExpandTools: Boolean;
|
||||||
|
|
||||||
|
// Последняя позиция по горизонтали от левого края экрана
|
||||||
|
FLeft: Integer;
|
||||||
|
// Последняя позиция по вертикали от верхнего края экрана
|
||||||
|
FTop: Integer;
|
||||||
|
// Последняя ширина
|
||||||
|
FWidth: Integer;
|
||||||
|
// Последняя высота
|
||||||
|
FHeight: Integer;
|
||||||
|
|
||||||
|
// Параметры, с которыми запушена ABTool
|
||||||
|
FCLParams: TStringList;
|
||||||
|
private
|
||||||
|
// Установка параметра локализации
|
||||||
|
procedure SetLocale(ALngFilename: string);
|
||||||
|
public
|
||||||
|
// Файл локализации
|
||||||
|
property Locale: string read FLocale write SetLocale;
|
||||||
|
|
||||||
|
// Прилипание к краям экрана
|
||||||
|
property ScreenSnap: Boolean read FScreenSnap write FScreenSnap default True;
|
||||||
|
// Показывать описания пакетов
|
||||||
|
property ShowPkgDesc: Boolean read FShowPkgDesc write FShowPkgDesc default True;
|
||||||
|
// Рисовать в деревьях линии уровней вложенности
|
||||||
|
property DrawOutlines: Boolean read FDrawOutlines write FDrawOutlines default True;
|
||||||
|
// Поверх всех окон
|
||||||
|
property OnTop: Boolean read FOnTop write FOnTop default False;
|
||||||
|
|
||||||
|
// Немедленно сообщать о коде возврата <> 0
|
||||||
|
property ChkExitCodes: Boolean read FChkExitCodes write FChkExitCodes default True;
|
||||||
|
// Не снимать отметку с чекбокса при коде возврата <> 0
|
||||||
|
property DntUnChkItems: Boolean read FDntUnChkItems write FDntUnChkItems default True;
|
||||||
|
// Раскрашивать список программ после установки
|
||||||
|
property ColorSoftTree: Boolean read FColorSoftTree write FColorSoftTree default True;
|
||||||
|
// Отображать общий ход установки программ
|
||||||
|
property ShowProgress: Boolean read FShowProgress write FShowProgress default True;
|
||||||
|
// Тихий импорт REG-файлов
|
||||||
|
property QuietREG: Boolean read FQuietREG write FQuietREG default True;
|
||||||
|
// Раскрывать дерево после загрузки пакета
|
||||||
|
property ExpandSoft: Boolean read FExpandSoft write FExpandSoft default True;
|
||||||
|
|
||||||
|
// Скрывать главное окно при запуске утилит
|
||||||
|
property HideOnTool: Boolean read FExpandSoft write FExpandSoft default False;
|
||||||
|
// Раскрывать дерево после загрузки пакета
|
||||||
|
property ExpandTools: Boolean read FExpandSoft write FExpandSoft default True;
|
||||||
|
|
||||||
|
// Последняя позиция по горизонтали от левого края экрана
|
||||||
|
property Left: Integer read FLeft write FLeft;
|
||||||
|
// Последняя позиция по вертикали от верхнего края экрана
|
||||||
|
property Top: Integer read FTop write FTop;
|
||||||
|
// Последняя ширина
|
||||||
|
property Width: Integer read FWidth write FWidth default 350;
|
||||||
|
// Последняя высота
|
||||||
|
property Height: Integer read FHeight write FHeight default 450;
|
||||||
|
|
||||||
|
// Параметры, с которыми запушена ABTool
|
||||||
|
property CLParams: TStringList read FCLParams;
|
||||||
|
// Пути ко всем доступным файлам локализаций
|
||||||
|
function ReadAvailableLocales(AFullPaths: Boolean = True): TStringList;
|
||||||
|
|
||||||
|
// Создание объекта настроек и установка настроек
|
||||||
|
constructor Create(AIniFilename: string); overload;
|
||||||
|
// Деструктор объекта настроек
|
||||||
|
destructor Destroy(); override;
|
||||||
|
// Определение наличия доп. ключей запуска
|
||||||
|
function HasCLParams: Boolean;
|
||||||
|
// Установка параметров командной строки, с которыми запущен ABTool
|
||||||
|
procedure ReadCLParams;
|
||||||
|
// Поиск ключа запуска среди всех, с которыми запущен ABTool
|
||||||
|
function FindCLParam(AParamName: string): Boolean;
|
||||||
|
// Чтение настроек
|
||||||
|
procedure Load;
|
||||||
|
|
||||||
|
end; // TOptions
|
||||||
|
|
||||||
|
var
|
||||||
|
// Настройки - глобальный объект, доступный всем модулям, сославшимся на этот
|
||||||
|
GlobalOptions: TOptions;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TOptions }
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Конструктор: TOptions.Create()
|
||||||
|
Назначение: Создание объекта настроек и установка настроек
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
constructor TOptions.Create(AIniFilename: string);
|
||||||
|
begin
|
||||||
|
if HasCLParams then
|
||||||
|
ReadCLParams;
|
||||||
|
//ReadAvailableLocales;
|
||||||
|
inherited Create(AIniFilename, [ifoStripComments, ifoStripInvalid]);
|
||||||
|
Load;
|
||||||
|
GlobalOptions := Self;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Деструктор: TOptions.Destroy()
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
destructor TOptions.Destroy();
|
||||||
|
begin
|
||||||
|
inherited Destroy();
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Функция: TOptions.HasCLParams()
|
||||||
|
Назначение: Определение наличия доп. ключей запуска
|
||||||
|
Возвращает: boolean
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TOptions.HasCLParams: Boolean;
|
||||||
|
begin
|
||||||
|
Result := ParamCount > 0;
|
||||||
|
//if FDebug then
|
||||||
|
// Log('DoesABToolHaveKeys(): '+BoolToStr(Result));
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TOptions.ReadCLParams()
|
||||||
|
Назначение: Установка параметров командной строки, с которыми запущен ABTool
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TOptions.ReadCLParams;
|
||||||
|
var
|
||||||
|
i: byte;
|
||||||
|
begin
|
||||||
|
if HasCLParams then
|
||||||
|
begin
|
||||||
|
FCLParams := TStringList.Create;
|
||||||
|
for i := 1 to ParamCount do
|
||||||
|
FCLParams.Add(Trim(LowerCase(ParamStr(i))));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Функция: TOptions.FindCLParam()
|
||||||
|
Назначение: Поиск ключа запуска среди всех, с которыми запущен ABTool
|
||||||
|
Возвращает: boolean
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TOptions.FindCLParam(AParamName: string): Boolean;
|
||||||
|
var
|
||||||
|
i: Smallint;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
if HasCLParams then
|
||||||
|
begin
|
||||||
|
for i := 0 to FCLParams.Count - 1 do
|
||||||
|
if Pos(LowerCase(AParamName), FCLParams.Strings[i]) > 0 then
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TOptions.Load()
|
||||||
|
Назначение: Чтение настроек
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TOptions.Load;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
//TODO создание дефолтного файла настроек при отсутсвии такового
|
||||||
|
//TODO создание файла настроек по умолчанию
|
||||||
|
SetLocale(ReadString('Options', 'Locale', ''));
|
||||||
|
|
||||||
|
FScreenSnap := ReadBool('Options', 'ScreenSnap', True);
|
||||||
|
FShowPkgDesc := ReadBool('Options', 'ShowPkgDesc', True);
|
||||||
|
FDrawOutlines := ReadBool('Options', 'DrawOutlines', True);
|
||||||
|
FOnTop := ReadBool('Options', 'OnTop', False);
|
||||||
|
|
||||||
|
FChkExitCodes := ReadBool('Options', 'ChkExitCodes', False);
|
||||||
|
FDntUnChkItems := ReadBool('Options', 'DntUnChkItems', True);
|
||||||
|
FColorSoftTree := ReadBool('Options', 'ColorSoftTree', True);
|
||||||
|
FShowProgress := ReadBool('Options', 'ShowProgress', True);
|
||||||
|
FQuietREG := ReadBool('Options', 'QuietREG', False);
|
||||||
|
FExpandSoft := ReadBool('Options', 'ExpandSoft', True);
|
||||||
|
|
||||||
|
FHideOnTool := ReadBool('Options', 'HideOnTool', False);
|
||||||
|
FExpandTools := ReadBool('Options', 'ExpandTools', True);
|
||||||
|
|
||||||
|
FLeft := ReadInteger('Options', 'Left', (Screen.Width div 2) - 175);
|
||||||
|
FTop := ReadInteger('Options', 'Top', (Screen.Height div 2) - 225);
|
||||||
|
FWidth := ReadInteger('Options', 'Width', 350);
|
||||||
|
FHeight := ReadInteger('Options', 'Height', 450);
|
||||||
|
except // SysErrorMessage(GetLastError)
|
||||||
|
On E: Exception do
|
||||||
|
begin
|
||||||
|
raise Exception.Create('Не удалось прочитать настройки из файла abtool.ini.');
|
||||||
|
//+ #13#10 +
|
||||||
|
//'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||||
|
//'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||||
|
//SaveOptions(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TOptions.SetLocale()
|
||||||
|
Назначение: Установка параметра локализации
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TOptions.SetLocale(ALngFilename: string);
|
||||||
|
begin
|
||||||
|
//TODO проверка существования файла локализации
|
||||||
|
FLocale := ALngFilename;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TOptions.ReadAvailableLocales()
|
||||||
|
Назначение: Получение списка всех доступных файлов локализаций
|
||||||
|
Вх. параметры:
|
||||||
|
FullPaths: boolean - возвращать полные пути (true) или только имена
|
||||||
|
файлов (false). По умолчанию true.
|
||||||
|
Возвращает: TStringList
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TOptions.ReadAvailableLocales(AFullPaths: Boolean = True): TStringList;
|
||||||
|
begin
|
||||||
|
Result := GetLocalesIniFileList(AFullPaths);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{
|
||||||
|
// Чтение настроек
|
||||||
|
function LoadOptions: boolean;
|
||||||
|
begin
|
||||||
|
Result := false;
|
||||||
|
if Options.Debug then
|
||||||
|
Log('LoadOptions()');
|
||||||
|
Log('Загрузка настроек из abtool.ini...');
|
||||||
|
if not (FileExists(ABToolIniPath + 'abtool.ini')) then begin
|
||||||
|
Log('Файла настроек не существует. Сейчас он будет создан с параметрами по умолчанию...');
|
||||||
|
SaveOptions(true);
|
||||||
|
end // if FileExists
|
||||||
|
else begin
|
||||||
|
try
|
||||||
|
try
|
||||||
|
with Options do begin
|
||||||
|
ABToolIniFile := TInifile.Create(ABToolIniPath + 'abtool.ini');
|
||||||
|
ABToolKeys := TStringList.Create;
|
||||||
|
ABToolKeys := GetABToolKeys;
|
||||||
|
if Options.Debug then
|
||||||
|
Log('LoadOptions(): ABToolKeys='+GetABToolKeys.text);
|
||||||
|
// Непосредственно чтение настроек из INI в память
|
||||||
|
if FindCLParam('+lang') then begin
|
||||||
|
LangFile := ReadString('Options','LangFile','');
|
||||||
|
if Options.Debug then
|
||||||
|
Log('LoadOptions(): LangFile='+LangFile);
|
||||||
|
end; // if +lang
|
||||||
|
Left := ReadInteger('Options','Left', (Screen.Width div 2) - 180);
|
||||||
|
Top := ReadInteger('Options','Top', (Screen.Height div 2) - 292);
|
||||||
|
Width := ReadInteger('Options','Width', 360);
|
||||||
|
Height := ReadInteger('Options','Height', 485);
|
||||||
|
ChkExitCodes := ReadBool('Options','ChkExitCodes',false);
|
||||||
|
DntUnChkItems := ReadBool('Options','DntUnChkItems',true);
|
||||||
|
ColorSoftTree := ReadBool('Options','ColorSoftTree',true);
|
||||||
|
ShowProgress := ReadBool('Options','ShowProgress',true);
|
||||||
|
ExpandSoft := ReadBool('Options','ExpandSoft',true);
|
||||||
|
QuietREG := ReadBool('Options','QuietREG',false);
|
||||||
|
HideOnTool := ReadBool('Options','HideOnTool',false);
|
||||||
|
ExpandTools := ReadBool('Options','ExpandTools',true);
|
||||||
|
ShowLog := ReadBool('Options','ShowLog',true);
|
||||||
|
DrawOutlines := ReadBool('Options','DrawOutlines',true);
|
||||||
|
ScreenSnap := ReadBool('Options','ScreenSnap',true);
|
||||||
|
OnTop := ReadBool('Options','OnTop',false);
|
||||||
|
ShowPkgDesc := ReadBool('Options','ShowPkgDesc',true);
|
||||||
|
SrchVisible := ReadBool('Options','SrchVisible',false);
|
||||||
|
ScrollLog := ReadBool('Options','ScrollLog',true);
|
||||||
|
LastSoftPkg := ReadString('Options','LastSoftPkg', '');
|
||||||
|
LastToolPkg := ReadString('Options','LastToolPkg', '');
|
||||||
|
if Options.Debug then begin
|
||||||
|
Log('LoadOptions(): Left='+Left.ToString);
|
||||||
|
Log('LoadOptions(): Top='+Top.ToString);
|
||||||
|
Log('LoadOptions(): Width='+Width.ToString);
|
||||||
|
Log('LoadOptions(): Height='+Height.ToString);
|
||||||
|
Log('LoadOptions(): ChkExitCodes='+BoolToStr(ChkExitCodes));
|
||||||
|
Log('LoadOptions(): DntUnChkItems='+BoolToStr(DntUnChkItems));
|
||||||
|
Log('LoadOptions(): ColorSoftTree='+BoolToStr(ColorSoftTree));
|
||||||
|
Log('LoadOptions(): ShowProgress='+BoolToStr(ShowProgress));
|
||||||
|
Log('LoadOptions(): ExpandSoft='+BoolToStr(ExpandSoft));
|
||||||
|
Log('LoadOptions(): QuietREG='+BoolToStr(QuietREG));
|
||||||
|
Log('LoadOptions(): HideOnTool='+BoolToStr(HideOnTool));
|
||||||
|
Log('LoadOptions(): ExpandTools='+BoolToStr(ExpandTools));
|
||||||
|
Log('LoadOptions(): DrawOutlines='+BoolToStr(DrawOutlines));
|
||||||
|
Log('LoadOptions(): ScreenSnap='+BoolToStr(ScreenSnap));
|
||||||
|
Log('LoadOptions(): OnTop='+BoolToStr(OnTop));
|
||||||
|
Log('LoadOptions(): ShowPkgDesc='+BoolToStr(ShowPkgDesc));
|
||||||
|
Log('LoadOptions(): SrchVisible='+BoolToStr(SrchVisible));
|
||||||
|
Log('LoadOptions(): ScrollLog='+BoolToStr(ScrollLog));
|
||||||
|
Log('LoadOptions(): LastSoftPkg='+LastSoftPkg);
|
||||||
|
Log('LoadOptions(): ScrollLog='+LastToolPkg);
|
||||||
|
end;
|
||||||
|
end; // with Options
|
||||||
|
Result := true;
|
||||||
|
except // SysErrorMessage(GetLastError)
|
||||||
|
On E: Exception Do Begin
|
||||||
|
Raise Exception.Create('Не удалось прочитать настройки из файла abtool.ini.' + #13#10 +
|
||||||
|
'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||||
|
'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||||
|
Log('Не удалось прочитать настройки из файла abtool.ini.' + #13#10 +
|
||||||
|
'Сейчас он будет создан с параметрами по умолчанию.' + #13#10 +
|
||||||
|
'Сообщение системы: ' + #13#10 + E.Message + '(' + IntToStr(GetLastError) + ') ');
|
||||||
|
if Options.Debug then
|
||||||
|
Log('LoadOptions() EXCEPTION Stack Trace:' + #13#10 + E.StackTrace);
|
||||||
|
SaveOptions(true);
|
||||||
|
End; // On E: Exception
|
||||||
|
end; // except
|
||||||
|
finally
|
||||||
|
// if Options.ABToolIniFile <> nil then
|
||||||
|
// Options.Free;
|
||||||
|
end; // finally
|
||||||
|
end; // if not FileExists
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
end.
|
44
upackage.pas
44
upackage.pas
@ -26,9 +26,9 @@ type
|
|||||||
TPackage = class(TIniFile)
|
TPackage = class(TIniFile)
|
||||||
strict private
|
strict private
|
||||||
// Имя пакета: [PackageInfo] Name
|
// Имя пакета: [PackageInfo] Name
|
||||||
FName: String;
|
FName: string;
|
||||||
// Описание пакета: [PackageInfo] Description
|
// Описание пакета: [PackageInfo] Description
|
||||||
FDescription: String;
|
FDescription: string;
|
||||||
// Тип пакета
|
// Тип пакета
|
||||||
FType: TPackageType;
|
FType: TPackageType;
|
||||||
private
|
private
|
||||||
@ -38,19 +38,19 @@ type
|
|||||||
function SetType(): TPackageType;
|
function SetType(): TPackageType;
|
||||||
public
|
public
|
||||||
// Имя пакета: [PackageInfo] Name
|
// Имя пакета: [PackageInfo] Name
|
||||||
property Name: String read FName;
|
property Name: string read FName;
|
||||||
// Описание пакета: [PackageInfo] Description
|
// Описание пакета: [PackageInfo] Description
|
||||||
property Description: String read FDescription;
|
property Description: string read FDescription;
|
||||||
// Тип пакета
|
// Тип пакета
|
||||||
property PackageType: TPackageType read FType;
|
property PackageType: TPackageType read FType;
|
||||||
|
|
||||||
// Создание объекта пакета и установка информации о нём
|
// Создание объекта пакета и установка информации о нём
|
||||||
constructor Create(APkgFilename: Ansistring); overload;
|
constructor Create(AIniFilename: string); overload;
|
||||||
// Деструктор
|
// Деструктор объекта пакета
|
||||||
destructor Destroy(); override;
|
destructor Destroy(); override;
|
||||||
|
|
||||||
// Запуск исполняемого файла и получение результатов запуска
|
// Запуск исполняемого файла и получение результатов запуска
|
||||||
function ExecuteItem(const AFileName, AParams: String; AHideMainWindow: Boolean;
|
function ExecuteItem(const AFileName, AParams: string; AHideMainWindow: Boolean;
|
||||||
Out AOutExitcode: Cardinal): Boolean;
|
Out AOutExitcode: Cardinal): Boolean;
|
||||||
end; // TPackage
|
end; // TPackage
|
||||||
|
|
||||||
@ -61,33 +61,33 @@ implementation
|
|||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Конструктор: TPackage.Create()
|
Конструктор: TPackage.Create()
|
||||||
Назначение: Создание объекта пакета и установка информации о нём
|
Назначение: Создание объекта пакета и установка информации о нём
|
||||||
Вх. параметры: APkgFilename: Ansistring - путь к ini-файлу
|
Вх. параметры: AIniFilename: string - путь к ini-файлу
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
constructor TPackage.Create(APkgFilename: Ansistring);
|
constructor TPackage.Create(AIniFilename: string);
|
||||||
begin
|
begin
|
||||||
inherited Create(APkgFilename, [ifoStripComments, ifoStripInvalid]);
|
inherited Create(AIniFilename, [ifoStripComments, ifoStripInvalid]);
|
||||||
SetProperties();
|
SetProperties();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TPackage.SetType()
|
Процедура: TPackage.SetType()
|
||||||
Назначение: Установка информации о пакете
|
Назначение: Установка информации о пакете
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TPackage.SetProperties();
|
procedure TPackage.SetProperties();
|
||||||
begin
|
begin
|
||||||
FName := ReadString('PackageInfo', 'Name', '<без названия>');
|
FName := Readstring('PackageInfo', 'Name', '<без названия>');
|
||||||
FDescription := ReadString('PackageInfo', 'Description', '<без описания>');
|
FDescription := Readstring('PackageInfo', 'Description', '<без описания>');
|
||||||
FType := SetType();
|
FType := SetType();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Функция: TPackage.SetType()
|
Функция: TPackage.SetType()
|
||||||
Назначение: Определение типа пакета по имени его файла
|
Назначение: Определение типа пакета по имени его файла
|
||||||
Возвращает: TPackageType - тип пакета
|
Возвращает: TPackageType - тип пакета
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TPackage.SetType(): TPackageType;
|
function TPackage.SetType(): TPackageType;
|
||||||
var
|
var
|
||||||
SubStr: String;
|
SubStr: string;
|
||||||
begin
|
begin
|
||||||
SubStr := Copy(ExtractFileName(FileName), 1, 4);
|
SubStr := Copy(ExtractFileName(FileName), 1, 4);
|
||||||
if (LowerCase(SubStr) = 'soft') then
|
if (LowerCase(SubStr) = 'soft') then
|
||||||
@ -99,7 +99,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Деструктор: TPackage.Destroy()
|
Деструктор: TPackage.Destroy()
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
destructor TPackage.Destroy();
|
destructor TPackage.Destroy();
|
||||||
begin
|
begin
|
||||||
@ -110,14 +110,14 @@ end;
|
|||||||
Функция: TPackage.ExecuteItem()
|
Функция: TPackage.ExecuteItem()
|
||||||
Назначение: Запуск исполняемого файла и получение результатов запуска
|
Назначение: Запуск исполняемого файла и получение результатов запуска
|
||||||
Вх. параметры:
|
Вх. параметры:
|
||||||
AFileName : String - путь к исполняемому файлу
|
AFileName : string - путь к исполняемому файлу
|
||||||
AParams : String - дополнительные параметры запуска
|
AParams : string - дополнительные параметры запуска
|
||||||
AHideMainWindow : Boolean - скрывать главное окно ABTool (true) или нет (false)
|
AHideMainWindow : Boolean - скрывать главное окно ABTool (true) или нет (false)
|
||||||
Вых. параметры:
|
Вых. параметры:
|
||||||
AOutExitcode : Cardinal - код завершения процесса
|
AOutExitcode : Cardinal - код завершения процесса
|
||||||
Возвращает: boolean - true при успешном запуске программы, false при неудаче
|
Возвращает: boolean - true при успешном запуске программы, false при неудаче
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TPackage.ExecuteItem(const AFileName, AParams: String; AHideMainWindow: Boolean;
|
function TPackage.ExecuteItem(const AFileName, AParams: string; AHideMainWindow: Boolean;
|
||||||
out AOutExitcode: Cardinal): Boolean;
|
out AOutExitcode: Cardinal): Boolean;
|
||||||
begin
|
begin
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ implementation
|
|||||||
{ TPackageList }
|
{ TPackageList }
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TPackageList.Create()
|
Процедура: TPackageList.Load()
|
||||||
Назначение: Создание списка пакетов по указанному типу
|
Назначение: Создание списка пакетов по указанному типу
|
||||||
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
@ -50,8 +50,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TPackageList.Reload()
|
Процедура: TPackageList.Reload()
|
||||||
Назначение: Заполнение списка пакетов объектами пакетов
|
Назначение: Заполнение списка пакетов объектами пакетов
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TPackageList.Reload();
|
procedure TPackageList.Reload();
|
||||||
var
|
var
|
||||||
@ -74,9 +74,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Функция: TPackage.GetPackageByIndex()
|
Функция: TPackage.GetPackageByIndex()
|
||||||
Назначение: Получение пакета из списка по его номеру
|
Назначение: Получение пакета из списка по его номеру
|
||||||
Возвращает: TPackage - пакет
|
Возвращает: TPackage - пакет
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TPackageList.GetPackageByIndex(Index: integer): TPackage;
|
function TPackageList.GetPackageByIndex(Index: integer): TPackage;
|
||||||
begin
|
begin
|
||||||
@ -84,9 +84,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Функция: TPackage.GetPackageByIndex()
|
Функция: TPackage.Count()
|
||||||
Назначение: Получение количества пакетов в списке
|
Назначение: Получение количества пакетов в списке
|
||||||
Возвращает: integer - число пакетов в списке
|
Возвращает: integer - число пакетов в списке
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TPackageList.Count(): integer;
|
function TPackageList.Count(): integer;
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user