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

Добавлено: Вт апр 01, 2025 23:20
Orion9
AkulaBig писал(а):Сейчас у меня в одном стиле сделаны переключение ассоциаций, цветовых схем, заголовка ТС, звуковых схем, значков дисков на панели, значков файловых панелей.
Скачал, посмотрел, понравилось.) хЫшный тоже одобряет, ведь так гораздо ближе к инопланетной свич-панели пришельца из чужих миров ))

Пара ремарок, если не против. Идея в панели безусловно просматривается, и смотрится всё неплохо, но необязательно себя ограничивать только цикличным переключением, тем более, что Autorun сейчас предлагает гораздо больше возможностей. Можно, например, сделать выпадающие панели, особенно там, где пунктов много, т.е. около семи, иначе переключать их не очень удобно. Можно, например, сделать выпадающее меню, а с зажатым CTRL цикличное переключение - вариантов много. Или можно добавить звук переключения функцией PlaySound, ведь у хЫшного что ни телодвижение - так всё интересный звук, даже когда он слизь с чужого снимает или веревку подтягивает, всё-равно интересный звук :mrgreen:

Цифры в заголовке можно сделать в обратном порядке, т.е. 7 - полный заголовок, 0 - отключен. Сделать отключение заголовка в один клик, например в Alt+клик по заголовку. Можно еще сделать сброс в дефолт всех настроек, да много чего еще можно придумать. Вы, главное, проценты в функциональной записи уберите, а то ведь новая версия не за горами, как бы не пришлось потом в авральном порядке все исправлять:)

Речь идет о:

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

IniWrite(%ini_FilesIcon%, "Theme", "ThemeNum", %Count%)

IniRead(%ini_FilesIcon%, "Theme", %FilesIconThemeNum%, "")
И подобных записях.
AkulaBig писал(а): Из-за чего мне и пришлось вставить перезагрузку ТС.
Да вроде обсуждали уже и ничего хорошего не придумали. Если Тотал ничем нельзя расшевелить, чтобы он перечитал ключ Titles из секции [CustomFields], то тут видимо только к Гислеру обращаться нужно, увы.

Добавлено: Ср апр 02, 2025 03:47
AkulaBig
Orion9 писал(а):необязательно себя ограничивать только цикличным переключением
Не, ну вас мне все равно не переплюнуть. Так что уж Цезарю - цезарево.
Orion9 писал(а):Речь идет о
Тогда придется проверять, будет-ли сейчас без процентов работать. Похоже придется потратить на это время.
Orion9 писал(а):Да вроде обсуждали уже и ничего хорошего не придумали.
Посмотрю еще коллективный разум. То-есть чужие сборки. Вдруг у кого-то есть что-то интересное.
Кстати, не знаю какую версию сборки вы скачали. Я ведь понадеялся, что решили проблему с мусором в файлах и убрал увеличение буфера на 2 байта. А оказывается именно это и было решением. Так что надо обязательно писать Local fs = FileGetSize(sIni) + 2. Учитывая, что мусор появляется не во всех файлах, может какое-то выравнивание происходит.

Добавлено: Ср апр 02, 2025 11:23
Orion9
AkulaBig писал(а):Не, ну вас мне все равно не переплюнуть.
Пока видны все признаки обратного.) Вот так без шума и без пафоса, а пробили 1500 строк на Autorun. А я, между прочим, целый флакон шампуни сожрал и две плитки альпийского, когда праздновал свой первый штукарь :mrgreen:
AkulaBig писал(а):Тогда придется проверять, будет-ли сейчас без процентов работать.
Будет, не сомневайтесь. Мне тоже пришлось переделать весь код, чтобы избавиться от таких записей, а там ведь ни много ни мало, а семь косолапых набралось.)
AkulaBig писал(а):То-есть чужие сборки. Вдруг у кого-то есть что-то интересное.
Как говорил великий дзен мастер: "Брать из сборок нужно только лучшее, тогда и ваша сборка станет лучшей. Ибо как ваша сборка может стать худшей, если в ней собрано всё самое лучшее? Действительно это невозможно, если только сборщик ни разу не впадал в состояние дзен" :mrgreen:

