УРОК 202. Окно ввода средствами QINPUT
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5  :| |:
-> Программирование в БЭСТ-4

#61:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 09 Nov 2007 15:45
    —
nordk wrote:
По всей видимости надо переделывать окно запроса на вариант 2
это без построения станлартной картинки.
Прорисовывать ее самому а поля размещать через указание координат
В смысле без QINPUT ?

#62:  Author: nordkLocation: Горбунов Константин PostPosted: 09 Nov 2007 18:21
    —
Еще раз прошу почитайте внимательно описание bScrInit в описании InitList. Там Вы найдете описание варианта 2.
Это означает что надо через dispbox и sayscreen прорисовывать окно запроса самому а поля запроса располагать путем указания их координат. В описании это есть. Пропробуйте плз пока я не могу более детально это описать.
Указание коррдинат надо смотреть в описании aHeads все того же Инитлист

#63:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 09 Nov 2007 19:19
    —
Понял. Попробую

#64:  Author: nordkLocation: Горбунов Константин PostPosted: 12 Nov 2007 20:22
    —
Владимир как успехи ?
У нас начинается смена сайтов и этот форум будет закрываться а там
уже новый форум
Думаю надо тут довести этот вопрос до конца успеть

#65:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 12 Nov 2007 22:46
    —
Да вот, чтобы продвинуться - надо часа на 3 хотя-бы засесть за комп. Пока не получается

#66:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 12 Nov 2007 23:04
    —
Ну да, попробовал вариант 2 в таком виде:
Code:
  bScrInit:={||SayScreen(tname,11,45,'N/BG'),2}
Результат есть - сразу при формировании окна диалога название текущего значения (tname) рисуется.
Но теперь надо вручную рамку вокруг окна диалога отрисовать, и обновить название его при изменении. Но это уже во вторник, надеюсь.

#67:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 15 Nov 2007 17:54
    —
Ну вот, при начальной отрисовке справочника текущее значение названия рисуется, рамка рисуется.
Code:
  //определим bScrInit
  bScrInit:={||DISPBOX(nTop,nLeft,nBot,nRight,("╔═╗║╝═╚║ "),"N/BG"),;
               SayScreen(tname,nTop+1,nLeft+35,'N/BG'),;
               SayScreen(vname,nTop+2,nLeft+35,'N/BG'),;
            2}
Дальше опять непонятности:
- где подцепить обновление названия после выхода из справочника и как это правильно сделать ?
Вот так никакого эффекта:
Code:
  //определим bScrPost
  bScrPost:={||SayScreen("ляляля",nTop+1,nLeft+35,'N/BG'),;
               SayScreen("тратата",nTop+2,nLeft+35,'N/BG'),;
            2}
Он вообще, похоже, отрабатывает только после выхода из QINPUT.

#68:  Author: nordkLocation: Горбунов Константин PostPosted: 15 Nov 2007 18:11
    —
а вот это надо бы попробовать сделать сначала в MAKEREFER.
В блоке кдоа в котором Вы скоб отменяете.
Т.е. при закрытиии справочника рисовать значение переменной.

#69:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 15 Nov 2007 18:27
    —
Quote:
а вот это надо бы попробовать сделать сначала в MAKEREFER
Ура, работает
Code:
{||part_v->( SETSCOPE() ),SayScreen(left(field->name,lName),nTop+2,nLeft+35,'N/BG')}
Вот только если раскрыть справочник, то при выборе значения вначале отрабатывает SayScreen, а потом поверх восстанавливается область экрана занятая справочником. Ну и ...

#70:  Author: nordkLocation: Горбунов Константин PostPosted: 15 Nov 2007 18:31
    —
Дак в итоге не работает ?

#71:  Author: nordkLocation: Горбунов Константин PostPosted: 15 Nov 2007 18:34
    —
Вы еще в aValid прорисовку добавь

#72:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 15 Nov 2007 18:35
    —
nordk wrote:
Дак в итоге не работает ?

Да нет, типа работает
Только та часть, которая была закрыта справочником или его тенью - восстанавливается позже, чем обновляется.
Было до раскрытия справочника: Ляляля
Выбрали в справочнике: Тратата
После всего получаем: Лятата
(например).
Пройдешь справочник вверх-вниз без Ф2 - перерисовывается нормально.

#73:  Author: vlaLocation: Гаклин Владимир Ильич PostPosted: 15 Nov 2007 18:41
    —
nordk wrote:
Вы еще в aValid прорисовку добавьте
В Makerefer ?

#74:  Author: nordkLocation: Горбунов Константин PostPosted: 15 Nov 2007 19:19
    —
Нет это уже в самом QINPUT()
Короче идея в чем.
нам после выбора значения в справочнике надо сменить его на экране ввода.
Первое событие это при выходе из справочника.
Но тут по всей видимости не гуд поскольку экран восстанавливается позже.
Следующее событие это смещение из поля в следующее.
Это событие - массив aValid. Т.е. при смещении с поля тип прорисовываем его название. Вроде как после выбора значения в справочнике у нас происходит смещение курсора на след.поле, а при смещении курсора у нас собственно aValid и отрабатывает....



-> Программирование в БЭСТ-4


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

Goto page Previous  1, 2, 3, 4, 5  :| |:
Page 5 of 5

Powered by phpBB © 2001, 2005 phpBB Group