Страница 97 из 243

Добавлено: Пн июн 24, 2019 13:08
Flasher
Loopback писал(а):Кстати, в ini* еще надо бы поддержку редиректов секций добавить.
Было бы недурно.
Loopback писал(а):значит такой вариант достаточен.
В описаниях для строчных? Вероятно.

[cut]
Loopback писал(а):а когда с большим временным разрывом - совсем другое.
Я не ко времени адресую, а к логике. Т.е. ты же должен был понимать для чего это нужно, когда делал. Не с мыслью же "а, пусть будет...".[/cut]

Добавлено: Ср июл 17, 2019 13:39
Loopback
Выложена новая версия.

2.0.7
+ добавлена поддержка ключа RedirectSection в команды Ini*
+ autorun.cfg теперь может быть в любой юникодной кодировке
+ LngRead теперь должен читать файлы в любых кодировках
+ ModifyDialogs: в тексте команды AddCondition разворачиваются переменные

Добавлено: Ср июл 17, 2019 14:52
Flasher
Loopback
Респект! Вечером проверю.

Добавлено: Ср июл 17, 2019 23:03
Flasher
Переменные в AddCondition проверил. Всё пучком. 8) Теперь могу пройтись по всему списку. Могу позже скинуть уже переделанные под универсальные примеры ModifyDialogs.
Loopback писал(а):Если нет - надо добавить.
Не вижу.
Loopback писал(а):в любых кодировках
Так уж в любых? :)
autorun.cfg мне пока хватает и в ANSI. Это, видимо, больше для некоторых других языков актуально, где, например, нужно свои комменты писать.

Добавлено: Чт июл 18, 2019 11:28
Loopback
Flasher писал(а):Не вижу.
Передумал :D Там только дефолтный текст, вот там реально это может понадобиться?
Flasher писал(а):Так уж в любых?
Ну да, не совсем, UTF32 не поддерживается :oops:
Flasher писал(а):autorun.cfg мне пока хватает и в ANSI. Это, видимо, больше для некоторых других языков актуально, где, например, нужно свои комменты писать.
Да собственно это побочная фича от изменения LngRead, функция чтения одна для всего, добавлось там - автоматом и здесь. Раньше для конфига из юникода поддерживался только UTF16.

Добавлено: Чт июл 18, 2019 12:31
Flasher
Loopback писал(а):вот там реально это может понадобиться?
Не знаю. Не моделировал такие ситуации пока.
Loopback писал(а):Ну да, не совсем, UTF32 не поддерживается
Полагаю, там список одним UTF32 не ограничивается. ;)
Loopback писал(а):добавлось там - автоматом и здесь.
Ясно.

В общем, по сути-то кроме лёгкой правки хелпа осталась только GetCpuInfo. И всё. Можно будет выдвигать плагин на пьедестал абсолютного почёта :), если, конечно, тебе в голову не ударит вернуться к созданию полноценного скриптового движка. :wink:

Добавлено: Чт июл 18, 2019 14:14
Loopback
Flasher писал(а):Полагаю, там список одним UTF32 не ограничивается.
Надо было уточнить, что "в любой распространенной юникодной кодировке" :wink: Конечно, не зная, в какой кодировке файл, из ANSI я могу перекодировать только используя системную кодировку.
Flasher писал(а):осталась только GetCpuInfo
Да, сейчас всё зарелизю и займусь.
Flasher писал(а):если, конечно, тебе в голову не ударит вернуться к созданию полноценного скриптового движка
Тут всё не так просто. Не факт, что синтаксис в таком движке будет удобнее именно для этой задачи. Например, сейчас есть разворачивание переменных окружения прямо в тексте, использование текстовых параметров без кавычек, переключатели и т.д. От этого придется отказаться. В общем, эта идея еще пока витает :)

