Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

УРОК 202. Окно ввода средствами QINPUT
Goto page Previous  1, 2, 3, 4, 5
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 09 Nov 2007 15:45    Post subject: Reply with quote

nordk wrote:
По всей видимости надо переделывать окно запроса на вариант 2
это без построения станлартной картинки.
Прорисовывать ее самому а поля размещать через указание координат
В смысле без QINPUT ?
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 09 Nov 2007 18:21    Post subject: Reply with quote

Еще раз прошу почитайте внимательно описание bScrInit в описании InitList. Там Вы найдете описание варианта 2.
Это означает что надо через dispbox и sayscreen прорисовывать окно запроса самому а поля запроса располагать путем указания их координат. В описании это есть. Пропробуйте плз пока я не могу более детально это описать.
Указание коррдинат надо смотреть в описании aHeads все того же Инитлист
Back to top
View user's profile Send private message Send e-mail
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 09 Nov 2007 19:19    Post subject: Reply with quote

Понял. Попробую
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Nov 2007 20:22    Post subject: Reply with quote

Владимир как успехи ?
У нас начинается смена сайтов и этот форум будет закрываться а там
уже новый форум
Думаю надо тут довести этот вопрос до конца успеть
Back to top
View user's profile Send private message Send e-mail
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 12 Nov 2007 22:46    Post subject: Reply with quote

Да вот, чтобы продвинуться - надо часа на 3 хотя-бы засесть за комп. Пока не получается
Back to top
View user's profile Send private message
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 12 Nov 2007 23:04    Post subject: Reply with quote

Ну да, попробовал вариант 2 в таком виде:
Code:
  bScrInit:={||SayScreen(tname,11,45,'N/BG'),2}
Результат есть - сразу при формировании окна диалога название текущего значения (tname) рисуется.
Но теперь надо вручную рамку вокруг окна диалога отрисовать, и обновить название его при изменении. Но это уже во вторник, надеюсь.
Back to top
View user's profile Send private message
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 15 Nov 2007 17:54    Post subject: Reply with quote

Ну вот, при начальной отрисовке справочника текущее значение названия рисуется, рамка рисуется.
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.
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 15 Nov 2007 18:11    Post subject: Reply with quote

а вот это надо бы попробовать сделать сначала в MAKEREFER.
В блоке кдоа в котором Вы скоб отменяете.
Т.е. при закрытиии справочника рисовать значение переменной.
Back to top
View user's profile Send private message Send e-mail
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 15 Nov 2007 18:27    Post subject: Reply with quote

Quote:
а вот это надо бы попробовать сделать сначала в MAKEREFER
Ура, работает
Code:
{||part_v->( SETSCOPE() ),SayScreen(left(field->name,lName),nTop+2,nLeft+35,'N/BG')}
Вот только если раскрыть справочник, то при выборе значения вначале отрабатывает SayScreen, а потом поверх восстанавливается область экрана занятая справочником. Ну и ...
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 15 Nov 2007 18:31    Post subject: Reply with quote

Дак в итоге не работает ?
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 15 Nov 2007 18:34    Post subject: Reply with quote

Вы еще в aValid прорисовку добавь
Back to top
View user's profile Send private message Send e-mail
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 15 Nov 2007 18:35    Post subject: Reply with quote

nordk wrote:
Дак в итоге не работает ?

Да нет, типа работает
Только та часть, которая была закрыта справочником или его тенью - восстанавливается позже, чем обновляется.
Было до раскрытия справочника: Ляляля
Выбрали в справочнике: Тратата
После всего получаем: Лятата
(например).
Пройдешь справочник вверх-вниз без Ф2 - перерисовывается нормально.
Back to top
View user's profile Send private message
vla



Joined: 15 Mar 2005
Posts: 60
Location: Гаклин Владимир Ильич
Occupation: ООО БэстСиб, консультант
Interests: Новосибирск

PostPosted: 15 Nov 2007 18:41    Post subject: Reply with quote

nordk wrote:
Вы еще в aValid прорисовку добавьте
В Makerefer ?
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 15 Nov 2007 19:19    Post subject: Reply with quote

Нет это уже в самом QINPUT()
Короче идея в чем.
нам после выбора значения в справочнике надо сменить его на экране ввода.
Первое событие это при выходе из справочника.
Но тут по всей видимости не гуд поскольку экран восстанавливается позже.
Следующее событие это смещение из поля в следующее.
Это событие - массив aValid. Т.е. при смещении с поля тип прорисовываем его название. Вроде как после выбора значения в справочнике у нас происходит смещение курсора на след.поле, а при смещении курсора у нас собственно aValid и отрабатывает....
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5
Page 5 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru