Форум » [x]Harbour » Обновить GET'ы в процессе ввода » Ответить

Обновить GET'ы в процессе ввода

Snake: === LOCAL a:=2, b:=3, c:=a+b @ 0,0 GET a VALID (c:=a+b, .t. ) @ 1,0 GET b VALID (c:=a+b, .t. ) @ 2,0 GET c === Новое значение c становится видно, только когда до него доходит фокус - как сделать, чтобы изменение значения было видно на экране сразу же после ввода a или b ?

Ответов - 14

Dima: Snake пишет: @ 0,0 GET a VALID (c:=a+b, .t. ) @ 1,0 GET b VALID (c:=a+b, .t. ) @ 2,0 GET c [pre2] Как то так @ 0,0 GET a VALID eval({|| c:=a+b,AEVAL( GetList, {|g| g:display()}),.t.}) [/pre2]

Pasha: Мне приходилось для этих целей патчить getsys.prg еще для клиппера #define GE_DISPLAY 10 и в Settle добавить строки: if exitState == GE_DISPLAY AEval(GetList, {|get| get:display()}) exitState := GE_DOWN endif а в Valid-блоке ставить: oG:exitState := GE_DISPLAY

LYSK: кажется и тут недавно было - в валидной процедуре перед выходом сделать Aeval(GetList.{|og|og:display})


Dima: Похожая задачка. Еще нахожусь в процессе ввода a , нужно что бы c менялось по мере набора a PS Нужен вариант под Harbour

PSP: Dima пишет: Еще нахожусь в процессе ввода a , нужно что бы c менялось по мере набора a Если на уровне исходников harbour, то, имхо, не стОит. Проще свой ввод сделать.

SergKis: Dima пишет Нужен вариант под Harbour Можно попробовать установить hb_gtInfo(HB_GTI_INKEYFILTER, {|| ... }) и в блоке исп. GetActive():varGet() и переменную GetList для поиска объекта get, где менять отображение ( GetList[5]:VarPut(...) ), думаю должно получиться. Сам не пробовал. Примеры в test есть get.prg, [pre2] @ 10, 10 SAY "cVar :" GET cVar PICTURE "@K!" ... @ 20, 10 SAY "Picture of GET-1:" GET GetList[ 1 ]:Picture ... [/pre2]

Dima: Pasha пишет: Settle добавить строки Паш не пойму (видимо спал мало ) а как использовать Settle что бы попасть на последний GET , не используя передачу нажатий клавиш ? [pre2] n1:=1 n2:=2 n3:=3 @ 0,0 get n1 picture "@Z 999" @ 1,0 get n2 picture "@Z 999" @ 2,0 get n3 picture "@Z 999" read [/pre2]

Dima: Без нажатия педалей что то не получается , поэтому с педалями можно так [pre2] #include "inkey.ch" local Getlist:={} local n1:=1 local n2:=2 local n3:=3 local cstr:="" @ 0,0 get cstr when {|| BottomGet(Getlist,"n3") } @ 1,0 get n1 picture "@Z 999" @ 2,0 get n2 picture "@Z 999" @ 3,0 get n3 picture "@Z 999" read ************* Func BottomGet(Gt,ncget) local elem for each elem in gt if elem:name==ncget exit else HB_KeyPut( K_DOWN ) endif next return .f. [/pre2]

SergKis: Dima Если так (с wvt GET давно не работаю, может подзабыл что) сделать [pre2] @ 1,0 get n1 picture "@Z 999" @ 2,0 get n2 picture "@Z 999" @ 3,0 get n3 picture "@Z 999" ATail(GetList):SetFocus() read [/pre2]

PSP: AEval( GetList, {|oGet| oGet:display() } )

Dima: SergKis Не работает PSP Если перед READ то не работает

SergKis: Dima пишет Не работает Вот так работает [pre2] local Getlist:={} local n1:=1, l1 := .f. local n2:=2, l2 := .f. local n3:=3, l3 := .t. @ 1,0 get n1 picture "@Z 999" when {|l| l := l1, l1 := .t., l } @ 2,0 get n2 picture "@Z 999" when {|l| l := l2, l2 := .t., l } @ 3,0 get n3 picture "@Z 999" when {|l| l := l3, l3 := .t., l } read ************* [/pre2]

Dima: SergKis пишет: Вот так работает Мудрёно , но работает !

Dima: Самый простой вариант [pre2] Local Getlist:={} @ 1,0 get n1 picture "@Z 999" @ 2,0 get n2 picture "@Z 999" @ 3,0 get n3 picture "@Z 999" readmodal(Getlist,len(Getlsit)) [/pre2]



полная версия страницы