FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error con Gets
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Error con Gets
Posted:

Puedes ser un poco más concreto?
No consigo hacer que funcione. Poniendo ese valid, igual salta al tercer get.

Gracias.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Error con Gets
Posted: Mon Apr 10, 2006 09:18 AM

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 :

Application

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

Stack Calls

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 Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Error con Gets
Posted: Mon Apr 10, 2006 10:01 AM

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. )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Error con Gets
Posted: Mon Apr 10, 2006 11:05 AM
Angel,

En este ejemplo verás como al pulsar enter en el segundo GET se salta al primero. Yo he usado un If( .t., ... Tu deberás poner ahi la condición que quieras para que salte al primero ó no:
#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
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion