Нормальная загрузка и смена пакетов программ и утилит, подгрузка деревьев.
Пакеты читаются в кодировке UTF8.
This commit is contained in:
parent
c473d722da
commit
43d2f180fd
@ -19,9 +19,9 @@
|
||||
<VersionInfo>
|
||||
<UseVersionInfo Value="True"/>
|
||||
<MinorVersionNr Value="7"/>
|
||||
<RevisionNr Value="1"/>
|
||||
<Language Value="0419"/>
|
||||
<Attributes pvaDebug="True" pvaPrivateBuild="True"/>
|
||||
<StringTable ProductVersion="0.7.1.0"/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="2">
|
||||
<Item1 Name="Debug" Default="True"/>
|
||||
@ -148,7 +148,6 @@
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<DebugInfoType Value="dsDwarf2Set"/>
|
||||
<UseHeaptrc Value="True"/>
|
||||
<TrashVariables Value="True"/>
|
||||
<UseExternalDbgSyms Value="True"/>
|
||||
</Debugging>
|
||||
@ -166,7 +165,7 @@
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Exceptions Count="4">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
@ -176,6 +175,9 @@
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Name Value="RunError(211)"/>
|
||||
</Item4>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
|
BIN
ABTool.res
BIN
ABTool.res
Binary file not shown.
@ -1,31 +1,41 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет программ для установки
|
||||
# Пакет программ для установки
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет программ 1
|
||||
Description=Пакет программ 1, используемый по умолчанию
|
||||
[Группа 1]
|
||||
Имя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
|
||||
[Группа 2]
|
||||
Имя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
|
||||
# Пакет программ для установки
|
||||
# Пакет программ для установки
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет программ 2
|
||||
Description=Пакет программ 2, используемый по умолчанию
|
||||
[Группа 1]
|
||||
Имя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
|
||||
[Группа 2]
|
||||
Имя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
|
||||
# Пакет программ для установки
|
||||
# Пакет программ для установки
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет программ 3
|
||||
Description=Пакет программ 3, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
@ -1,31 +1,31 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет программ для установки
|
||||
# Пакет программ для установки
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название программы"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет программ 4
|
||||
Description=Пакет программ 4, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
@ -1,36 +1,36 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет утилит для запуска
|
||||
# Пакет утилит для запуска
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет утилит 1
|
||||
Description=Пакет утилит 1, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
@ -1,36 +1,36 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет утилит для запуска
|
||||
# Пакет утилит для запуска
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет утилит 2
|
||||
Description=Пакет утилит 2, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
@ -1,36 +1,36 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет утилит для запуска
|
||||
# Пакет утилит для запуска
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет утилит 3
|
||||
Description=Пакет утилит 3, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
@ -1,36 +1,36 @@
|
||||
#
|
||||
# ABTool v0.7.0
|
||||
# Пакет утилит для запуска
|
||||
# Пакет утилит для запуска
|
||||
#
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
# Секция [PackageInfo] содержит общую информацию о данном пакете:
|
||||
# Name - Название пакета
|
||||
# Description - Краткое описание пакета
|
||||
#
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен ABTool.exe).
|
||||
# Нельзя под один пункт указывать несколько команд.
|
||||
# Можно указывать дополнительные ключи запуска.
|
||||
# Во всех параметрах не должно быть разрывов строк.
|
||||
# В квадратных скобках указывается название группы (например, антивирусы,
|
||||
# проигрыватели и т.д.).
|
||||
# Далее без кавычек указывается:
|
||||
# "Название утилиты"="путь к файлу".
|
||||
# Путь может начинаться с \ (если путь абсолютный; без буквы диска)
|
||||
# или с \\ (если путь относителен 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
|
||||
Name=Пакет утилит 4
|
||||
Description=Пакет утилит 4, используемый по умолчанию
|
||||
[Группа 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
|
||||
|
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/)
|
||||
|
||||
## 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
|
||||
|
||||
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:
|
||||
* 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/)
|
||||
|
||||
## Требования к среде разработки
|
||||
|
||||
* 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)**.
|
||||
|
35
fmain.lfm
35
fmain.lfm
@ -1,7 +1,7 @@
|
||||
object fmMain: TfmMain
|
||||
Left = 304
|
||||
Left = 299
|
||||
Height = 450
|
||||
Top = 87
|
||||
Top = 82
|
||||
Width = 350
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
Caption = 'ABTool'
|
||||
@ -3220,11 +3220,11 @@ object fmMain: TfmMain
|
||||
Height = 430
|
||||
Top = 0
|
||||
Width = 350
|
||||
ActivePage = tabTools
|
||||
ActivePage = tabSoft
|
||||
Align = alClient
|
||||
Images = dmMain.imgIcons
|
||||
TabHeight = 20
|
||||
TabIndex = 1
|
||||
TabIndex = 0
|
||||
TabOrder = 0
|
||||
object tabSoft: TTabSheet
|
||||
Caption = 'Установка'
|
||||
@ -3239,13 +3239,18 @@ object fmMain: TfmMain
|
||||
Align = alClient
|
||||
BorderSpacing.Bottom = 3
|
||||
BorderStyle = bsNone
|
||||
CheckImageKind = ckDarkCheck
|
||||
DefaultText = 'Node'
|
||||
Header.AutoSizeIndex = 0
|
||||
DefaultText = 'Программа'
|
||||
DragOperations = []
|
||||
Header.AutoSizeIndex = -1
|
||||
Header.Columns = <>
|
||||
Header.MainColumn = -1
|
||||
IncrementalSearch = isVisibleOnly
|
||||
IncrementalSearchStart = ssAlwaysStartOver
|
||||
TabOrder = 0
|
||||
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
|
||||
TreeOptions.MiscOptions = [toAcceptOLEDrop, toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick]
|
||||
OnGetText = vstSoftPkgContentsGetText
|
||||
OnInitNode = vstSoftPkgContentsInitNode
|
||||
end
|
||||
object pnSoftTop: TPanel
|
||||
Left = 0
|
||||
@ -3268,6 +3273,7 @@ object fmMain: TfmMain
|
||||
BorderSpacing.Top = 2
|
||||
BorderSpacing.Right = 1
|
||||
ItemHeight = 13
|
||||
OnChange = cmbSoftPkgSelectChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
@ -3440,6 +3446,7 @@ object fmMain: TfmMain
|
||||
BorderSpacing.Top = 2
|
||||
BorderSpacing.Right = 1
|
||||
ItemHeight = 13
|
||||
OnChange = cmbToolsPkgSelectChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
@ -3564,20 +3571,22 @@ object fmMain: TfmMain
|
||||
end
|
||||
object vstToolsPkgContents: TVirtualStringTree
|
||||
Left = 0
|
||||
Height = 306
|
||||
Height = 303
|
||||
Top = 64
|
||||
Width = 342
|
||||
Align = alClient
|
||||
BorderSpacing.Bottom = 3
|
||||
BorderStyle = bsNone
|
||||
CheckImageKind = ckDarkCheck
|
||||
DefaultText = 'Node'
|
||||
DefaultText = 'Утилита'
|
||||
DragOperations = []
|
||||
Header.AutoSizeIndex = 0
|
||||
Header.AutoSizeIndex = -1
|
||||
Header.Columns = <>
|
||||
Header.MainColumn = -1
|
||||
IncrementalSearch = isVisibleOnly
|
||||
IncrementalSearchStart = ssAlwaysStartOver
|
||||
TabOrder = 3
|
||||
TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toReadOnly, toEditOnClick]
|
||||
TreeOptions.SelectionOptions = [toAlwaysSelectNode]
|
||||
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
|
||||
OnGetText = vstToolsPkgContentsGetText
|
||||
end
|
||||
end
|
||||
object tabSystem: TTabSheet
|
||||
|
256
fmain.pas
256
fmain.pas
@ -6,11 +6,26 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
||||
StdCtrls, ExtCtrls, Buttons, ActnList, EditBtn, Menus, VirtualTrees, Types,
|
||||
dMain, uFileUtils, uPackage, uPackageUtils, uPackageList;
|
||||
StdCtrls, ExtCtrls, Buttons, ActnList, EditBtn, Menus, virtualtreeview_package,
|
||||
VirtualTrees, dMain, uPackage, uPackageList;
|
||||
|
||||
type
|
||||
|
||||
// Указатель на тип данных TRootNodeData
|
||||
PRootNodeData = ^TRootNodeData;
|
||||
// Тип данных для работы с корневыми нодами
|
||||
TRootNodeData = record
|
||||
FName: String;
|
||||
end;
|
||||
|
||||
// Указатель на тип данных TChildNodeData
|
||||
PChildNodeData = ^TChildNodeData;
|
||||
// Тип данных для работы с дочерними нодами
|
||||
TChildNodeData = record
|
||||
FName: String;
|
||||
FPath: String;
|
||||
end;
|
||||
|
||||
{ TfmMain }
|
||||
|
||||
TfmMain = class(TForm)
|
||||
@ -34,18 +49,43 @@ type
|
||||
tabSystem: TTabSheet;
|
||||
tabTools: TTabSheet;
|
||||
vstSoftPkgContents: TVirtualStringTree;
|
||||
vstToolsPkgContents: TVirtualStringTree;
|
||||
// Создание формы и обновление выпадающих меню пакетов программ и утилит
|
||||
vstToolsPkgContents: TVirtualStringTree;
|
||||
// Создание формы и обновление выпадающих меню пакетов программ и утилит
|
||||
procedure FormCreate(Sender: TObject);
|
||||
// Смена пакета программ через выпадающий список
|
||||
procedure cmbSoftPkgSelectChange(Sender: TObject);
|
||||
// Смена пакета утилит через выпадающий список
|
||||
procedure cmbToolsPkgSelectChange(Sender: TObject);
|
||||
// Обрабока клика по кнопке обновления выпадающего меню пакетов программ
|
||||
procedure btnSoftPkgReloadClick(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
|
||||
// Перезагрузка списка пакетов и выпадающих меню пакетов по указанному типу
|
||||
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
|
||||
|
||||
// Выбор пакета. Заполняется дерево и отображается описание пакета.
|
||||
procedure SetActivePackage(AType: TPackageType; APackageIndex: Integer);
|
||||
// Перезагрузка дерева пакетов и выпадающих списков пакетов по указанному типу
|
||||
procedure ReloadPackagesList(APackageType: TPackageType);
|
||||
end;
|
||||
|
||||
var
|
||||
@ -56,61 +96,197 @@ implementation
|
||||
{$R *.lfm}
|
||||
|
||||
{ TfmMain }
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmMain.ReloadPackagesList()
|
||||
Назначение: Создание формы и обновление выпадающих меню пакетов программ и утилит
|
||||
Вх. параметры: Sender: TObject
|
||||
Функция: TPackage.AddNode()
|
||||
Назначение: Создание дочерней ноды в указанном дереве с указанными параметрами
|
||||
Вх. параметры:
|
||||
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);
|
||||
begin
|
||||
ReloadPackagesList(ptSoft);
|
||||
ReloadPackagesList(ptTools);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmMain.btnSoftPkgReloadClick()
|
||||
Назначение: Обрабока клика по кнопке обновления выпадающего меню пакетов программ
|
||||
Вх. параметры: Sender: TObject
|
||||
Процедура: TfmMain.btnSoftPkgReloadClick()
|
||||
Назначение: Обрабока клика по кнопке обновления выпадающего списка пакетов программ
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmMain.btnSoftPkgReloadClick(Sender: TObject);
|
||||
begin
|
||||
ReloadPackagesList(ptSoft);
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Процедура: TfmMain.btnToolsPkgReloadClick()
|
||||
Назначение: Обрабока клика по кнопке обновления выпадающего меню пакетов утилит
|
||||
Вх. параметры: Sender: TObject
|
||||
Процедура: TfmMain.btnToolsPkgReloadClick()
|
||||
Назначение: Обрабока клика по кнопке обновления выпадающего списка пакетов утилит
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmMain.btnToolsPkgReloadClick(Sender: TObject);
|
||||
begin
|
||||
ReloadPackagesList(ptTools);
|
||||
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()
|
||||
Назначение: Перезагрузка списка пакетов и выпадающих меню пакетов по указанному типу
|
||||
Назначение: Перезагрузка пакетов и заполнение выпадающих списков пакетов
|
||||
Вх. параметры: APackageType: TPackageType - тип списка пакета
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TfmMain.ReloadPackagesList(APackageType: TPackageType);
|
||||
var
|
||||
LastIndex: integer;
|
||||
LastIndex: Integer;
|
||||
Key: Integer;
|
||||
Pkg: TPackage;
|
||||
Combo: TComboBox;
|
||||
PackageList: TPackageList;
|
||||
begin
|
||||
Package: TPackage;
|
||||
Combo: TComboBox;
|
||||
begin
|
||||
case (APackageType) of
|
||||
ptSoft: begin
|
||||
ptSoft:
|
||||
begin
|
||||
Combo := cmbSoftPkgSelect;
|
||||
PackageList := dmMain.SoftPackages;
|
||||
end;
|
||||
ptTools: begin
|
||||
ptTools:
|
||||
begin
|
||||
Combo := cmbToolsPkgSelect;
|
||||
PackageList := dmMain.ToolsPackages;
|
||||
end;
|
||||
ptUnknown: raise Exception.Create('TfmMain.ReloadPackagesList(): передан ptUnknown');
|
||||
else raise Exception.Create('TfmMain.ReloadPackagesList(): передан неизвестный тип пакета');
|
||||
end;
|
||||
LastIndex := Combo.ItemIndex;
|
||||
if LastIndex < 0 then
|
||||
@ -121,14 +297,32 @@ begin
|
||||
begin
|
||||
for Key := 0 to PackageList.Count - 1 do
|
||||
begin
|
||||
Pkg := PackageList[Key];
|
||||
Combo.Items.Add(Pkg.Name + ' (' + ExtractFileName(Pkg.FileName) + ')');
|
||||
Package := PackageList[Key];
|
||||
Combo.Items.Add(Package.Name + ' (' + ExtractFileName(Package.FileName) + ')');
|
||||
end;
|
||||
end;
|
||||
if Combo.Items.Count <= LastIndex then
|
||||
LastIndex := Combo.Items.Count - 1;
|
||||
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.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user