Estoy actualizando unas cosas en un programa para la Pocket y me encuentro con el siguiente problema, cuando pongo un GET con la clausula ON CHANGE funciona aparentemente correctamente pero no me actualiza la variable veamos. El fuente es:
- Code: Select all Expand view
- PROCEDURE BusqClie99()
ShowKeyBoard()
SELECT 8
go top
vb021 = space(9)
vb022 = space(30)
vb023 = space(12)
@ 0*ProporV, 0*ProporH say bDlg021 VAR LocaText( 35,4) OF oVentPrinc PIXEL COLOR fondo3, escri3 FONT oFont SIZE 480*ProporH,30*ProPorV CENTER BORDER
@ 0*ProporV, 0*ProporH GROUP oDlgwBCl TO 60*ProporV,480*ProporH OF oVentPrinc PIXEL COLOR escri1, fondo1
@ 32*ProporV, 2*ProporH SAY bDlg023 VAR "N" OF oDlgwBCl PIXEL COLOR escri1, fondo1 FONT oFont SIZE 18*ProporH,26*ProPorV
@ 32*ProporV,124*ProporH SAY bDlg024 VAR "D" OF oDlgwBCl PIXEL COLOR escri1, fondo1 FONT oFont SIZE 18*ProporH,26*ProPorV
@ 32*ProporV,246*ProporH SAY bDlg025 VAR "C" OF oDlgwBCl PIXEL COLOR escri1, fondo1 FONT oFont SIZE 18*ProporH,26*ProPorV
@ 32*ProporV, 20*ProporH GET bDlg026 VAR vb021 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 100*ProporH,26*ProPorV PICT "!!!!!!!!!" ON CHANGE busqclie992(1)
@ 32*ProporV,140*ProporH GET bDlg027 VAR vb022 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 100*ProporH,26*ProPorV PICT "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ON CHANGE busqclie992(2)
@ 32*ProporV,260*ProporH GET bDlg028 VAR vb023 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 100*ProporH,26*ProPorV PICT "!!!!!!!!!!!!" ON CHANGE busqclie992(3)
@ 30*ProPorV,382*ProPorH BUTTON bDlg029 PROMPT LocaText( 20,1) OF oDlgwBCl PIXEL SIZE 98*ProPorH,30*ProPorV FONT oFont ACTION BusqClie991()
@ 60*ProporV, 5*ProporH LISTBOX bDlg032 ;
FIELDS clientes->codigo, clientes->nombre, clientes->cif ;
HEADERS LocaText( 33,2) , LocaText( 33,3) , LocaText( 30,4);
ON LEFT DBLCLICK BusqClie991();
SIZE 475*ProporV, 430*ProporH PIXEL UPDATE
bDlg026:SetFocus()
RETURN (NIL)
FUNCTION busqclie991()
HideKeyBoard()
bDlg021:End()
bDlg032:Hide()
bDlg032:Destroy()
oDlgwBCl:Hide()
oDlgwBCl:Destroy()
vb032 = recno()
OrdSetfocus (wea)
go vb032
run (&buscli01)
RETURN (NIL)
FUNCTION ,busqclie992(wOpcPr)
bDlg026:Refresh()
bDlg027:Refresh()
bDlg028:Refresh()
do case
case wOpcPr = 1
msginfo(vb021)
xOp = bDlg026:nPos()
bDlg026:End()
bDlg027:End()
bDlg028:End()
vb022 = space(30)
vb023 = space(12)
OrdSetfocus(wea)
seek trim(vb021)
if ! eof()
bDlg032:Refresh()
endif
@ 32*ProporV, 20*ProporH GET bDlg026 VAR vb021 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!" ON CHANGE busqclie992(1)
@ 32*ProporV,150*ProporH GET bDlg027 VAR vb022 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ON CHANGE busqclie992(2)
@ 32*ProporV,280*ProporH GET bDlg028 VAR vb023 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!" ON CHANGE busqclie992(3)
bDlg026:SetPos(xOp)
bDlg026:SetFocus()
case wOpcPr = 2
xOp = bDlg027:nPos()
bDlg026:End()
bDlg027:End()
bDlg028:End()
vb021 = space(9)
vb023 = space(12)
OrdSetfocus(web)
seek trim(vb022)
if ! eof()
bDlg032:Refresh()
endif
@ 32*ProporV, 20*ProporH GET bDlg026 VAR vb021 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!" ON CHANGE busqclie992(1)
@ 32*ProporV,150*ProporH GET bDlg027 VAR vb022 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ON CHANGE busqclie992(2)
@ 32*ProporV,280*ProporH GET bDlg028 VAR vb023 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!" ON CHANGE busqclie992(3)
bDlg027:SetPos(xOp)
bDlg027:SetFocus()
case wOpcPr = 3
xOp = bDlg028:nPos()
bDlg026:End()
bDlg027:End()
bDlg028:End()
vb021 = space(9)
vb022 = space(30)
OrdSetfocus(wec)
seek trim(vb023)
if ! eof()
bDlg032:Refresh()
endif
@ 32*ProporV, 20*ProporH GET bDlg026 VAR vb021 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!" ON CHANGE busqclie992(1)
@ 32*ProporV,150*ProporH GET bDlg027 VAR vb022 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ON CHANGE busqclie992(2)
@ 32*ProporV,280*ProporH GET bDlg028 VAR vb023 OF oDlgwBCl PIXEL COLOR escri2, fondo2 FONT oFont SIZE 110*ProporH,26*ProPorV PICT "!!!!!!!!!!!!" ON CHANGE busqclie992(3)
bDlg028:SetPos(xOp)
bDlg028:SetFocus()
endcase
RETURN (NIL)
Presenta una pantalla con tres GET y una LISTBOX y el proceso sería que cuando introducimos cualquier tecla en uno de los GET este salte a la función busclie992 y aquí actualice la LISTBOX con el dato introducido pero cuando llega no actualiza el dato que he introducido y deja el anterior, si por ejemplo pongo un "4" en el primer GET cuando llega ala línea donde esta el "MsgInfo(vb021)" me pone blancos en vez de "4" cn ocho blancos.
Alguien me podría ayudar para solucionar este caso.
Un saludo
Carlos