Hola a todos.
A veces el intentar hacer el mismo programa con otro compilador hay que replanterase algunas cosas, pero con clipper y Alaska en texto, tenia el dBedit, por defecto estaba en modo lectura, pero al pulsar enter entraba en modo edit, y lo mismo si se pulsaba un numero (metiendo en el edit con Keyboard la tecla numerica pulsada)y al pulsar Enter saltaba a la linea siguiente, con c3 no lo consigo, era algo asi:
... // pul valor de tecla capturada con Lastkey
CASE pul>=48.AND.pul<=57 .AND. x=2
KEYBOARD CHR(13)+CHR(pul)
RETURN(1)
CASE pul=13 .AND. x=2 //Columna con el importe
SETCURSOR(1)
READEXIT(.T.)
@ROW(),COL() GET FTEMPO->IMPORTE
READ
REPLACE FTITULA->IMPORTE WITH FTEMPO->IMPORTE
READEXIT(.F.)
SETCURSOR(0)
KEYBOARD CHR(24)
RETURN(1)
...
con C3 lo he intentado así
/*
* Evento OnKeyDown.
*/
METHOD DbGrid1OnKeyDown( oSender, nKey ) CLASS TForm5
If nKeY = 13 .and. ::LabeledEdit6:ReadOnly = .F.
TEMPO->IMPORTE := ::LabeledEdit6:caption
FTITU->IMPORTE := ::LabeledEdit6:caption
::DbGrid1:Repaint()
::CarRec()
::cEstado:=""
::EnabledContro33("APAGADO")
SKIP
endif
if (nkey >= 48 .and. nkey <= 57) .or. (nkey >=96 .and. nkey <=105)
* if nkey >=96 .and. nkey <=105
* nkey = nkey -48
* endif
* tecla 48=0 49=1...57=9
::LabeledEdit6:ReadOnly := .F.
::LabeledEdit6:setFocus()
keyboard(chr(nkey))
endif
return
No funciona, entra en modo Edit pero no reconoce la tecla númerica pulsada, es mas recibe distinto codigo si se pulsa el teclado numerico a si es el teclado alfanumerico.
Un saludo
|