Initial commit

This commit is contained in:
Anthony Axenov 2019-01-13 01:05:16 +08:00
commit 1f20268830
140 changed files with 8757 additions and 0 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
/_ignore
/lib
/backup
#/ABTool
*.exe
*.dbg
*.compiled
*.ppu
*.obj
*.o

BIN
ABTool.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

181
ABTool.lpi Normal file
View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<PathDelim Value="\"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="ABTool"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<TextName Value="ABTool"/>
<TextDesc Value="ABTool"/>
</XPManifest>
<Icon Value="0"/>
</General>
<VersionInfo>
<UseVersionInfo Value="True"/>
<MinorVersionNr Value="7"/>
<RevisionNr Value="1"/>
<Language Value="0419"/>
<Attributes pvaDebug="True" pvaPrivateBuild="True"/>
</VersionInfo>
<BuildModes Count="2">
<Item1 Name="Debug" Default="True"/>
<Item2 Name="Release">
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="ABTool"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
</CodeGeneration>
<Linking>
<Debugging>
<GenerateDebugInfo Value="False"/>
</Debugging>
<LinkSmart Value="True"/>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<Verbosity>
<ShoLineNum Value="True"/>
<ShowCond Value="True"/>
</Verbosity>
</Other>
</CompilerOptions>
</Item2>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="virtualtreeview_package"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="7">
<Unit0>
<Filename Value="ABTool.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="fmain.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="fmMain"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="fMain"/>
</Unit1>
<Unit2>
<Filename Value="dmain.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="MainDM"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="DataModule"/>
<UnitName Value="dMain"/>
</Unit2>
<Unit3>
<Filename Value="ufileutils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uFileUtils"/>
</Unit3>
<Unit4>
<Filename Value="upackage.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackage"/>
</Unit4>
<Unit5>
<Filename Value="upackageutils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackageUtils"/>
</Unit5>
<Unit6>
<Filename Value="upackagelist.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackageList"/>
</Unit6>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="ABTool"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<IncludeAssertionCode Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
<VerifyObjMethodCallValidity Value="True"/>
<Optimizations>
<OptimizationLevel Value="0"/>
</Optimizations>
</CodeGeneration>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf2Set"/>
<UseHeaptrc Value="True"/>
<TrashVariables Value="True"/>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<Verbosity>
<ShoLineNum Value="True"/>
<ShowCond Value="True"/>
</Verbosity>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

60
ABTool.lpr Normal file
View File

