powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / qWORD
12 сообщений из 12, страница 1 из 1
qWORD
    #34399723
___Andrey___
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь знает, как обработать событие(например, нажатие клавиши) в qWORD?
...
Рейтинг: 0 / 0
qWORD
    #34401562
solwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
___Andrey___Кто-нибудь знает, как обработать событие(например, нажатие клавиши) в qWORD?

В отображении входим в режим Администратора (Ctrl+S), отмечаем ячейку где у нас будет находится кнопка и заходим в свойства этой ячейки. Теперь смотрим на параметры:

Константа - Вызов сообщения (Текст будет отображаться как надпись на кнопке)
Вариант редактирования - только_развертка
Тип развертки - действие

Параметры развертки - d qARM.Message("Проверка!") -- в этом параметре собственно мы и описываем действия по нажатию на кнопку. В моем случае выполняется метод qARM.Message(str).

Очень жаль, что документация по работе с qWORD составлена в сжатом виде. Видимо подразумевается, что специалист, который работает с этой системой прошел обучение в СП "АРМ". Но для того чтобы принять решение о удобстве оболочки и последующем ее использовании не всегда есть возможность отправить специалиста на обучение. Если бы существовал какой либо мануал, с описанием параметров свойств объектов и методов, чтобы разработчик смог по шагам от простого к сложному попробовать все возможности системы и увидеть результат своей работы, то было бы просто здорово. Мне кажется, что на этот продукт тогда обратили бы внимание многие разработчики.
...
Рейтинг: 0 / 0
qWORD
    #34401820
___Andrey__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, конечно, за ответ, но вопрос был не об этом =)

Объясняю суть проблемы: мне нужно реагировать не на нажатие, созданной кнопки, а, например, нажал я стрелку вверх или вниз и мне тут, бац и сообщение выдалось... нажал кнопку "s" и какое-то еще действие произошло, которое я задал. Вот.

Насчет документации я согласен =( Почему-то разработчики особо себя не утруждали, видимо, а особенно раздражают надписи типа "пока не работает", "доделать, ответственные Саша и Маша". Как-то не серьезно получается... А нам теперь мучаться!
...
Рейтинг: 0 / 0
qWORD
    #34403167
DolSPARM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Своя обработка нажатия клавиш:
Описание отображения/Клавиши/Обработка функциональных клавиш
PS. Лучше обращаться к разработчикам...
PPS. Версия, выложенная на нашем сайте сильно устарела...
...
Рейтинг: 0 / 0
qWORD
    #34403624
__Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такую штуку я видел, но не знаю как с этим делом работать.
Пример, можешь написать?

PS:периодически обращаемся, но вопросов столько...
...
Рейтинг: 0 / 0
qWORD
    #34407993
__Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, я так понимаю никто не знает ответа на этот вопрос... Может быть тогда те, кто нахваливает Cache обратят на это внимание =) Сколько им занимаюсь, ничего хорошего не вижу...

Тогда может быть, кто-нибудь знает как переопределить метод OnKeyDown из класса TqARM?
...
Рейтинг: 0 / 0
qWORD
    #34410265
solwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Andrey_Ну, я так понимаю никто не знает ответа на этот вопрос... Может быть тогда те, кто нахваливает Cache обратят на это внимание =) Сколько им занимаюсь, ничего хорошего не вижу...

Здесь нужно понимать, что от Cache в qWord только глобалы, где хранятся данные и классы в которых описаны методы. Весь интерфейс написан насколько я понимаю на Delphi, кроме того дерево для отображения объектов это тоже средство стороннего разработчика. Так что неудобство вызова тех или иных методов или неудобство программирования это совсем не особенность Cache.

__Andrey_
Тогда может быть, кто-нибудь знает как переопределить метод OnKeyDown из класса TqARM?

