Страница 4 из 4

Добавлено: Вт май 10, 2011 11:40
sa
MVV писал(а):Или без пробелов писать надо, или в кавычках.
Спасибо, теперь понятно.

Добавлено: Вт май 10, 2011 18:17
Flasher
HEXFIX писал(а):Flasher
Не доходит до меня, что делать-то надо?
Смотря какая задача. Этот пост видел?

Добавлено: Вт май 10, 2011 18:41
HEXFIX
Flasher
MVV
Спасибо, разобрался.

Добавлено: Ср ноя 16, 2011 13:59
Flasher
MVV писал(а):С помощью TCFS2 можно в принципе переключаться между любым числом вариантов, если создать по em-команде на вариант и запоминать номер последнего варианта в регистре TCFS2Tools или параметре wincmd.ini. Самое главное - чётко представлять себе, что же всё-таки хочется реализовать.
Нужно создать две команды на циклическое переключение em-команд вперёд и назад, соответственно.

Добавлено: Ср ноя 16, 2011 16:34
MVV
Левую/правую панели различать надо?

Для начала выделим регистры для режимов каждой панели и укажем максимальное число режимов на каждой панели. Например,

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

; [Macros]
regImgFilterL=10
regImgFilterR=11
swImgFilterCountL=3
swImgFilterCountR=3
Теперь напишем команды, которые будут переключать режим, принимая номер режима в параметре (названия em-команд можно указать любые, в том числе и одинаковые для обеих панелей, если команда работает с активной панелью, а не с конкретно правой-левой; если наборы фильтров одинаковые, можно вообще использовать одну команду):

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

; [Items]
; swImgFilterL(int mode), swImgFilterR(int mode)
swImgFilterL=tem(em_ShowBlackWhiteImages), eval(#1==0) | tem(em_ShowColorImages), eval(#1==1) | tem(em_ShowPaletteImages)
swImgFilterR=run_item(swImgFilterL, #1)
Теперь напишем команду, которая будет инкрементировать значение в регистре и вызывать команду переключения режима:

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

; [Items]

swImgFilterModeNext=run_item(swImgFilterL, regread(regImgFilterL)) eval(regwrite(regImgFilterL, (regread(regImgFilterL)+1)%(swImgFilterCountL))), eval(L_isActive) | run_item(swImgFilterR, regread(regImgFilterR)) eval(regwrite(regImgFilterR, (regread(regImgFilterR)+1)%(swImgFilterCountR)))
При вызове команды она будет включать режим с текущим номером и увеличивать номер в соответствующем регистре. Например, если режимов у панели 3, то она будет включать режимы в таком порядке: 0, 1, 2, 0, 1, ... Перед первым запуском можно записать в регистр номер стартового режима.

Добавлено: Ср ноя 16, 2011 16:51
Flasher
:shock: Ну, навернул. Теперь есть что осваивать.
sergiokapone писал(а):дальше я сам уже буду курить manual и делать кнопки
Угу, уже. :lol: На некоторые вещи и спустя год использования "без страха" не взглянешь. :roll:

Добавлено: Ср ноя 16, 2011 17:53
MVV
Если вдуматься, ничего сложного:) в команде swImgFilterModeNext два одинаковых блока, каждый для своей панели, так что освоить надо только половину. А в команде swImgFilterL вообще ничего сложного.

Кстати, я это не проверял, только написал, так что проверяйте:)