@ -0,0 +1,60 @@
program ABTool;
{$mode objfpc}{$H+}
uses {$IFDEF UNIX} {$IFDEF UseCThreads}
cthreads, {$ENDIF} {$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
SysUtils,
fMain,
dMain,
uFileUtils,
uPackage,
uPackageUtils,
uPackageList;
{$R *.res}
var
// путь к файлу ABTool.exe
ABToolExePath: String;
// путь к директории ABTool
ABToolDataPath: String;
// путь к директории ABTool\Packages
ABToolPkgPath: String;
// путь к директории ABTool\Languages
ABToolLangPath: String;
// путь к директории ABTool\Logs
ABToolLogPath: String;
begin
RequireDerivedFormResource := True;
Application.Initialize;
// настройка путей к директориям
ABToolExePath := ExtractFilePath(ParamStr(0));
ABToolDataPath := ABToolExePath + 'ABTool\';
ABToolPkgPath := ABToolDataPath + 'Packages\';
ABToolLangPath := ABToolDataPath + 'Languages\';
ABToolLogPath := ABToolDataPath + 'Logs\';
// подготовка директорий
if not DirectoryExists(ABToolPkgPath) then
ForceDirectories(ABToolPkgPath);
if not DirectoryExists(ABToolLangPath) then
ForceDirectories(ABToolLangPath);
if not DirectoryExists(ABToolLogPath) then
ForceDirectories(ABToolLogPath);
Application.CreateForm(TMainDM, MainDM);
Application.CreateForm(TfmMain, fMain.fmMain);
Application.Run;
end.

239
ABTool.lps Normal file
View File

@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<PathDelim Value="\"/>
<Version Value="10"/>
<BuildModes Active="Debug"/>
<Units Count="10">
<Unit0>
<Filename Value="ABTool.lpr"/>
<IsPartOfProject Value="True"/>
<TopLine Value="34"/>
<CursorPos X="66" Y="56"/>
<UsageCount Value="66"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="fmain.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="fmMain"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="fMain"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="44"/>
<CursorPos X="26" Y="56"/>
<UsageCount Value="66"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="dmain.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="MainDM"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="DataModule"/>
<UnitName Value="dMain"/>
<EditorIndex Value="1"/>
<CursorPos X="50" Y="36"/>
<ComponentState Value="1"/>
<UsageCount Value="66"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit2>
<Unit3>
<Filename Value="ufileutils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uFileUtils"/>
<EditorIndex Value="3"/>
<TopLine Value="13"/>
<CursorPos X="29" Y="5"/>
<UsageCount Value="43"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="upackage.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackage"/>
<EditorIndex Value="4"/>
<TopLine Value="7"/>
<CursorPos X="3" Y="12"/>
<UsageCount Value="35"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="upackageutils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackageUtils"/>
<EditorIndex Value="6"/>
<CursorPos X="38"/>
<UsageCount Value="30"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="upackagelist.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uPackageList"/>
<EditorIndex Value="5"/>
<CursorPos X="28"/>
<UsageCount Value="28"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="C:\Lazarus\lcl\include\custompage.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="253"/>
<CursorPos Y="266"/>
<UsageCount Value="5"/>
</Unit7>
<Unit8>
<Filename Value="upackagetypes.pas"/>
<UnitName Value="uPackageTypes"/>
<EditorIndex Value="-1"/>
<CursorPos Y="9"/>
<UsageCount Value="20"/>
</Unit8>
<Unit9>
<Filename Value="C:\Lazarus\lcl\interfaces\win32\win32listsl.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="114"/>
<CursorPos X="28" Y="121"/>
<UsageCount Value="9"/>
</Unit9>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="fmain.pas"/>
<Caret Line="61" TopLine="44"/>
</Position1>
<Position2>
<Filename Value="ufileutils.pas"/>
<Caret Line="57" TopLine="43"/>
</Position2>
<Position3>
<Filename Value="ufileutils.pas"/>
<Caret Line="31" TopLine="19"/>
</Position3>
<Position4>
<Filename Value="ufileutils.pas"/>
<Caret Line="32" Column="33" TopLine="19"/>
</Position4>
<Position5>
<Filename Value="ufileutils.pas"/>
<Caret Line="37" TopLine="19"/>
</Position5>
<Position6>
<Filename Value="ufileutils.pas"/>
<Caret Line="40" TopLine="20"/>
</Position6>
<Position7>
<Filename Value="ufileutils.pas"/>
<Caret Line="42" TopLine="22"/>
</Position7>
<Position8>
<Filename Value="ufileutils.pas"/>
<Caret Line="35" TopLine="22"/>
</Position8>
<Position9>
<Filename Value="fmain.pas"/>
<Caret Line="58" Column="72" TopLine="40"/>
</Position9>
<Position10>
<Filename Value="ufileutils.pas"/>
<Caret Line="84" Column="59" TopLine="66"/>
</Position10>
<Position11>
<Filename Value="ufileutils.pas"/>
<Caret Line="80" TopLine="60"/>
</Position11>
<Position12>
<Filename Value="ufileutils.pas"/>
<Caret Line="61" TopLine="57"/>
</Position12>
<Position13>
<Filename Value="ufileutils.pas"/>
<Caret Line="62" TopLine="57"/>
</Position13>
<Position14>
<Filename Value="ufileutils.pas"/>
<Caret Line="31" TopLine="15"/>
</Position14>
<Position15>
<Filename Value="ufileutils.pas"/>
<Caret Line="27" Column="55" TopLine="15"/>
</Position15>
<Position16>
<Filename Value="ufileutils.pas"/>
<Caret Line="33" Column="27" TopLine="25"/>
</Position16>
<Position17>
<Filename Value="ufileutils.pas"/>
<Caret Line="80" TopLine="68"/>
</Position17>
<Position18>
<Filename Value="ufileutils.pas"/>
<Caret Line="61" TopLine="49"/>
</Position18>
<Position19>
<Filename Value="ufileutils.pas"/>
<Caret Line="62" TopLine="49"/>
</Position19>
<Position20>
<Filename Value="ufileutils.pas"/>
<Caret Line="31" TopLine="19"/>
</Position20>
<Position21>
<Filename Value="ufileutils.pas"/>
<Caret Line="32" TopLine="19"/>
</Position21>
<Position22>
<Filename Value="ufileutils.pas"/>
<Caret Line="33" TopLine="19"/>
</Position22>
<Position23>
<Filename Value="ufileutils.pas"/>
<Caret Line="38" Column="53" TopLine="25"/>
</Position23>
<Position24>
<Filename Value="ufileutils.pas"/>
<Caret Line="81" TopLine="69"/>
</Position24>
<Position25>
<Filename Value="ufileutils.pas"/>
<Caret Line="62" TopLine="50"/>
</Position25>
<Position26>
<Filename Value="ufileutils.pas"/>
<Caret Line="63" TopLine="50"/>
</Position26>
<Position27>
<Filename Value="ufileutils.pas"/>
<Caret Line="31" TopLine="19"/>
</Position27>
<Position28>
<Filename Value="ufileutils.pas"/>
<Caret Line="32" TopLine="19"/>
</Position28>
<Position29>
<Filename Value="ufileutils.pas"/>
<Caret Line="33" TopLine="19"/>
</Position29>
<Position30>
<Filename Value="fmain.pas"/>
<Caret Line="10" Column="15" TopLine="5"/>
</Position30>
</JumpHistory>
</ProjectSession>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="mainform.pas"/>
<Line Value="57"/>
</Item1>
</BreakPoints>
</Debugging>
</CONFIG>

BIN
ABTool.res Normal file

Binary file not shown.

View File

@ -0,0 +1,37 @@
;
; ABTool v0.6.4
; Конфигурация пакетов программ для установки
;
; Секция [PackageInfo] содержит общую информацию о данном пакете.
;
; Name — Название пакета.
;
; Description — Краткое описание пакета. Здесь вы
; можете указать для чего этот пакет собран, в каких
; случаях его использовать и т.д. Только для вашего
; удобства и по вашему усмотрению.
; Не должно быть разрывов строк.
;
; Добавление программ в пакет
;
; В квадратных скобках указывается название группы (например, антивирусы,
; проигрыватели и т.д.). Далее без кавычек указывается:
; "Название программы"=\"путь к файлу".
; Путь может начинаться с \ (если путь абсолютный; без буквы диска)
; или с \\ (если путь относителен ABTool.exe).
; Нельзя под один чекбокс указывать несколько команд.
; Можно указывать дополнительные ключи запуска.
;
;============================================================================
[PackageInfo]
Name=Пакет по умолчанию
Description=Пакет программ, используемый по умолчанию
[Группа 1]
Имя1=\\setup1.exe /ключ1 /ключ2
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
Имя3=\папка_в_корне_диска\setup3.exe
[Группа 2]
Имя4=\\setup4.exe /ключ1
[Группа 3]
Имя5=\\setup5.exe
Имя6=\\setup6.exe /ключ1

View File

@ -0,0 +1,37 @@
;
; ABTool v0.6.4
; Конфигурация пакетов программ для установки
;
; Секция [PackageInfo] содержит общую информацию о данном пакете.
;
; Name — Название пакета.
;
; Description — Краткое описание пакета. Здесь вы
; можете указать для чего этот пакет собран, в каких
; случаях его использовать и т.д. Только для вашего
; удобства и по вашему усмотрению.
; Не должно быть разрывов строк.
;
; Добавление программ в пакет
;
; В квадратных скобках указывается название группы (например, антивирусы,
; проигрыватели и т.д.). Далее без кавычек указывается:
; "Название программы"=\"путь к файлу".
; Путь может начинаться с \ (если путь абсолютный; без буквы диска)
; или с \\ (если путь относителен ABTool.exe).
; Нельзя под один чекбокс указывать несколько команд.
; Можно указывать дополнительные ключи запуска.
;
;============================================================================
[PackageInfo]
Name=Пакет по умолчанию
Description=Пакет программ, используемый по умолчанию
[Группа 1]
Имя1=\\setup1.exe /ключ1 /ключ2
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
Имя3=\папка_в_корне_диска\setup3.exe
[Группа 2]
Имя4=\\setup4.exe /ключ1
[Группа 3]
Имя5=\\setup5.exe
Имя6=\\setup6.exe /ключ1

View File

@ -0,0 +1,42 @@
;
; ABTool v0.6.4
; Конфигурация пакетов утилит для запуска
;
; Секция [PackageInfo] содержит общую информацию о данном пакете.
;
; Name — Название пакета.
;
; Description — Краткое описание пакета. Здесь вы
; можете указать для чего этот пакет собран, в каких
; случаях его использовать и т.д. Только для вашего
; удобства и по вашему усмотрению.
; Не должно быть разрывов строк.
;
; Добавление утилит в пакет
;
; В квадратных скобках указывается название группы (например, антивирусы,
; проигрыватели и т.д.). Далее без кавычек указывается:
; "Название утилиты"="путь к файлу".
; Путь может начинаться с \ (если путь абсолютный; без буквы диска)
; или с \\ (если путь относителен ABTool.exe).
; Нельзя под один пункт указывать несколько команд.
; Можно указывать дополнительные ключи запуска.
;
;============================================================================
[PackageInfo]
Name=Пакет по умолчанию
Description=Пакет программ, используемый по умолчанию
[Группа 1]
Утилита 1=\\утилита1.exe /ключ1 /ключ2
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
Утилита 3=\папка_в_корне_диска\утилита3.exe
Утилита 4=\\утилита4.exe /ключ1
[Группа 2]
Утилита 5=\\утилита5.exe
Утилита 6=\\утилита6.exe
[Группа 3]
Утилита 7=\\утилита7.exe /ключ1
Утилита 8=\\утилита8.exe
Утилита 9=\\утилита9.exe
Утилита 10=\\утилита10.exe /ключ1 /ключ2
Утилита 11=\\утилита11.exe

View File

@ -0,0 +1,42 @@
;
; ABTool v0.6.4
; Конфигурация пакетов утилит для запуска
;
; Секция [PackageInfo] содержит общую информацию о данном пакете.
;
; Name — Название пакета.
;
; Description — Краткое описание пакета. Здесь вы
; можете указать для чего этот пакет собран, в каких
; случаях его использовать и т.д. Только для вашего
; удобства и по вашему усмотрению.
; Не должно быть разрывов строк.
;
; Добавление утилит в пакет
;
; В квадратных скобках указывается название группы (например, антивирусы,
; проигрыватели и т.д.). Далее без кавычек указывается:
; "Название утилиты"="путь к файлу".
; Путь может начинаться с \ (если путь абсолютный; без буквы диска)
; или с \\ (если путь относителен ABTool.exe).
; Нельзя под один пункт указывать несколько команд.
; Можно указывать дополнительные ключи запуска.
;
;============================================================================
[PackageInfo]
Name=Пакет по умолчанию
Description=Пакет программ, используемый по умолчанию
[Группа 1]
Утилита 1=\\утилита1.exe /ключ1 /ключ2
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
Утилита 3=\папка_в_корне_диска\утилита3.exe
Утилита 4=\\утилита4.exe /ключ1
[Группа 2]
Утилита 5=\\утилита5.exe
Утилита 6=\\утилита6.exe
[Группа 3]
Утилита 7=\\утилита7.exe /ключ1
Утилита 8=\\утилита8.exe
Утилита 9=\\утилита9.exe
Утилита 10=\\утилита10.exe /ключ1 /ключ2
Утилита 11=\\утилита11.exe

25
ABTool/abtool.ini Normal file
View File

@ -0,0 +1,25 @@
[Options]
ChkExitCodes=0
DntUnChkItems=1
ColorSoftTree=1
ShowProgress=1
ExpandSoft=1
QuietREG=0
HideOnTool=0
ExpandTools=1
ShowLog=1
DrawOutlines=1
ScreenSnap=1
OnTop=0
ShowPkgDesc=1
SrchVisible=0
[UserSoftPackages]
UserSoftPkg1=
UserSoftPkg2=
UserSoftPkg3=
LastUserSoftPkg=0
[UserToolPackages]
UserToolPkg1=
UserToolPkg2=
UserToolPkg3=
LastUserToolPkg=0

19
LICENSE Normal file
View File

@ -0,0 +1,19 @@
The MIT License (MIT)
Copyright (c) 2019 Anthony Axenov
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Лицензия MIT
Copyright (C) 2019 Аксенов Антон
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

67
README.md Normal file
View File

@ -0,0 +1,67 @@
# ABTool
# English text
## Description
This software helps you to install a lot of software on your Windows OS in easy way.
Homepage: [abtool.ru](http://abtool.ru/)
Online help (only Russian for now, sorry): [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
## License
This software is licensed under **The MIT License** (read [LICENSE](LICENSE) file).
This means that you can use, distribute, sell and change the program as you want, under the following conditions:
* explicit indication of my authorship of the original project;
* preservation of these conditions in any derivative projects;
* distribution of the original and derivative projects on the same conditions.
Additional FAQ: [www.tawesoft.co.uk/kb/article/mit-license-faq](https://www.tawesoft.co.uk/kb/article/mit-license-faq)
If you want to use this softare or take participance in its development, you must accept terms of this license.
## Third-parties
This software uses:
1) Fugue Icons by Yusuke Kamiyamane. Read [here](/icons/fugue/README.txt) for more info.
2) Silk Icons by Mark James. Read [here](/icons/silk/README.txt) for more info.
3) VirtualTreeView by Mike Lischke. Read [here](http://wiki.freepascal.org/VirtualTreeview) for more info.
So, I'd like to thank everybody listed and not listed here who made or keeps making great things like this.
# Русская версия
## Описание
Эта программа помогает простым путём установить необходимое ПО в Windows-системе.
Сайт: [abtool.ru](http://abtool.ru/)
Онлайн справка: [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
## Лицензия
Эта программа распространяется под **[Лицензией MIT](LICENSE)**.
Это значит, что вы можете использовать, распространять, продавать и изменять программу как угодно, при условиях:
* явного указания моего авторства исходного проекта;
* сохранения этих условий в любых производных проектах;
* распространения исходного и производного проектов на тех же условиях.
Дополнительный FAQ (англ): [www.tawesoft.co.uk/kb/article/mit-license-faq](https://www.tawesoft.co.uk/kb/article/mit-license-faq)
Если вы собираетесь использовать эту программу или принимать участие в её разработке, вы должны принять условия этой лицензии.
## Третьи лица
Эта программа использует:
1) Fugue Icons от Yusuke Kamiyamane. [Дополнительная информация](/icons/fugue/README.txt).
2) Silk Icons от Mark James. [Дополнительная информация](/icons/silk/README.txt).
3) VirtualTreeView от Mike Lischke. [Дополнительная информация](http://wiki.freepascal.org/VirtualTreeview).
Я благодарю каждого, кто явно здесь указан или не указан, за то, что они сделали или продолжают делать такие крутые штуки.

BIN
dependencies/lclextensions-0.6.1.zip vendored Normal file

Binary file not shown.

Binary file not shown.

3963
dmain.lfm Normal file

File diff suppressed because it is too large Load Diff

54
dmain.pas Normal file
View File

@ -0,0 +1,54 @@
unit dMain;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Controls, Menus;
type
{ TMainDM }
TMainDM = class(TDataModule)
imgIcons: TImageList;
mmMain: TMainMenu;
mbInstallCheckAll: TMenuItem;
mbInstallExpandTree: TMenuItem;
mbInstallCollapseTree: TMenuItem;
mbInstallCheckInvert: TMenuItem;
mbInstallCheckNone: TMenuItem;
mbTree: TMenuItem;
mbCollapseTree: TMenuItem;
mbExpandTree: TMenuItem;
mbCheck: TMenuItem;
mbCheckAll: TMenuItem;
mbCheckInvert: TMenuItem;
mbCheckNone: TMenuItem;
mbOptions: TMenuItem;
mbHelp: TMenuItem;
mbOnlineHelp: TMenuItem;
mbAbout: TMenuItem;
mbOptonsMain: TMenuItem;
mbOptionsPkg: TMenuItem;
pmInstallTree: TPopupMenu;
pmInstallCheck: TPopupMenu;
private
public
end;
var
MainDM: TMainDM;
implementation
{$R *.lfm}
{ TMainDM }
end.

3591
fmain.lfm Normal file

File diff suppressed because it is too large Load Diff

73
fmain.pas Normal file
View File

@ -0,0 +1,73 @@
unit fMain;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
StdCtrls, ExtCtrls, Buttons, ActnList, EditBtn, Menus, VirtualTrees, Types,
uFileUtils, uPackage, uPackageUtils;
type
{ TfmMain }
TfmMain = class(TForm)
btnSoftStart: TButton;
btnToolsPkgEdit: TSpeedButton;
btnToolsPkgReload: TSpeedButton;
btnToolsRun: TButton;
cmbSoftPkgSelect: TComboBox;
cmbToolsPkgSelect: TComboBox;
edSoftSearch: TEdit;
edToolsSearch: TEdit;
labSoftPkgDescription: TLabel;
labToolsPkgDescription: TLabel;
PageControl: TPageControl;
pnSoftTop: TPanel;
btnSoftPkgEdit: TSpeedButton;
btnSoftPkgReload: TSpeedButton;
pnToolsTop: TPanel;
tabSoft: TTabSheet;
tabLog: TTabSheet;
tabSystem: TTabSheet;
tabTools: TTabSheet;
vstSoftPkgContents: TVirtualStringTree;
vstToolsPkgContents: TVirtualStringTree;
procedure btnSoftPkgReloadClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure ReloadSoftPackagesList();
public
end;
var
fmMain: TfmMain;
implementation
{$R *.lfm}
{ TfmMain }
procedure TfmMain.btnSoftPkgReloadClick(Sender: TObject);
begin
ReloadSoftPackagesList;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
ReloadSoftPackagesList;
end;
procedure TfmMain.ReloadSoftPackagesList();
begin
cmbSoftPkgSelect.Items.AddStrings(GetPackagesIniFileList(ptSoft, False), True);
cmbSoftPkgSelect.ItemIndex := 0;
end;
end.

80
icons/fugue/README.txt Normal file
View File

@ -0,0 +1,80 @@
Fugue Icons
(C) 2013 Yusuke Kamiyamane. All rights reserved.
These icons are licensed under a Creative Commons
Attribution 3.0 License.
<http://creativecommons.org/licenses/by/3.0/>
If you can't or don't want to provide attribution, please
purchase a royalty-free license.
<http://p.yusukekamiyamane.com/>
I'm unavailable for custom icon design work. But your
suggestions are always welcome!
<mailto:p@yusukekamiyamane.com>
------------------------------------------------------------
All logos and trademarks in some icons are property of their
respective owners.
------------------------------------------------------------
- geotag
(C) Geotag Icon Project. All rights reserved.
<http://www.geotagicons.com/>
Geotag icon is licensed under a Creative Commons
Attribution-Share Alike 3.0 License or LGPL.
<http://creativecommons.org/licenses/by-sa/3.0/>
<http://opensource.org/licenses/lgpl-license.php>
- language
(C) Language Icon Project. All rights reserved.
<http://www.languageicon.org/>
Language icon is licensed under a Creative Commons
Attribution-Share Alike 3.0 License.
<http://creativecommons.org/licenses/by-sa/3.0/>
- open-share
(C) Open Share Icon Project. All rights reserved.
<http://www.openshareicons.com/>
Open Share icon is licensed under a Creative Commons
Attribution-Share Alike 3.0 License.
<http://creativecommons.org/licenses/by-sa/3.0/>
- opml
(C) OPML Icon Project. All rights reserved.
<http://opmlicons.com/>
OPML icon is licensed under a Creative Commons
Attribution-Share Alike 2.5 License.
<http://creativecommons.org/licenses/by-sa/2.5/>
- share
(C) Share Icon Project. All rights reserved.
<http://shareicons.com/>
Share icon is licensed under a GPL or LGPL or BSD or
Creative Commons Attribution 2.5 License.
<http://opensource.org/licenses/gpl-license.php>
<http://opensource.org/licenses/lgpl-license.php>
<http://opensource.org/licenses/bsd-license.php>
<http://creativecommons.org/licenses/by/2.5/>
- xfn
(C) Wolfgang Bartelme. All rights reserved.
<http://www.bartelme.at/>
XFN icon is licensed under a Creative Commons
Attribution-Share Alike 2.5 License.
<http://creativecommons.org/licenses/by-sa/2.5/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

BIN
icons/fugue/bug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

BIN
icons/fugue/category.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

BIN
icons/fugue/chevron.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

BIN
icons/fugue/control-090.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

BIN
icons/fugue/control-270.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

BIN
icons/fugue/cross.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

BIN
icons/fugue/disk-black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

BIN
icons/fugue/disk-return.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

BIN
icons/fugue/disk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

BIN
icons/fugue/equalizer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

BIN
icons/fugue/exclamation.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

BIN
icons/fugue/external.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

BIN
icons/fugue/gear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

BIN
icons/fugue/git.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

BIN
icons/fugue/globe-green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

2
icons/fugue/homepage.url Normal file
View File

@ -0,0 +1,2 @@
[InternetShortcut]
URL=http://p.yusukekamiyamane.com/

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

BIN
icons/fugue/information.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

BIN
icons/fugue/layers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

BIN
icons/fugue/lifebuoy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

BIN
icons/fugue/lightning.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

BIN
icons/fugue/magnifier.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

BIN
icons/fugue/minus-white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

BIN
icons/fugue/minus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

BIN
icons/fugue/pencil.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
icons/fugue/plus-button.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

BIN
icons/fugue/plus-circle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

BIN
icons/fugue/plus-white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

BIN
icons/fugue/plus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
icons/fugue/prohibition.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

BIN
icons/fugue/question.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

BIN
icons/fugue/star.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

BIN
icons/fugue/tick-button.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 904 B

BIN
icons/fugue/tick-circle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Some files were not shown because too many files have changed in this diff Show More