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

Добавлено: Чт окт 10, 2024 11:14
yozhik
В коллекцию примеров использования и применения.
Заметил я что если в конфиге.aucfg много разных настроек (диалоги, менюхи, прописывание данных в ini), то время их загрузки бывает разным: то побыстрее, то подольше. Понятно, что причины объективные, внешние условия влияют. Но иногда (особенно когда торопишься) щёлкнешь по кнопке, а менюха не открывается, не успела ещё загрузиться. Решение: «полоса прогресса» загрузки в заголовке окна TC.

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

Sleep(500)
# сохраняем родной заголовок окна
Global TitleOrig = WinGetText()

# создаём новый, с «полосой прогресса»
Global BootProgress = Set ("> LOADING SETTINGS  " & ". ")
WinSetText(%BootProgress%)

# создаём ф-цию приращения полосы
Func Boot()
  BootProgress = Set (%BootProgress% & ". ")
  WinSetText(%BootProgress%)
EndFunc # -- Boot

# тут что-то делаем...

Boot()

# опять что-то делаем...

Boot()

# и опять... т.е. через некоторые промежутки расставляем вызов нашей «полосы прогресса»
# и в конце восстанавливаем родной заголовок:

Sleep(500)
WinSetText(%TitleOrig%)

# если в процессе загрузки мы вызываем сторонние утилиты, то фокус может улетать от окна TC
# возвращаем его обратно
WinSetState(23)

Добавлено: Чт окт 10, 2024 13:54
yahuu
sa писал(а):yahuu
Видимо, у вас в Autorun команда вызывается комбинацией клавиш с модификатором Alt.
Используйте вместо cm_Copy команду cm_CopyOtherpanel.
It can indeed be resolved by using cm_CopyOtherpanel, but why is "tcfs2.exe /ef tcm(905)" effective?

Добавлено: Чт окт 10, 2024 16:29
sa
yahuu
Попробуйте вызывать TCFS2-команду комбинацией клавиш с модификатором Alt или из кнопки при нажатом Alt. Команда тоже будет выполняться, как Alt+F5.
При выполнении команды cm_CopyOtherpanel клавиши-модификаторы игнорируются (в отличие от cm_Copy).

Добавлено: Пт окт 11, 2024 02:35
CaptainFlint
[mod="CaptainFlint"]Участнику yahuu выносится предупреждение за нарушение правил форума. Дальнейшие сообщения на английском языке будут удаляться, а продолжение игнорирования правил и модераторских предупреждений приведёт к блокировке аккаунта.[/mod]

[mod="CaptainFlint"]A warning is issued to the user yahuu for violating the forum rules. From now on the messages in English will be deleted. And ignoring the rules and moderator warnings will eventually lead to ban.[/mod]

Добавлено: Пт окт 11, 2024 10:44
yahuu
sa писал(а):yahuu
Попробуйте вызывать TCFS2-команду комбинацией клавиш с модификатором Alt или из кнопки при нажатом Alt. Команда тоже будет выполняться, как Alt+F5.
При выполнении команды cm_CopyOtherpanel клавиши-модификаторы игнорируются (в отличие от cm_Copy).
Большое спасибо

Posted after 5 minutes:
CaptainFlint писал(а):
Из-за того, что перевод с китайского на русский часто не передает смысл, я раньше использовал английский, но в будущем буду переводить на русский. Спасибо, что напомнили мне.

Добавлено: Пн окт 14, 2024 12:41
Loopback
Версия Autorun 2.2.14.1 beta

Внеплановая версия из-за бага с падением в GetKnownFolderPath.

История изменений:

* обновлён немецкий перевод
* изменены некоторые языковые строки в autorun.lng
- StrReplace возвращала 0 вместо пустой строки при пустом параметре
- Tweaks: исправлена потеря фокуса окна TC при первом вызове ControlSetHint
+ функция IsNumber
- функция IsInt возвращала 1 для строки, не приводящейся к целому
- SysInfo: в GetKnownFolderPath исправлено падение TC (на x64, реже на x86)
+ поддержка установки путей c юникодом в CommandExec /CD

Добавлено: Вт окт 15, 2024 13:51
yozhik
Loopback
Если файл ini сохранён в UTF-8 с BOM, то IniWrite не может найти первую секцию (очевидно, из-за BOM), и пишет её имя повторно, в конец файла. Вот эта программа такие ini создаёт, с BOM.

Добавлено: Вт окт 15, 2024 18:38
Loopback
yozhik
Функции Ini* используют API-функции *PrivateProfileString, которые поддерживают только ANSI и UTF-16. Любые другие кодировки для ini в контексте Windows можно считать самодеятельностью: сама программа может с ними работать, но никаких гарантий, что смогут другие.

Добавлю про это в примечаниях.

Добавлено: Вт окт 15, 2024 18:49
yozhik
Loopback
Добро, спасибо, будем знать. Добавить в примечания было бы, конечно, очень кстати. В целом, для таких самодеятельных случаев уже приспособлен ShellExec вкупе с sed'ом, так что упреждающего примечания вполне достаточно для того, чтобы не спотыкаться.

Добавлено: Пт окт 18, 2024 05:17
Monarch-LFV
Подскажите пожалуйста, как с помощью функции FileSetAttr установить атрибут "скрытый" на все файлы *.br2 в папке TC?
Такая запись не работает (не воспринимает звездочку):

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

FileSetAttr("%COMMANDER_PATH%\*.br2", "H")
Работает только если указать конкретный файл, но у меня имена могут быть разные, хочется разом скрыть.

Добавлено: Пт окт 18, 2024 10:40
sa
Monarch-LFV
В справке упоминается только "Имя объекта файловой системы", про * ничего не написано.

Если хочется просто убрать файлы *.br* из показа в папке TC, то можно указать в стиле оформления для папки %COMMANDER_PATH%\* в поле "Автозапуск команд:" например, такую последовательность: em_cd_no_br|cm_Wait 0,cd "*.*", с пользовательской командой

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

[em_cd_no_br]
cmd=cd *.*|*.br*

Добавлено: Пт окт 18, 2024 10:57
Monarch-LFV
sa
Все это замечательно, спасибо! Но это просто скрытие отображения в ТС. Мне же нужно сделать их именно скрытыми (атрибут), у меня есть решение с VBS скриптом (через Autorun погружается), но думал, что раз появилась такая опция в самом плагине, то почему-бы не воспользоваться.
Но ваше решение тоже крутое! Может кому-нибудь пригодится.

Добавлено: Пт окт 18, 2024 12:32
Loopback
Monarch-LFV
Да, пока никаких средств поиска файлов не предусмотрено. Скорее всего, поиск в каком-то виде будет.

Добавлено: Пн окт 21, 2024 14:47
yahuu

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

msgbox(ToDateTime("2024-10-22 19:00:00")-ToDateTime("2024-10-21 19:00:00")) # --> 86400000000
msgbox(Date('yyyy-MM-dd ',ToDateTime("2024-10-21 19:00:00")+86400000000)) # --> 2024-10-21
Почему результат будет 2024-10-21, а не 2024-10-22?
Как мне получить даты завтрашнего и послезавтрашнего дней?

Добавлено: Пн окт 21, 2024 16:00
Loopback
yahuu
Вы потеряли один ноль в числе: 86400000000, должно быть 864000000000:

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

msgbox(Date('yyyy-MM-dd ',ToDateTime("2024-10-21 19:00:00")+864000000000)) # --> 2024-10-22