Страница 90 из 130

Добавлено: Чт дек 04, 2014 16:56
sa
MVV писал(а):можно добавить флаг сравнения с учетом регистра
Хорошо бы: будет страховка для русскоязычных строк.

Добавлено: Чт дек 04, 2014 21:57
MVV
Добавил флаг ini_StrCmpCase=$8000 для сравнения строк с учетом регистра к флагу редирекции. При большом желании можно написать макрос, который будет вызывать функцию с нужными флагами, и пользоваться им.
TCFS2 Build 460

Добавлено: Пт дек 05, 2014 02:35
Victor_Dobrov
Есть пример, переключающей ключ wincmd.ini и кнопку панели инструментов?

например, команда cmd9=em_CopyLinks считывает ключ CopyLinks секции [Configuration]
если ключ 0 (или отсутствует):
записать в Wincmd.ini
CopyLinks=1
записать в Default.bar
button9=Wcmicons.dll,65
menu9=копировать ссылки без изменения их целевого пути

если ключ 1:
записать в Wincmd.ini
CopyLinks=0
записать в Default.bar
button9=Wcmicons.dll,64
menu9=копировать символические ссылки как каталоги

не нашёл похожего примера на предыдущих страницах :cry:
про CopyLinks=2 не упоминаю...

Добавлено: Пт дек 05, 2014 02:43
Flasher
Victor_Dobrov писал(а):Есть пример, переключающей ключ wincmd.ini и кнопку панели инструментов?
Да буквально на днях обсуждали.
А тут схема такая:
/ef "if(tcini(<Sec>, <Key>, <Value>), set_tcini(-/-)+set_ini(-/-)+set_ini(-/-), set_tcini(-/-)+set_ini(-/-)+set_ini(-/-))"

Добавлено: Пт дек 05, 2014 09:55
sa
MVV писал(а):TCFS2 Build 460
Учёт регистра включается. Спасибо!

Добавлено: Пт дек 05, 2014 10:39
MVV
Victor_Dobrov,
К номеру кнопки привязываться - не есть хорошо, потом добавишь кнопку перед ней - и конец команде. Лучше набросать цикл, который ищет кнопку, которая вызывает эту юзер-команду.
Из более серьёзного: если подсказку тотал ещё сможет считать новую для кнопки, то иконку кнопки он не обновит при простой правке BAR-файла, это придется открывать настройку панели инструментов и применять изменения. Т.е., в конце надо будет выполнять следующую команду (можно просто через пробел добавить к тому, что писал Flasher):

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

/ef "tcm(498, 1) send(`{TAB}{ENTER}`)"

Добавлено: Пт дек 05, 2014 16:17
sa
Как вариант, для обновления панели без перемигивания окон, можно в TC создать пользовательскую команду (em_XXX) на основе OPENBAR, которая заново открывает указанный файл панели инструментов, и вызывать её в TCFS2 командой tem(em_XXX).

Добавлено: Пт дек 05, 2014 17:24
MVV
Можно и без этого:

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

/ei locktc(1) tb0 tb1 locktc(0) redraw
Или, с проверкой состояния панели инструментов:

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

/ef "if(hasButtonBar, locktc(1) + tcm(2901) + tcm(2901) + locktc(0) + redraw)"

Добавлено: Пт дек 05, 2014 17:38
sa
Тем не менее: redraw "передёргивает" всё окно TC, а OPENBAR только панель инструментов.

Добавлено: Сб дек 06, 2014 00:48
Flasher
MVV, sa
Зачем вы обсуждаете то, что уже обсуждалось в теме по скинутой мной ссылке?

Добавлено: Ср дек 10, 2014 14:19
MVV
Отсюда.
Flasher писал(а):
MVV писал(а):А искать окно класса Window среди кучи окон класса Window я точно не стану.
Так ты будешь искать только передние окна. В чём сложность? Да и по скорости наверняка побыстрей будет, чем читка в ini.
Что значит "передние окна"? Чтобы проверить тулбар, надо выполнить поиск этого дочернего окна в главном окне тотала. Но если в 32-битной версии его класс уникален - TButtonBar, то в 64-битной его класс - Window, как и у подавляющего большинства остальных дочерних окон и панелей. Разбираться, который из десятка дочерних Window является тулбаром, нет никакого желания.

Добавлено: Ср дек 10, 2014 14:25
Flasher
MVV писал(а):в 32-битной версии его класс уникален - TButtonBar
Во, а ты сделай только для 32-битной TCFS2Tools. :)

Добавлено: Ср дек 10, 2014 14:44
MVV
Нет.

Добавлено: Ср дек 10, 2014 15:17
Flasher
Когда-то мы знали только про 32-битную версию и таких препятствий не встречали. Тут, например, ты тоже писал про Window (да и не только), но в итоге всё получилось...

Добавлено: Ср дек 10, 2014 19:25
MVV
Вообще, send работает с окнами верхнего уровня, а не с дочерниими. Диалоговые окна Гислер поназывал так, как надо.
А 64 бита уже есть, и игнорировать их не хочется.