Добавлено: Чт июл 18, 2019 14:35
Flasher
Loopback писал(а):Надо было уточнить, что "в любой распространенной юникодной кодировке"
Это другое дело.
Loopback писал(а):Да, сейчас всё зарелизю и займусь.
Отлично! Только надо ещё кое-что в справке подправить (примеры, в особенности).
Loopback писал(а):От этого придется отказаться.
Это, получается, конфиг на помойку? Я думал, что может быть некая надстройка над имеющимся типа скриптинга в рамках TCMediaInfo.xml.

Добавлено: Чт июл 18, 2019 21:33
Loopback
Flasher писал(а): Я думал, что может быть некая надстройка над имеющимся типа скриптинга в рамках TCMediaInfo.xml.
Тут несколько разные сценарии. Не уверен, что от "надстройки" будет какой-то заметный выигрыш, с тем же успехом можно запустить и внешний скрипт.

Добавлено: Чт июл 18, 2019 23:18
Flasher
Loopback
Если нужно возвращать значения, то внешний скрипт (ещё и с учётом консольного вывода) будет куда медленнее.

Готовя правку примера для chm, столкнулся с такой делемой. Надо из lng-ключа вытащить 5-й элемент в массиве, разделённый по \n:
5102="Вид окна\nОсновные операции\nСодержимое панелей\nЯзык\nПравка/Просмотр\nШрифты\nЦвета\nРазное\nАрхиваторы\nАрхиватор ZIP\nТабуляторы"
Внешний скрипт со Split(Str)(4) для хелпа не годится.
Можно было бы соорудить многоэтажки из StrPos, Set и StrMid, но это тоже нормальным вариантом трудно назвать:

Код: Выделить всё

IniRead LNG %COMMANDER_INI% Configuration LanguageIni
LngRead Edit 5102 '%COMMANDER_PATH%\Language\%LNG%'
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos2 "%Edit%" \n
Set /C Pos %Pos2%-%Pos%
StrMid Edit "%Edit%" %Pos%+2 %Pos%
MsgBox %Edit%
Было бы логично для строчных переменных добавить переключатель /С, чтобы проводить числовые операции с переменными.

Может, сделаешь новую команду (Split или StrRegExpReplace)?

Добавлено: Чт июл 25, 2019 11:56
Loopback
Flasher писал(а):Может, сделаешь новую команду (Split или StrRegExpReplace)?
С регэкспом пока повременим. Split я очень люблю, но в чистом виде его тут не сделать, т.к. нет поддержки массивов. Но как раз в тестовой версии MediaInfo из тех же соображений добавлена функция StrPart - разделяет строку по разделителю и возвращает часть с заданным индексом. Как раз то, что надо. Можно перенести ее сюда.

Насчет /C для числовых значений можно подумать, в принципе здравая идея.

Добавлено: Чт июл 25, 2019 14:14
Flasher
Loopback
Split здесь я себе как раз представлял как StrPart. Переноси, конечно. Тогда ждать не буду, под неё пример подгоню.

/С ещё тут не помешал бы: IniRead, IniWrite, GetUptime, MsgBox, RegRead, RegWrite, SendCommand, Sleep, AddControl.

В TCTorrent коснулись ShellExec. Может, тут /SW_SHOWNOACTIVATE тоже стоит добавить? Или от /SW_MINIMIZE следует ждать того же эффекта?

Добавлено: Чт июл 25, 2019 21:58
Loopback
Flasher писал(а):Может, тут /SW_SHOWNOACTIVATE тоже стоит добавить? Или от /SW_MINIMIZE следует ждать того же эффекта?
Может и стоит, если актуально. И нет, там эффект другой.

Добавлено: Пт июл 26, 2019 00:19
Flasher
Loopback
Запрашеваемый в любом случае актуальнее имеющегося.

Модифицированный пример скинул в ЛС.

Добавлено: Вт окт 29, 2019 09:31
Avada
Loopback
Конечно, до финала версии 9.50 ещё далеко, но изменения в диалоге копирования (из-за новых кнопок) уже несомненны, непригодность указанных в справке примеров настроек для изменённого диалога — тоже (там всё прекрасно видно и не требует длинных пояснений), так что проработать в тестовом режиме подгонку Autorun_ModifyDialogs к новой версии диалога копирования было бы очень неплохо.