Методы переопледеляются наследованием, как прикрутить наследованный метод к событию нажатия на клавишу пока не разбирался, но попробовал переопределить клавиши в самом классе TqArm. Там есть такая строка
S qc=Key S:qc<0 qc=-qc ;D ..Message(qc_" "_Key), если ее найти убрать кавычки перед D ..Message(qc_" "_Key) и потом откомпилировать класс, то при запуске qWord при нажатии на любую клавишу будут выводится коды нажатых клавиш. А потом ниже есть условия на нажатые коды типа:
I qqc=27 .... , где qqc и есть код нажатой клавиши.
Но тут если ты переопределишь нажатие на клавишу, то это переопределение будет действовать не только на твое отображение, но и на всю систему. Поэтому тут надо смотреть, для чего тебе это надо?
Сам метод принимает 3 параметра
Method OnKeyDown(Sender As %String, ByRef Key As %Integer, Shift As %String) As %String [ Language = cache ], по всей видимости в Отображении--Клавиши--Обработка функциональных клавиш нужно записать вызов метода. Как это сделать не разобрался. По F1 выводится краткая справка, но перепробовав все способы по смыслу ничего не получилось. Разработчику хотя бы в краткой справке надо писать пример заполнения параметров.
Уважаемые разработчики qWord, напишите пример обработки для обработки нажатия на клавишу. Какие параметры или что нужно записать в Клавиши--Обработка функциональных клавиш чтобы переопределить нажатие?
...
Рейтинг: 0 / 0
qWORD
    #34410481
__Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
solwolf
Здесь нужно понимать, что от Cache в qWord только глобалы, где хранятся данные и классы в которых описаны методы. Весь интерфейс написан насколько я понимаю на Delphi, кроме того дерево для отображения объектов это тоже средство стороннего разработчика. Так что неудобство вызова тех или иных методов или неудобство программирования это совсем не особенность Cache.
Согласен, что Cache и qWORD это разные вещи, но работать приходится с этим и впечатление падает именно на Cache. Но должен заметить, что код читается с трудом великим. И переопределение методов выглядит как-то странно... Вообще много странностей и умолчаний.
Ладно... для таких споров есть отдельная тема =)
solwolf
Какие параметры или что нужно записать в Клавиши--Обработка функциональных клавиш чтобы переопределить нажатие?
Сегодня после прочтения твоего поста на меня напало озорение и я не смог от него отбиться =) Как переопределить метод я так и не понял, но... в Клавиши--Обработка функциональных клавиш нужно писать так:
Код: plaintext
do:qc=<код клавиши> <Действие>

Пример:
Код: plaintext
do:qc= 13  qARM.Message("Hello!!!") ;по enter сообщение выдается

Вот так оказывается... Могли бы и в помощи написать... не трудно ведь?

solwolf, спасибо тебе за помощь и удачи в работе!
...
Рейтинг: 0 / 0
qWORD
    #34412590
DolSPARM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
??Чем не понятен текст пояснения ??
----------------------------------------------
X186 %Обработка_функциональных_клавиш
Vo(qqnump, -1, 86) Действие, вызываемое по событию OnKeyDown. НЕ рекомендуется активно пользоваться. Не всегда корректно обрабатывается, особенно, если вызов сообщения.
Выполняется по Xcute.
Может изменять/отменять стандартную реакцию qWORD на клавиши через следующие переменные:
qc - код клавиши для реакции qWORD;
Key - код клавиши для отработки объектом (как правило, сбрасывается в 0, чтобы на экране не происходило каких-нибудь странностей).
Пример использования:
S:qc=27 qc=0,Key=0 ;отмена Esc.
Подробнее см. метод qARM.OnKeyDown, OnKeyPress

!!! Можно определить глобальное действие по клавишам для всего приложения. Cм. Проводник/база Глобальная обработка функциональных клавиш (XB186)
---------------------------------------------------------------------------

Если своя реакция на клавиши нужна для организации своего варианта обхода по стрелкам редактируемых полей, то для этого довольно давно в параметрах ячейки добавлен параметр Метка
Табуляции.
...
Рейтинг: 0 / 0
qWORD
    #34414425
solwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DolSPARM
.......
Пример использования:
S:qc=27 qc=0,Key=0 ;отмена Esc.
.......


qWord-XML версия 19.03.2007

Код: plaintext
1.
2.
...Пример использования::qc= 27  qc= 0 ,Key= 0 
Отмена Esc.
...

По моему есть некоторое отличие :)
...
Рейтинг: 0 / 0
qWORD
    #34414557
__Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-первых, присоединяюсь к solwolf.
Во-вторых, DolSPARM, лично для меня и я думаю для многих такое пояснение - все равно, что его и не было бы. Я очень рад, что хоть кому-то оно понятно... ЭТО НЕ КОММЕНТАРИИ!!! Можешь даже не спорить.

DolSPARM!!! Можно определить глобальное действие по клавишам для всего приложения. Cм. Проводник/база Глобальная обработка функциональных клавиш (XB186)
У меня такого вообще нет.
...
Рейтинг: 0 / 0
qWORD
    #34420219
solwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Andrey_ Если не трудно черкни на solwolf@yandex.ru, может общение станет полезным :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / qWORD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]