Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



Как убрать и показать курсор в CHUI программе


Очень часто приходиться сталкиваться с тем,
что во многих интерфейсах курсор появляется в местах,
где его никто не ожидает. Что с этим делать?

Дмитрий Кайдалов

В зависимости от того, в каком порядке будут на экран выводиться данные, скажем в одном фрейме, в CHUI программе (под CHUI подразумеваются программы, которые работают на серверах UNIX/Linux, и доступ к которым осуществляется с помощью эмулятора терминала PuTTY) курсор будет прыгать по нему (фрейму). Это некрасиво и путает пользователя. Появление курсора возле данных, которые можно поменять, для пользователя выглядит как приглашение к редактированию.

def var i as integer.
def var c as char.
def var d as decimal.
display i c d with frame test.
pause 5 no-message.
display c with frame test.
pause no-message.
update i with frame test.

Курсор сначала окажется после поля d, а потом перепрыгнет к полю с. А дальше к полю i. До недавнего времени курсор приходилось постоянно убирать в нижний правый угол экрана, чтобы не мешался (а в самый угол его положить нельзя – можно только с отступом в пару символов).

Данное поведение курсора является следствием неполной конфигурации PROTERMCAP.

За убирание и появление курсора вновь отвечают атрибуты CN и CF. К сожалению в стандартной конфигурации терминалов vt100 и xterm (либо их потомки), которые используются для большинства приложений, отсутствуют такие атрибуты.

Для таких терминалов достаточно просто получить следующие описания, которые необходимо добавить в файл PROTERMCAP в описание нужного терминала.

  :CN=\E[?25h:\
  :CF=\E[?25l:\

После добавления таких строк оказывается, что курсор вообще должен показываться только при вводе каких либо данных. А в остальных случаях его вообще не должно быть.

Безусловно в ABL остаётся возможность манипулировать курсором с помощью операторов:

put cursor off.
put cursor row X column Y.

Именно такой функционал курсора и делает приложение более привлекательным, а пользователям не даёт делать лишних ошибок.

Автор: Дмитрий Кайдалов





Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.