Puedes ser un poco más concreto?
No consigo hacer que funcione. Poniendo ese valid, igual salta al tercer get.
Gracias.
Puedes ser un poco más concreto?
No consigo hacer que funcione. Poniendo ese valid, igual salta al tercer get.
Gracias.
A ver gente, una cosa que parece bastante simple, pero que no consigo hacer que funcione.
REDEFINE GET oGetFin1 VAR cTeclaFin1 ID 4004 OF oDlg
REDEFINE GET oGetFin2 VAR cTeclaFin2 ID 4005 OF oDlg
REDEFINE GET oGetFin3 VAR cTeclaFin3 ID 4006 OF oDlg
oGetFin2:bChange:={|nKey| Iif (nKey=13, oGetFin3:SetFocus(),oGetFin1:SetFocus())}
En teoria si se pulsa cualquier tecla que no sea el enter en oGetFin2, debe dar el foco a ogetfin1, no? Pues bueno, esto produce el siguiente error :
Path and name: C:\si\Trabajo\fwh\sifac2\fac.exe (32 bits)
Size: 6,020,096 bytes
Time from start: 0 hours 0 mins 28 secs
Error occurred at: 10/04/2006, 11:15:27
Error description: Error BASE/1075 Argument error: >
Args:
[ 1] = U
[ 2] = N 5
Called from: => GET:OVERSTRIKE(747)
Called from: => TWINDOW:KEYCHAR(853)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: => _FWH(0)
Called from: => DIALOGBOX(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: => TPVFINALIZAR(915)
Un cable, please!!!
Gracias.
Angel,
la primera parte no te hace falta, porque ENTER (13) saltará al siguiente control. Para que con otra letra salte al primero, lo suyo serÃa ponerle una validación tipo VALID ( oGet2:oJump := oGet1, .t. )
#include "Fivewin.ch"
FUNCTION MAIN()
local oDlg, oGet1, oGet2, oGet3
local cVar1 := Space( 10 ), cVar2 := Space( 10 ), cVar3 := Space( 10 )
DEFINE DIALOG oDlg
@ 1, 1 GET oGet1 VAR cVar1
@ 2, 1 GET oGet2 VAR cVar2 VALID( If( .t., oGet2:oJump := oGet1,), .t. )
@ 3, 1 GET oGet3 VAR cVar3
ACTIVATE DIALOG oDlg;
CENTER
RETURN NIL