Если серёзно, не помню ни одной сборки, в которой не было чего-нибудь интересного. Поэтому конечно же возьмите всё самое лучшее и сделайте собственное верхнее меню, иначе без него ваша сборка так и будет восприниматься как учебный автомобиль с торчащим знаком "У", при это не важно, что там в салоне или под капотом :)
AkulaBig писал(а):Кстати, не знаю какую версию сборки вы скачали.
Ссылка на вашу сборку у меня хранится в закладках. Я так и не обновил свой ТС, поэтому еще буду возвращаться и к вашей сборке и к другим сборкам в следующий заход при обновлении. А качал вечером вчера. Как и сказал, мне ваша панель понравилась. Но вы не ограничивайте себя каким-то одним стандартом или одной обкатанной идеей. Сейчас еще раз посмотрел - всё норм, но напрашивается переключение с информированием по умолчанию, а не с зажатым CTRL, как сейчас. В свое время я выбрал такой способ, потому что хотел, чтобы при переключении темы курсор был виден сразу, иначе переключение с хинтом его скрывало. Но у вас не только же тема переключается, но и всё остальное, где деактивация главного окна ТС не играет никакой роли. Поэтому лучше и интереснее сделать сразу переключение с информированием. Конечно, ещё лучше было бы, если при наведении указателя мыши тут же всплывала подсказка о текущей теме, её авторе и т.д., но Гислер не сделал раскрытие переменных окружения в подсказках. Как вариант можно попробовать записывать подсказку в bar-файл вспомогательной функцией после поиска индекса кнопки. Если хотите, посмотрите FindButtonIdx в модуле Buttons, там как раз так сделано.
AkulaBig писал(а):Учитывая, что мусор появляется не во всех файлах, может какое-то выравнивание происходит.
Не совсем понял, о чем речь, но реальные тесты как раз и нужны для того, чтобы выявлять различные галюны и оплошности. Но сейчас-то всё работает?

Добавлено: Ср апр 02, 2025 13:38
AkulaBig
Orion9 писал(а):Не совсем понял, о чем речь
Изображение
А всяческие плюшки конечно-же в дальнейшем будут появляться. Но пока надо рыбу сделать. А то когда то не доделано, се не доделано, а я занимаюсь плюшками, до добра не доведет.

Добавлено: Ср апр 02, 2025 17:41
Orion9
AkulaBig
В сборке, которую я вчера скачал, файл датирован по времени от 12.31. В нём строка без bytes:

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

Local out = buf.GetStr(0,"","")
Может в этом проблема?

Добавлено: Ср апр 02, 2025 19:43
AkulaBig
Orion9 писал(а):В сборке, которую я вчера скачал, файл датирован по времени от 12.31.
Не, это как-раз версия без исправления.
Но, в последней именно эта ошибка и была. Так что теперь вам придется объяснить, каким образом эта ошибка попала в финальную версию, с учетом что я ее исправлял. Не иначе ваш хЫшнЫй к этому причастен.

Добавлено: Ср апр 02, 2025 23:26
Orion9
AkulaBig
Думаю "Хышнег" со своими инопланетными технологиями по искривлению пространства-времени тут ни при чём. Файл был скачал в 7 вечера. Последний модифицированный файл в установщике от 12:45. Если у вас были более поздние версии, но в облаке их не оказалось, то причину надо искать трансферной цепочке ) Но сейчас-то всё работает, или не работает?

Добавлено: Чт апр 03, 2025 04:34
AkulaBig
Orion9 писал(а):Файл был скачал в 7 вечера.
А обновлял я намного позже.
Orion9 писал(а):Но сейчас-то всё работает, или не работает?
Работает. Еще и процентики поубирал. Надо будет еще типа ShellExec /SW_HIDE /WAIT %COMSPEC% '/c rename "%ini_Color%" %prev_name%' переписать.

Добавлено: Чт апр 03, 2025 11:02
Orion9
AkulaBig писал(а):Надо будет еще типа ShellExec /SW_HIDE /WAIT %COMSPEC% '/c rename "%ini_Color%" %prev_name%' переписать.
Нет в таких (командных) записях не надо проценты трогать, если вы об этом. Знаю, что всё это очень путано, сам семь раз вымерял и перепроверял, чтобы один раз наконец рубануть. Но зато теперь на сердце спокойнее.

Добавлено: Чт апр 03, 2025 14:40
AkulaBig
Orion9 писал(а):Нет в таких (командных) записях не надо проценты трогать
Это я уже потестил. Я именно про переписывание в ФЗ. Чтобы везде стало однотипно.

