Нормальная загрузка и смена пакетов программ и утилит, подгрузка деревьев.
Пакеты читаются в кодировке UTF8.
This commit is contained in:
parent
c473d722da
commit
43d2f180fd
@ -19,9 +19,9 @@
|
|||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<UseVersionInfo Value="True"/>
|
<UseVersionInfo Value="True"/>
|
||||||
<MinorVersionNr Value="7"/>
|
<MinorVersionNr Value="7"/>
|
||||||
<RevisionNr Value="1"/>
|
|
||||||
<Language Value="0419"/>
|
<Language Value="0419"/>
|
||||||
<Attributes pvaDebug="True" pvaPrivateBuild="True"/>
|
<Attributes pvaDebug="True" pvaPrivateBuild="True"/>
|
||||||
|
<StringTable ProductVersion="0.7.1.0"/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<BuildModes Count="2">
|
<BuildModes Count="2">
|
||||||
<Item1 Name="Debug" Default="True"/>
|
<Item1 Name="Debug" Default="True"/>
|
||||||
@ -148,7 +148,6 @@
|
|||||||
<Linking>
|
<Linking>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<DebugInfoType Value="dsDwarf2Set"/>
|
<DebugInfoType Value="dsDwarf2Set"/>
|
||||||
<UseHeaptrc Value="True"/>
|
|
||||||
<TrashVariables Value="True"/>
|
<TrashVariables Value="True"/>
|
||||||
<UseExternalDbgSyms Value="True"/>
|
<UseExternalDbgSyms Value="True"/>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
@ -166,7 +165,7 @@
|
|||||||
</Other>
|
</Other>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<Exceptions Count="3">
|
<Exceptions Count="4">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Name Value="EAbort"/>
|
<Name Value="EAbort"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
@ -176,6 +175,9 @@
|
|||||||
<Item3>
|
<Item3>
|
||||||
<Name Value="EFOpenError"/>
|
<Name Value="EFOpenError"/>
|
||||||
</Item3>
|
</Item3>
|
||||||
|
<Item4>
|
||||||
|
<Name Value="RunError(211)"/>
|
||||||
|
</Item4>
|
||||||
</Exceptions>
|
</Exceptions>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
</CONFIG>
|
</CONFIG>
|
||||||
|
BIN
ABTool.res
BIN
ABTool.res
Binary file not shown.
@ -1,31 +1,41 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет программ для установки
|
# Пакет программ для установки
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название программы"="путь к файлу".
|
# "Название программы"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет программ 1
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет программ 1, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Имя1=\\setup1.exe /ключ1 /ключ2
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
Имя3=\папка_в_корне_диска\setup3.exe
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
[Группа 2]
|
Имя4=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя4=\\setup4.exe /ключ1
|
Имя5=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
[Группа 3]
|
Имя6=\папка_в_корне_диска\setup3.exe
|
||||||
Имя5=\\setup5.exe
|
[Группа 2]
|
||||||
Имя6=\\setup6.exe /ключ1
|
Имя4=\\setup4.exe /ключ1
|
||||||
|
[Группа 3]
|
||||||
|
Имя5=\\setup5.exe
|
||||||
|
Имя6=\\setup6.exe /ключ1
|
||||||
|
[Группа 4]
|
||||||
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
|
Имя4=\\setup1.exe /ключ1 /ключ2
|
||||||
|
Имя5=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
|
Имя6=\папка_в_корне_диска\setup3.exe
|
||||||
|
@ -1,31 +1,46 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет программ для установки
|
# Пакет программ для установки
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название программы"="путь к файлу".
|
# "Название программы"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет программ 2
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет программ 2, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Имя1=\\setup1.exe /ключ1 /ключ2
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
Имя3=\папка_в_корне_диска\setup3.exe
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
[Группа 2]
|
Имя4=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя4=\\setup4.exe /ключ1
|
Имя5=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
[Группа 3]
|
Имя6=\папка_в_корне_диска\setup3.exe
|
||||||
Имя5=\\setup5.exe
|
[Группа 2]
|
||||||
Имя6=\\setup6.exe /ключ1
|
Имя4=\\setup4.exe /ключ1
|
||||||
|
[Группа 3]
|
||||||
|
Имя5=\\setup5.exe
|
||||||
|
Имя6=\\setup6.exe /ключ1
|
||||||
|
[Группа 4]
|
||||||
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
|
Имя4=\\setup1.exe /ключ1 /ключ2
|
||||||
|
Имя5=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
|
Имя6=\папка_в_корне_диска\setup3.exe
|
||||||
|
[Группа 5]
|
||||||
|
Имя4=\\setup4.exe /ключ1
|
||||||
|
[Группа 6]
|
||||||
|
Имя5=\\setup5.exe
|
||||||
|
Имя6=\\setup6.exe /ключ1
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет программ для установки
|
# Пакет программ для установки
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название программы"="путь к файлу".
|
# "Название программы"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет программ 3
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет программ 3, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Имя1=\\setup1.exe /ключ1 /ключ2
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
Имя3=\папка_в_корне_диска\setup3.exe
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Имя4=\\setup4.exe /ключ1
|
Имя4=\\setup4.exe /ключ1
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Имя5=\\setup5.exe
|
Имя5=\\setup5.exe
|
||||||
Имя6=\\setup6.exe /ключ1
|
Имя6=\\setup6.exe /ключ1
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет программ для установки
|
# Пакет программ для установки
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название программы"="путь к файлу".
|
# "Название программы"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет программ 4
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет программ 4, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Имя1=\\setup1.exe /ключ1 /ключ2
|
Имя1=\\setup1.exe /ключ1 /ключ2
|
||||||
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
Имя2=\\папка_рядом_с_abtool.exe\setup2.exe
|
||||||
Имя3=\папка_в_корне_диска\setup3.exe
|
Имя3=\папка_в_корне_диска\setup3.exe
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Имя4=\\setup4.exe /ключ1
|
Имя4=\\setup4.exe /ключ1
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Имя5=\\setup5.exe
|
Имя5=\\setup5.exe
|
||||||
Имя6=\\setup6.exe /ключ1
|
Имя6=\\setup6.exe /ключ1
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет утилит для запуска
|
# Пакет утилит для запуска
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название утилиты"="путь к файлу".
|
# "Название утилиты"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет утилит 1
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет утилит 1, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
||||||
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
||||||
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
||||||
Утилита 4=\\утилита4.exe /ключ1
|
Утилита 4=\\утилита4.exe /ключ1
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Утилита 5=\\утилита5.exe
|
Утилита 5=\\утилита5.exe
|
||||||
Утилита 6=\\утилита6.exe
|
Утилита 6=\\утилита6.exe
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Утилита 7=\\утилита7.exe /ключ1
|
Утилита 7=\\утилита7.exe /ключ1
|
||||||
Утилита 8=\\утилита8.exe
|
Утилита 8=\\утилита8.exe
|
||||||
Утилита 9=\\утилита9.exe
|
Утилита 9=\\утилита9.exe
|
||||||
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
||||||
Утилита 11=\\утилита11.exe
|
Утилита 11=\\утилита11.exe
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет утилит для запуска
|
# Пакет утилит для запуска
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название утилиты"="путь к файлу".
|
# "Название утилиты"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет утилит 2
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет утилит 2, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
||||||
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
||||||
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
||||||
Утилита 4=\\утилита4.exe /ключ1
|
Утилита 4=\\утилита4.exe /ключ1
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Утилита 5=\\утилита5.exe
|
Утилита 5=\\утилита5.exe
|
||||||
Утилита 6=\\утилита6.exe
|
Утилита 6=\\утилита6.exe
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Утилита 7=\\утилита7.exe /ключ1
|
Утилита 7=\\утилита7.exe /ключ1
|
||||||
Утилита 8=\\утилита8.exe
|
Утилита 8=\\утилита8.exe
|
||||||
Утилита 9=\\утилита9.exe
|
Утилита 9=\\утилита9.exe
|
||||||
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
||||||
Утилита 11=\\утилита11.exe
|
Утилита 11=\\утилита11.exe
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет утилит для запуска
|
# Пакет утилит для запуска
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название утилиты"="путь к файлу".
|
# "Название утилиты"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет утилит 3
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет утилит 3, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
||||||
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
||||||
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
||||||
Утилита 4=\\утилита4.exe /ключ1
|
Утилита 4=\\утилита4.exe /ключ1
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Утилита 5=\\утилита5.exe
|
Утилита 5=\\утилита5.exe
|
||||||
Утилита 6=\\утилита6.exe
|
Утилита 6=\\утилита6.exe
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Утилита 7=\\утилита7.exe /ключ1
|
Утилита 7=\\утилита7.exe /ключ1
|
||||||
Утилита 8=\\утилита8.exe
|
Утилита 8=\\утилита8.exe
|
||||||
Утилита 9=\\утилита9.exe
|
Утилита 9=\\утилита9.exe
|
||||||
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
||||||
Утилита 11=\\утилита11.exe
|
Утилита 11=\\утилита11.exe
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
#
|
#
|
||||||
# ABTool v0.7.0
|
# ABTool v0.7.0
|
||||||
# Пакет утилит для запуска
|
# Пакет утилит для запуска
|
||||||
#
|
#
|
||||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||||
# Name - Название пакета
|
# Name - Название пакета
|
||||||
# Description - Краткое описание пакета
|
# Description - Краткое описание пакета
|
||||||
#
|
#
|
||||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||||
# проигрыватели и т.д.).
|
# проигрыватели и т.д.).
|
||||||
# Далее без кавычек указывается:
|
# Далее без кавычек указывается:
|
||||||
# "Название утилиты"="путь к файлу".
|
# "Название утилиты"="путь к файлу".
|
||||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||||
# или с \\ (если путь относителен ABTool.exe).
|
# или с \\ (если путь относителен ABTool.exe).
|
||||||
# Нельзя под один пункт указывать несколько команд.
|
# Нельзя под один пункт указывать несколько команд.
|
||||||
# Можно указывать дополнительные ключи запуска.
|
# Можно указывать дополнительные ключи запуска.
|
||||||
# Во всех параметрах не должно быть разрывов строк.
|
# Во всех параметрах не должно быть разрывов строк.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
[PackageInfo]
|
[PackageInfo]
|
||||||
Name=Пакет по умолчанию
|
Name=Пакет утилит 4
|
||||||
Description=Пакет программ, используемый по умолчанию
|
Description=Пакет утилит 4, используемый по умолчанию
|
||||||
[Группа 1]
|
[Группа 1]
|
||||||
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
Утилита 1=\\утилита1.exe /ключ1 /ключ2
|
||||||
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
Утилита 2=\\папка_рядом_с_abtool.exe\утилита2.exe
|
||||||
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
Утилита 3=\папка_в_корне_диска\утилита3.exe
|
||||||
Утилита 4=\\утилита4.exe /ключ1
|
Утилита 4=\\утилита4.exe /ключ1
|
||||||
[Группа 2]
|
[Группа 2]
|
||||||
Утилита 5=\\утилита5.exe
|
Утилита 5=\\утилита5.exe
|
||||||
Утилита 6=\\утилита6.exe
|
Утилита 6=\\утилита6.exe
|
||||||
[Группа 3]
|
[Группа 3]
|
||||||
Утилита 7=\\утилита7.exe /ключ1
|
Утилита 7=\\утилита7.exe /ключ1
|
||||||
Утилита 8=\\утилита8.exe
|
Утилита 8=\\утилита8.exe
|
||||||
Утилита 9=\\утилита9.exe
|
Утилита 9=\\утилита9.exe
|
||||||
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
Утилита 10=\\утилита10.exe /ключ1 /ключ2
|
||||||
Утилита 11=\\утилита11.exe
|
Утилита 11=\\утилита11.exe
|
||||||
|
20
README.md
20
README.md
@ -10,9 +10,18 @@ Homepage: [abtool.ru](http://abtool.ru/)
|
|||||||
|
|
||||||
Online help (only Russian for now, sorry): [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
|
Online help (only Russian for now, sorry): [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
|
||||||
|
|
||||||
|
## Requirements for development environment
|
||||||
|
|
||||||
|
* Windows OS (because ABTool is windows-only software)
|
||||||
|
* [Lazarus 1.8.4](https://www.lazarus-ide.org/) and newer
|
||||||
|
* [LCLextensions 0.6.1](/dependencies/lclextensions-0.6.1.zip) and newer
|
||||||
|
* [VirtualTreeView 5.5.3-R1](/dependencies/virtualtreeview-5.5.3-R1.zip) and newer
|
||||||
|
|
||||||
|
Porting to Delphi is welcome. You can create your fork of this repository for these purposes.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This software is licensed under **The MIT License** (read [LICENSE](LICENSE) file).
|
This software is licensed under **[The MIT License](LICENSE)**.
|
||||||
|
|
||||||
This means that you can use, distribute, sell and change the program as you want, under the following conditions:
|
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;
|
* explicit indication of my authorship of the original project;
|
||||||
@ -43,6 +52,15 @@ So, I'd like to thank everybody listed and not listed here who made or keeps mak
|
|||||||
|
|
||||||
Онлайн справка: [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
|
Онлайн справка: [abtool.ru/onlinehelp](http://abtool.ru/onlinehelp/)
|
||||||
|
|
||||||
|
## Требования к среде разработки
|
||||||
|
|
||||||
|
* Windows OS (потому что ABTool предназначена только для Windows)
|
||||||
|
* [Lazarus 1.8.4](https://www.lazarus-ide.org/) и новее
|
||||||
|
* [LCLextensions 0.6.1](/dependencies/lclextensions-0.6.1.zip) и новее
|
||||||
|
* [VirtualTreeView 5.5.3-R1](/dependencies/virtualtreeview-5.5.3-R1.zip) и новее
|
||||||
|
|
||||||
|
Приветствуется портирование под Delphi. Можете создать свой форк этого репозитория для этих целей.
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
Эта программа распространяется под **[Лицензией MIT](LICENSE)**.
|
Эта программа распространяется под **[Лицензией MIT](LICENSE)**.
|
||||||
|
@ -110,5 +110,8 @@ begin
|
|||||||
ToolsPackages.Load(ptTools);
|
ToolsPackages.Load(ptTools);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
35
fmain.lfm
35
fmain.lfm
@ -1,7 +1,7 @@
|
|||||||
object fmMain: TfmMain
|
object fmMain: TfmMain
|
||||||
Left = 304
|
Left = 299
|
||||||
Height = 450
|
Height = 450
|
||||||
Top = 87
|
Top = 82
|
||||||
Width = 350
|
Width = 350
|
||||||
BorderIcons = [biSystemMenu, biMinimize]
|
BorderIcons = [biSystemMenu, biMinimize]
|
||||||
Caption = 'ABTool'
|
Caption = 'ABTool'
|
||||||
@ -3220,11 +3220,11 @@ object fmMain: TfmMain
|
|||||||
Height = 430
|
Height = 430
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 350
|
Width = 350
|
||||||
ActivePage = tabTools
|
ActivePage = tabSoft
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Images = dmMain.imgIcons
|
Images = dmMain.imgIcons
|
||||||
TabHeight = 20
|
TabHeight = 20
|
||||||
TabIndex = 1
|
TabIndex = 0
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object tabSoft: TTabSheet
|
object tabSoft: TTabSheet
|
||||||
Caption = 'Установка'
|
Caption = 'Установка'
|
||||||
@ -3239,13 +3239,18 @@ object fmMain: TfmMain
|
|||||||
Align = alClient
|
Align = alClient
|
||||||
BorderSpacing.Bottom = 3
|
BorderSpacing.Bottom = 3
|
||||||
BorderStyle = bsNone
|
BorderStyle = bsNone
|
||||||
CheckImageKind = ckDarkCheck
|
DefaultText = 'Программа'
|
||||||
DefaultText = 'Node'
|
DragOperations = []
|
||||||
Header.AutoSizeIndex = 0
|
Header.AutoSizeIndex = -1
|
||||||
Header.Columns = <>
|
Header.Columns = <>
|
||||||
Header.MainColumn = -1
|
Header.MainColumn = -1
|
||||||
|
IncrementalSearch = isVisibleOnly
|
||||||
|
IncrementalSearchStart = ssAlwaysStartOver
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
|
||||||
TreeOptions.MiscOptions = [toAcceptOLEDrop, toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick]
|
TreeOptions.MiscOptions = [toAcceptOLEDrop, toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick]
|
||||||
|
OnGetText = vstSoftPkgContentsGetText
|
||||||
|
OnInitNode = vstSoftPkgContentsInitNode
|
||||||
end
|
end
|
||||||
object pnSoftTop: TPanel
|
object pnSoftTop: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
@ -3268,6 +3273,7 @@ object fmMain: TfmMain
|
|||||||
BorderSpacing.Top = 2
|
BorderSpacing.Top = 2
|
||||||
BorderSpacing.Right = 1
|
BorderSpacing.Right = 1
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
|
OnChange = cmbSoftPkgSelectChange
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
@ -3440,6 +3446,7 @@ object fmMain: TfmMain
|
|||||||
BorderSpacing.Top = 2
|
BorderSpacing.Top = 2
|
||||||
BorderSpacing.Right = 1
|
BorderSpacing.Right = 1
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
|
OnChange = cmbToolsPkgSelectChange
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
@ -3564,20 +3571,22 @@ object fmMain: TfmMain
|
|||||||
end
|
end
|
||||||
object vstToolsPkgContents: TVirtualStringTree
|
object vstToolsPkgContents: TVirtualStringTree
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 306
|
Height = 303
|
||||||
Top = 64
|
Top = 64
|
||||||
Width = 342
|
Width = 342
|
||||||
Align = alClient
|
Align = alClient
|
||||||
|
BorderSpacing.Bottom = 3
|
||||||
BorderStyle = bsNone
|
BorderStyle = bsNone
|
||||||
CheckImageKind = ckDarkCheck
|
DefaultText = 'Утилита'
|
||||||
DefaultText = 'Node'
|
|
||||||
DragOperations = []
|
DragOperations = []
|
||||||
Header.AutoSizeIndex = 0
|
Header.AutoSizeIndex = -1
|
||||||
Header.Columns = <>
|
Header.Columns = <>
|
||||||
Header.MainColumn = -1
|
Header.MainColumn = -1
|
||||||
|
IncrementalSearch = isVisibleOnly
|
||||||
|
IncrementalSearchStart = ssAlwaysStartOver
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toReadOnly, toEditOnClick]
|
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
|
||||||
TreeOptions.SelectionOptions = [toAlwaysSelectNode]
|
OnGetText = vstToolsPkgContentsGetText
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tabSystem: TTabSheet
|
object tabSystem: TTabSheet
|
||||||
|
242
fmain.pas
242
fmain.pas
@ -6,11 +6,26 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
||||||
StdCtrls, ExtCtrls, Buttons, ActnList, EditBtn, Menus, VirtualTrees, Types,
|
StdCtrls, ExtCtrls, Buttons, ActnList, EditBtn, Menus, virtualtreeview_package,
|
||||||
dMain, uFileUtils, uPackage, uPackageUtils, uPackageList;
|
VirtualTrees, dMain, uPackage, uPackageList;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
// Указатель на тип данных TRootNodeData
|
||||||
|
PRootNodeData = ^TRootNodeData;
|
||||||
|
// Тип данных для работы с корневыми нодами
|
||||||
|
TRootNodeData = record
|
||||||
|
FName: String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Указатель на тип данных TChildNodeData
|
||||||
|
PChildNodeData = ^TChildNodeData;
|
||||||
|
// Тип данных для работы с дочерними нодами
|
||||||
|
TChildNodeData = record
|
||||||
|
FName: String;
|
||||||
|
FPath: String;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TfmMain }
|
{ TfmMain }
|
||||||
|
|
||||||
TfmMain = class(TForm)
|
TfmMain = class(TForm)
|
||||||
@ -37,15 +52,40 @@ type
|
|||||||
vstToolsPkgContents: TVirtualStringTree;
|
vstToolsPkgContents: TVirtualStringTree;
|
||||||
// Создание формы и обновление выпадающих меню пакетов программ и утилит
|
// Создание формы и обновление выпадающих меню пакетов программ и утилит
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
// Смена пакета программ через выпадающий список
|
||||||
|
procedure cmbSoftPkgSelectChange(Sender: TObject);
|
||||||
|
// Смена пакета утилит через выпадающий список
|
||||||
|
procedure cmbToolsPkgSelectChange(Sender: TObject);
|
||||||
// Обрабока клика по кнопке обновления выпадающего меню пакетов программ
|
// Обрабока клика по кнопке обновления выпадающего меню пакетов программ
|
||||||
procedure btnSoftPkgReloadClick(Sender: TObject);
|
procedure btnSoftPkgReloadClick(Sender: TObject);
|
||||||
// Обрабока клика по кнопке обновления выпадающего меню пакетов утилит
|
// Обрабока клика по кнопке обновления выпадающего меню пакетов утилит
|
||||||
procedure btnToolsPkgReloadClick(Sender: TObject);
|
procedure btnToolsPkgReloadClick(Sender: TObject);
|
||||||
|
// Отображение отметок в нодах дерева программ
|
||||||
|
procedure vstSoftPkgContentsInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode;
|
||||||
|
var InitialStates: TVirtualNodeInitStates);
|
||||||
|
// Отображение имён утилит в нодах дерева программ
|
||||||
|
procedure vstSoftPkgContentsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
|
||||||
|
Column: TColumnIndex; TextType: TVSTTextType; var CellText: String);
|
||||||
|
// Отображение имён утилит в нодах дерева утилит
|
||||||
|
procedure vstToolsPkgContentsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
|
||||||
|
Column: TColumnIndex; TextType: TVSTTextType; var CellText: String);
|
||||||
private
|
private
|
||||||
// Перезагрузка списка пакетов и выпадающих меню пакетов по указанному типу
|
// Создание ноды в указанном дереве с указанными параметрами
|
||||||
procedure ReloadPackagesList(APackageType: TPackageType);
|
function AddNode(AVST: TVirtualStringTree; ARootNode: PVirtualNode; AName: String;
|
||||||
|
APath: String = ''): PVirtualNode;
|
||||||
|
// Создание ноды в указанном дереве с указанными параметрами
|
||||||
|
//function AddNode(AVST: TVirtualStringTree; ARootNode: PVirtualNode; AName: String;
|
||||||
|
// APath: String = ''): PVirtualNode;
|
||||||
|
// Отображение имён программ в нодах деревьев при инициализации деревьев
|
||||||
|
procedure SetNodeText(AVST: TVirtualStringTree; Node: PVirtualNode; Column: TColumnIndex;
|
||||||
|
TextType: TVSTTextType; var CellText: String);
|
||||||
|
// Заполнение дерева содержимым пакета
|
||||||
|
procedure PackageFillVST(AVST: TVirtualStringTree; APackage: TPackage);
|
||||||
public
|
public
|
||||||
|
// Выбор пакета. Заполняется дерево и отображается описание пакета.
|
||||||
|
procedure SetActivePackage(AType: TPackageType; APackageIndex: Integer);
|
||||||
|
// Перезагрузка дерева пакетов и выпадающих списков пакетов по указанному типу
|
||||||
|
procedure ReloadPackagesList(APackageType: TPackageType);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -58,9 +98,111 @@ implementation
|
|||||||
{ TfmMain }
|
{ TfmMain }
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TfmMain.ReloadPackagesList()
|
Функция: TPackage.AddNode()
|
||||||
Назначение: Создание формы и обновление выпадающих меню пакетов программ и утилит
|
Назначение: Создание дочерней ноды в указанном дереве с указанными параметрами
|
||||||
Вх. параметры: Sender: TObject
|
Вх. параметры:
|
||||||
|
AVST: TVirtualStringTree - компонент дерева, в котором нужно создать ноду
|
||||||
|
ARootNode: PVirtualNode - указатель на ноду-родителя (для создания ноды, вложенной в неё)
|
||||||
|
AName: String - название ноды (для отображения имени программы или утилиты)
|
||||||
|
APath: String = '' - путь к программе или утилите (не заполняется для корневых нод)
|
||||||
|
Возвращает: PVirtualNode - указатель на созданную ноду списка
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TfmMain.AddNode(AVST: TVirtualStringTree; ARootNode: PVirtualNode; AName: String;
|
||||||
|
APath: String = ''): PVirtualNode;
|
||||||
|
var
|
||||||
|
ptrData: PChildNodeData;
|
||||||
|
begin
|
||||||
|
Result := AVST.AddChild(ARootNode);
|
||||||
|
AVST.ValidateNode(Result, False);
|
||||||
|
ptrData := AVST.GetNodeData(Result);
|
||||||
|
ptrData^.FName := AName;
|
||||||
|
//if Assigned(APath) then
|
||||||
|
ptrData^.FPath := APath;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.SetNodeText()
|
||||||
|
Назначение: Отображение имён программ в нодах деревьев при инициализации деревьев
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.SetNodeText(AVST: TVirtualStringTree; Node: PVirtualNode; Column: TColumnIndex;
|
||||||
|
TextType: TVSTTextType; var CellText: String);
|
||||||
|
var
|
||||||
|
PData: PRootNodeData;
|
||||||
|
begin
|
||||||
|
PData := AVST.GetNodeData(Node);
|
||||||
|
CellText := PData^.FName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.SetActivePackage()
|
||||||
|
Назначение: Выбор пакета. Заполняется дерево и отображается описание пакета.
|
||||||
|
Вх. параметры:
|
||||||
|
AType: TPackageType - тип пакета
|
||||||
|
APackageIndex: integer - номер пакета в списке (а равно в соотв. ComboBox)
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.SetActivePackage(AType: TPackageType; APackageIndex: Integer);
|
||||||
|
var
|
||||||
|
Package: TPackage;
|
||||||
|
begin
|
||||||
|
case (AType) of
|
||||||
|
ptSoft:
|
||||||
|
begin
|
||||||
|
Package := dmMain.SoftPackages[APackageIndex];
|
||||||
|
PackageFillVST(vstSoftPkgContents, Package);
|
||||||
|
labSoftPkgDescription.Caption := Package.Description;
|
||||||
|
end;
|
||||||
|
ptTools:
|
||||||
|
begin
|
||||||
|
Package := dmMain.ToolsPackages[APackageIndex];
|
||||||
|
PackageFillVST(vstToolsPkgContents, Package);
|
||||||
|
labToolsPkgDescription.Caption := Package.Description;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
raise Exception.Create('TfmMain.SetActivePackage(): передан неизвестный тип пакета');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.PackageFillVST()
|
||||||
|
Назначение: Заполнение дерева содержимым пакета
|
||||||
|
Вх. параметры:
|
||||||
|
AVST: TVirtualStringTree - компонент дерева, которое необходимо заполнить
|
||||||
|
APackage: TPackage - объект пакета
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.PackageFillVST(AVST: TVirtualStringTree; APackage: TPackage);
|
||||||
|
var
|
||||||
|
Sections: TStringList;
|
||||||
|
SectionItems: TStringList;
|
||||||
|
keySection: Integer;
|
||||||
|
keyItem: Integer;
|
||||||
|
Path: String;
|
||||||
|
ptrRootNode: PVirtualNode;
|
||||||
|
ptrChildNode: PVirtualNode;
|
||||||
|
begin
|
||||||
|
AVST.Clear;
|
||||||
|
Sections := TStringList.Create;
|
||||||
|
SectionItems := TStringList.Create;
|
||||||
|
APackage.ReadSections(Sections);
|
||||||
|
for keySection := 0 to Sections.Count - 1 do
|
||||||
|
begin
|
||||||
|
if Sections[keySection] = 'PackageInfo' then
|
||||||
|
continue;
|
||||||
|
ptrRootNode := AddNode(AVST, nil, Sections[keySection]);
|
||||||
|
APackage.ReadSection(Sections[keySection], SectionItems);
|
||||||
|
if SectionItems.Count > 0 then
|
||||||
|
begin
|
||||||
|
for keyItem := 0 to SectionItems.Count - 1 do
|
||||||
|
begin
|
||||||
|
Path := APackage.ReadString(Sections[keySection], SectionItems[keyItem], '');
|
||||||
|
AddNode(AVST, ptrRootNode, SectionItems[keyItem], Path);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.ReloadPackagesList()
|
||||||
|
Назначение: Обновление выпадающих меню пакетов при создании окна
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TfmMain.FormCreate(Sender: TObject);
|
procedure TfmMain.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
@ -69,9 +211,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TfmMain.btnSoftPkgReloadClick()
|
Процедура: TfmMain.btnSoftPkgReloadClick()
|
||||||
Назначение: Обрабока клика по кнопке обновления выпадающего меню пакетов программ
|
Назначение: Обрабока клика по кнопке обновления выпадающего списка пакетов программ
|
||||||
Вх. параметры: Sender: TObject
|
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TfmMain.btnSoftPkgReloadClick(Sender: TObject);
|
procedure TfmMain.btnSoftPkgReloadClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
@ -79,38 +220,73 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TfmMain.btnToolsPkgReloadClick()
|
Процедура: TfmMain.btnToolsPkgReloadClick()
|
||||||
Назначение: Обрабока клика по кнопке обновления выпадающего меню пакетов утилит
|
Назначение: Обрабока клика по кнопке обновления выпадающего списка пакетов утилит
|
||||||
Вх. параметры: Sender: TObject
|
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TfmMain.btnToolsPkgReloadClick(Sender: TObject);
|
procedure TfmMain.btnToolsPkgReloadClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
ReloadPackagesList(ptTools);
|
ReloadPackagesList(ptTools);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.vstSoftPkgContentsGetText()
|
||||||
|
Назначение: Отображение имён программ в нодах дерева программ
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.vstSoftPkgContentsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
|
||||||
|
Column: TColumnIndex; TextType: TVSTTextType; var CellText: String);
|
||||||
|
begin
|
||||||
|
SetNodeText(vstSoftPkgContents, Node, Column, TextType, CellText);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.vstSoftPkgContentsGetText()
|
||||||
|
Назначение: Отображение имён утилит в нодах дерева утилит
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.vstToolsPkgContentsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
|
||||||
|
Column: TColumnIndex; TextType: TVSTTextType; var CellText: String);
|
||||||
|
begin
|
||||||
|
SetNodeText(vstToolsPkgContents, Node, Column, TextType, CellText);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.vstSoftPkgContentsInitNode()
|
||||||
|
Назначение: Отображение отметок в нодах дерева программ
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.vstSoftPkgContentsInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode;
|
||||||
|
var InitialStates: TVirtualNodeInitStates);
|
||||||
|
begin
|
||||||
|
//Sender.CheckType[Node] := ctTriStateCheckBox;
|
||||||
|
case (Sender.GetNodeLevel(Node)) of
|
||||||
|
0: Node^.CheckType := ctTriStateCheckBox;
|
||||||
|
1: Node^.CheckType := ctCheckBox;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Процедура: TfmMain.ReloadPackagesList()
|
Процедура: TfmMain.ReloadPackagesList()
|
||||||
Назначение: Перезагрузка списка пакетов и выпадающих меню пакетов по указанному типу
|
Назначение: Перезагрузка пакетов и заполнение выпадающих списков пакетов
|
||||||
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TfmMain.ReloadPackagesList(APackageType: TPackageType);
|
procedure TfmMain.ReloadPackagesList(APackageType: TPackageType);
|
||||||
var
|
var
|
||||||
LastIndex: integer;
|
LastIndex: Integer;
|
||||||
Key: Integer;
|
Key: Integer;
|
||||||
Pkg: TPackage;
|
|
||||||
Combo: TComboBox;
|
|
||||||
PackageList: TPackageList;
|
PackageList: TPackageList;
|
||||||
|
Package: TPackage;
|
||||||
|
Combo: TComboBox;
|
||||||
begin
|
begin
|
||||||
case (APackageType) of
|
case (APackageType) of
|
||||||
ptSoft: begin
|
ptSoft:
|
||||||
|
begin
|
||||||
Combo := cmbSoftPkgSelect;
|
Combo := cmbSoftPkgSelect;
|
||||||
PackageList := dmMain.SoftPackages;
|
PackageList := dmMain.SoftPackages;
|
||||||
end;
|
end;
|
||||||
ptTools: begin
|
ptTools:
|
||||||
|
begin
|
||||||
Combo := cmbToolsPkgSelect;
|
Combo := cmbToolsPkgSelect;
|
||||||
PackageList := dmMain.ToolsPackages;
|
PackageList := dmMain.ToolsPackages;
|
||||||
end;
|
end;
|
||||||
ptUnknown: raise Exception.Create('TfmMain.ReloadPackagesList(): передан ptUnknown');
|
else raise Exception.Create('TfmMain.ReloadPackagesList(): передан неизвестный тип пакета');
|
||||||
end;
|
end;
|
||||||
LastIndex := Combo.ItemIndex;
|
LastIndex := Combo.ItemIndex;
|
||||||
if LastIndex < 0 then
|
if LastIndex < 0 then
|
||||||
@ -121,14 +297,32 @@ begin
|
|||||||
begin
|
begin
|
||||||
for Key := 0 to PackageList.Count - 1 do
|
for Key := 0 to PackageList.Count - 1 do
|
||||||
begin
|
begin
|
||||||
Pkg := PackageList[Key];
|
Package := PackageList[Key];
|
||||||
Combo.Items.Add(Pkg.Name + ' (' + ExtractFileName(Pkg.FileName) + ')');
|
Combo.Items.Add(Package.Name + ' (' + ExtractFileName(Package.FileName) + ')');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if Combo.Items.Count <= LastIndex then
|
if Combo.Items.Count <= LastIndex then
|
||||||
LastIndex := Combo.Items.Count - 1;
|
LastIndex := Combo.Items.Count - 1;
|
||||||
Combo.ItemIndex := LastIndex;
|
Combo.ItemIndex := LastIndex;
|
||||||
|
SetActivePackage(APackageType, LastIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.cmbSoftPkgSelectChange()
|
||||||
|
Назначение: Смена пакета программ через выпадающий список
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.cmbSoftPkgSelectChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SetActivePackage(ptSoft, cmbSoftPkgSelect.ItemIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Процедура: TfmMain.cmbSoftPkgSelectChange()
|
||||||
|
Назначение: Смена пакета утилит через выпадающий список
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TfmMain.cmbToolsPkgSelectChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SetActivePackage(ptTools, cmbToolsPkgSelect.ItemIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user