| View previous topic :: View next topic |
| Author |
Message |
FallenAngel
Joined: 30 Dec 2025 Posts: 12
|
(Separately) Posted: Fri Feb 06, 2026 13:12 Post subject: |
|
|
Orion9
TCFS2, точно, спасибо.
Про CompareTool расскажу что хочу. Решение пока не могу придумать. Идея, условно:
if exist WinMergeU.exe then (выполняем как обычно CompareTool=WinMergeU.exe) else (предлагаем скачать перекинув на условный BAT-ник). |
|
| Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 995
|
(Separately) Posted: Fri Feb 06, 2026 19:13 Post subject: |
|
|
FallenAngel
А что тут думать? Нужно брать и делать, как вы написали )
Сначала считать ключ CompareTool и проверить путь в его значении: если путь существует, то выполнить cm_CompareFilesByContent, если не существует, то вывести MsgBox с вопросом, нужно ли скачивать WinMerge.
Опционально можно добавить возможность сравнения внутренним инструментом, если пользователь откажется от скачивания.
Небольшой пример:
| Code: | RegisterCommand 60050 "CompareTwoFiles"
Func CompareTwoFiles()
Local sTool
# чтение ключа
sTool = IniRead("~/R", COMMANDER_INI, "Configuration", "CompareTool", 0)
# раскрытие переменных окружения в значении ключа, если они есть
sTool = Set(sTool)
# проверка существования файла
If FileExist(sTool) Then
# файл существует
# послать команду сравнения и выйти
SendCommand(2022) # cm_CompareFilesByContent
Return
EndIf
# файл не существует
MsgBox("Инструмент сравнения не найден " & sTool & auCRLF & auCRLF & _
"Загрузить из Интернета?", "Autorun", 3+0+48)
# кнопка "Да" не была нажата, выйти из скрипта
If EXTENDED <> 6 Then Return
# запуск батника для загрузки
ShellExec(COMMANDER_PATH & "\Scripts\WinMergedownload.bat")
EndFunc |
Как у вас со скриптингом, можете дальше развить этот пример, а то я через неделю только освобожусь.
Кстати, вместо батника можно использовать функцию WinInetDownloadFile для загрузки файла прямо из Autorun
| Code: | Local url = "https://downloads.sourceforge.net/winmerge/winmerge-2.16.54-x64-exe.zip"
WinInetDownloadFile(url, TEMP & "\winmerge.zip") |
WinMerge загрузится во временный каталог в архиве winmerge.zip. Останется распаковать этот архив в нужное место и сообщить пользователю об окончании операции. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|