Добавлено: Чт апр 03, 2025 17:24
Orion9
AkulaBig
Понятно.

Если не ошибаюсь, в Autorun сейчас всё является функцией. Но некоторые функции представлены в командной записи не только для совместимости, а потому что так их записывать удобнее.

В общем, я не стал бы этим загоняться. Смысла нет. А профита - тем более :)

Добавлено: Чт апр 03, 2025 20:35
AkulaBig
Orion9 писал(а):Но некоторые функции представлены в командной записи не только для совместимости, а потому что так их записывать удобнее.
Похоже главная проблема не в удобстве а в том, что невозможно развернуть переменную. Не работает %COMMANDER_PATH% и все.

Добавлено: Чт апр 03, 2025 22:44
Orion9
AkulaBig
Быть такого не могёт.)

Хорошо было бы пример в студию, но кажется я понял о чем речь. Пробуйте в таких случаях через промежуточную переменную передавать путь.

Добавлено: Пт апр 04, 2025 03:55
AkulaBig
Orion9 писал(а):Быть такого не могёт.)
Наверняка это от моего слабого знания Autorun. Но с простейшим примером я не справился:

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

ShellExec "%COMMANDER_PATH%\Utilities\TCPlugman\Plugman.exe" /Restart
Orion9 писал(а):Пробуйте в таких случаях через промежуточную переменную передавать путь.
Я хотел оформить все в одном стиле, а не расшибить голову о стену. Понял, когда лучше использовать КЗ и меня это вполне устраивает. Главное, что здесь не процентики виноваты.

Добавлено: Пт апр 04, 2025 17:27
Orion9

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

ShellExec "%COMMANDER_PATH%\Utilities\TCPlugman\Plugman.exe" /Restart 
Ну да, я примерно так и подумал. Если такая запись не срабатывает, то можно попробовать через промежуточную переменную:

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

sPlagman = COMMANDER_PATH & "\Utilities\TCPlugman\Plugman.exe"
ShellExec %sPlagman% "/Restart" 
Или через вычисляемые строки:

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

ShellExec %"COMMANDER_PATH & '\Utilities\TCPlugman\Plugman.exe'" "/Restart"
AkulaBig писал(а):Понял, когда лучше использовать КЗ и меня это вполне устраивает.
Ну, в справке на этот счёт хорошо всё написано, иначе откуда бы ещё я мог это взять.
Autorun писал(а):Использование функций Autorun различается от вида записи — командной или функциональной. В общем случае любая функция Autorun может быть представлена в каждой из двух записей, но для некоторых функций существуют ограничения, на которые отдельно указывается в справке.

В разных случаях та или иная запись может быть более удобной. Использование командной записи часто предпочтительнее для функций со сложным интерфейсом, в частности при наличии переключателей. Такая запись в этом случае будет короче и понятнее. Однако для функций возвращающих результат, особенно при использовании их в выражениях, очевидно, более логичным выглядит функциональная запись.
Командная запись широко используется для передачи приложению параметров в командной строке, обычно включая в себя список параметров, следующих один за другим, и переключателей, которые могут располагаться в произвольном порядке. В ранних версиях Autorun для записи функций использовалась только командная запись.

Основным плюсом такой записи можно считать возможность реализовывать сложную логику в относительно компактной записи, а основным минусом — записанные в ней функции практически невозможно использовать в выражениях. Также, применительно к Autorun, минусом можно считать более сложное использование переменных в параметрах: только малая часть параметров функций поддерживает самостоятельное разворачивание переменных, что влечёт необходимость использования вычисляемых строк.

Хотя командная запись в Autorun остаётся поддерживаемым способом записи функций, она имеет определённые технические ограничения, не позволяющие реализовать некоторые возможности. В дальнейшей разработке при прочих равных условиях приоритет будет отдаваться удобству использования в функциональной записи.
Это неполные фрагменты, написано там ещё больше. Вообще, если браться всерьёз (а вы уже нехило развернулись), то лучше, конечно, полностью ознакомится со справкой, чтобы лучше понимать, какие инструменты существуют и как ими пользоваться. Чтобы не возникало ситуаций, когда для достижения простых задач выбирается неправильный или неоптимальный инструмент. Шишек всегда можно набить, а в справку всё-равно ведь лезть придётся.