TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 122, 123, 124 ... 128, 129, 130  Next  :| |:
Total Commander -> Плагины Total Commander

#1831:  Author: sa PostPosted: Thu Jan 12, 2017 17:20
    —
MVV wrote:
В общем, главное, что работает.

А какой смысл искать первое попавшееся активное окно?

#1832:  Author: FlasherLocation: Москва PostPosted: Thu Jan 12, 2017 17:23
    —
Для отправки ему доп. команд после ожидания.

#1833:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 17, 2017 11:07
    —
Между прочим, в виндах с 2000 по 10 комбобокс в диалоге выбора файла устроен одинаково (ComboBoxEx32 с ComboBox c Edit) и имеет один и тот же идентификатор ($47C), т.к. это не Delphi, поэтому его можно однозначно получать по этому идентификатору, если добавить в TCFS2 функцию GetDlgItem.

#1834:  Author: FlasherLocation: Москва PostPosted: Tue Jan 17, 2017 11:10
    —
А проблему с задержкой это решит?

#1835:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 17, 2017 12:33
    —
Не решит, т.к. диалог сам устанавливает текст в поле ввода (но он в случае cm_LoadSelectionFromFile пуст). Нужно пытаться как-то уловить тот факт, что диалог уже готов (возможно, винда это делает до того, как делает диалог видимым - надо проверить).

#1836:  Author: FlasherLocation: Москва PostPosted: Tue Jan 17, 2017 13:07
    —
Надо. А то шило на мыло получается.

#1837:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 17, 2017 23:49
    —
Добавил ещё одну запоздалую мелочь, облегчающую отладку и эксперименты - при запуске с ключом /l все вызовы функций вместе с возвращаемыми значениями записываются в файл %TEMP%\TCFS2.log.

TCFS2 Build 574:
+ параметр /l включает ведение журнала вызовов функций в файле %TEMP%\TCFS2.log

#1838:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Dec 04, 2017 22:23
    —
По логам всё одинаково выполняется, т.е. разница в том, чем TCFS2 не управляет. Стабильно картина повторяется? На первом никогда не срабатывает (10 из 10), на втором - всегда?

Что если добавить небольшую задержку (команду delay) перед посылом Enter?

По идее, если Ctrl и Shift зажаты во время посыла Enter, они и должны обработаться как единое сочетание, т.к. эмулятор нажатия клавиш просто нажимает клавишу Enter, которая дополняет уже нажатые. И разница приходит в голову только та же, что упоминал Flasher - что в одном случае по какой-то причине (например, задержка запуска из-за менее быстрого отклика системы) клавиши успевают оказаться отжатыми...

#1839:  Author: ingerard PostPosted: Mon Dec 04, 2017 22:26
    —
MVV
Извиняюсь, поспешил сообщение удалить, помогает только если задержку 1 сек ставить. А это долго, хотелось бы быстрое срабатывание.

Без малейшей задержки ни разу не срабатывало, сколько не пробовал, а если поставить уже 50мс, то 1 через 5 может сработает.

#1840:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Dec 05, 2017 00:50
    —
Есть вариант: отправить сообщение BM_CLICK кнопке ОК (найти её как первую TButton в диалоге). Так зависимости от нажатых клавиш нет.

#1841:  Author: FlasherLocation: Москва PostPosted: Tue Dec 05, 2017 02:04
    —
ОК. Запостил.

#1842:  Author: FlasherLocation: Москва PostPosted: Tue Dec 05, 2017 19:42
    —
MVV
Имеет проблему settext_wait, если в текст попадают скобки.

И ещё. Ты не мог бы придумать для функции loop какой-нибудь счётчик/число итераций, а то и массив значений, чтобы их подставлять в перемунную?
Если грубо: loop(anyfunc(#1), 3) или loop([134,232,312], anyfunc(#1))
Если в loop это делать неудобно, то for как новая функция вполне подойдёт.

#1843:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Dec 07, 2017 18:41
    —
Сдаётся мне, что не только в скобках проблема, т.к. такое работает:
Code:
TCFS2 /ef "tcm(2032,1) delay(1000) eval(settext_wait(`C:\List (1).txt`, findwnd(Edit,,findwnd(ComboBox,,findwnd(#32770),0,1))))"

Code:
TCFS2 /ef "tcm(508,1) eval(settext_wait(`CopyTree:"C:\Folder (1).txt"`,findwnd(TAltEdit,,,0,1)))"

Ага, понял, проблему вызывает несбалансированность скобок:
Code:
TCFS2 /ef "tcm(508,1) eval(settext_wait(`CopyTree:"C:\Folder 1).txt"`,findwnd(TAltEdit,,,0,1)))"


Хорошо впишется только новая функция, которая первым аргументом будет принимать выражение, а остальными - перебираемые значения: foreach(anyfunc(#1), 134, 232, 312)...

#1844:  Author: FlasherLocation: Москва PostPosted: Thu Dec 07, 2017 23:33
    —
MVV wrote:
Ага, понял, проблему вызывает несбалансированность скобок:
Но почему же скобка внутри обратных апострофов не игнорируется?

MVV wrote:
Хорошо впишется только новая функция
Гуд. А вдобавок for(anyfunc(#1), <end>, <begin - необ., 0 по умолчанию>) впишется?

#1845:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Dec 08, 2017 13:25
    —
Flasher wrote:
Но почему же скобка внутри обратных апострофов не игнорируется?

Это мне предстоит выяснить...

Flasher wrote:
Гуд. А вдобавок for(anyfunc(#1), <end>, <begin - необ., 0 по умолчанию>) впишется?

Не понял, что имеется в виду. Я говорил про функцию, которая принимает вычисляемое выражение и набор аргументов произвольной длины, в том числе в 1 или 2 элемента, а тут о чём речь?


Last edited by MVV on Fri Dec 08, 2017 14:52; edited 2 times in total



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 122, 123, 124 ... 128, 129, 130  Next  :| |:
Page 123 of 130

Powered by phpBB © 2001, 2005 phpBB Group