FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con VALID EN EL GET
Posts: 2
Joined: Thu Jun 18, 2009 02:10 PM
Problemas con VALID EN EL GET
Posted: Sat Sep 12, 2009 05:58 PM

Hola a todos
A ver si me podeis ayudar a resolver una pega que me da el GET con la opcion VALID, que aunque devuelve .F. , pasa al GET siguiente.

El programa es de una captura de datos con varios GET,  que utilizan la cl谩usula VALID con una funci贸n, a la que se las pasa varios par谩metros, que comprueba si el c贸digo introducido existe en una base de datos. Este programa es llamado desde un men煤.

La funci贸n esta devolviendo  .F. (falso),  pero pasa al siguiente GET,   no ocurre como en CLIPPER, que no dejaba pasar al siguiente GET.

   He probado poniendo antes  del VALID

        WHEN  .F.        //  He verificado que la funci贸n a la que es llamada por el GET devuelve .F.

        WHEN  QEXI=1      //  seria una variable que devuelve la funci贸n a la que es llamada por el GET

    LA PARTE DE LA RUTINA DE LOS GET, ES LA SIGUIENTE:

func PROALBANCO()

     local oBCO, WOK:= .F., QOK:= 0, oGET1, oGET2, oGET3,oGET4,oGET5,oBTO1, oBTO2, oBTO3, oBTO5

     LOCAL QEMPRE,QBANCO,WNBCO15,WNBCO30

    STORE 0 TO QEMPRE,QBANCO

    STORE SPACE(3) TO WBANCO

    STORE SPACE(4) TO WEMPRE

   WNBCO15=SPACE(15); WNBCO30=SPACE(30)

   KR=FABD("R","EMP","BANCOS","BANCO","S000TXX"); IF KR=0; RETURN; ENDIF                                   // llama a funci贸n para abrir base de datos

  DEFINE DIALOG oBCO FROM 1, 1 TO 41,140 TITLE "A L T A    D E   B A N C O S   D E    E M P R E S A S" 
        @ 01,30 SAY "ALTA-BAJA-MODIF. (A/B/M)"

        @ 01,45 GET oGET1 VAR WOPCION OF oBCO UPDATE VALID WOPCION$ "ABM" PICTURE "!" SIZE 10,12

        @ 02,30 SAY "CODIGO DE EMPRESA" SIZE 88,12 COLOR "W/B"

        @ 02,45 GET oGET2 VAR QEMPRE  OF oBCO UPDATE PICTURE "9999" SIZE 20,12 RIGHT VALID FPETENTI1("EMPRE",QEMPRE, ;                                        3.5,132,4,1,"EMPRE","WEMPRE",0)

        @ 03,30 SAY "CODIGO DE BANCO" SIZE 88,12 COLOR "GR+/G"



        @ 03,45 GET oGET3 VAR QBANCO  OF oBCO UPDATE PICTURE "999"  SIZE 18,12 RIGHT VALID FPETENTI1("BANCO",QBANCO, ;                                        5.5,132,3,1,"BANCO","WNUMAL",4)

        @ 04,30 SAY "NOMBRE DE BANCO EN 15" COLOR "W/R+"



        @ 04,45 GET oGET4 VAR WNBCO15 OF oBCO UPDATE VALID !Empty(WNBCO15) PICTURE "@!!!!!!!!!!!!!!!" SIZE 60,12

        @ 05,30 SAY "NOMBRE DE BANCO EN 30" COLOR "R/W+"

        @ 05,45 GET oGET5 VAR WNBCO30 OF oBCO UPDATE VALID !Empty(WNBCO30) PICTURE "@!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" SIZE 100,12

        @ 07,30 BUTTON oBTO1 PROMPT "Correcto" OF oBCO ACTION ( oBTO1:oJump:= oGet2, oGet2:SetFocus(),;

                                   GRAREBANCO(WOPCION,WEMPRE,WNUMAL,WNBCO15,WNBCO30), QOK=1)

        @ 07,45 BUTTON oBTO2 PROMPT "Modificar la OPCION" OF oBCO ACTION (oBTO2:oJump:= oGet1, oGet1:SetFocus(),QOK=2)

        @ 07,70 BUTTON oBTO3 PROMPT "Salir de Bancos" OF oBCO UPDATE ACTION ( QOk := 99, oBCO:End() ) CANCEL

  ACTIVATE DIALOG oBCO CENTERED

RETURN NIL

He probado poniendo antes del VALID

                                WHEN  .F.              //  He verificado que la funci贸n a la que es llamada por el GET devuelve .F.

                                WHEN  QEXI=1      //  seria una variable que devuelve la funci贸n a la que es llamada por el GET

                                El problema le tengo en el 2潞 y 3潞 GET, cuando lo envio con el VALID  a la funcion.

Gracias por lo que podais decirme.

Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Re: Problemas con VALID EN EL GET
Posted: Sat Sep 12, 2009 08:29 PM

Antonio ,

Yo lo hago de la siguiente forma :

@ 01,45 GET oGET1 VAR WOPCION OF oBCO UPDATE PICTURE "!" SIZE 10,12 valid(es_mov(@wopcion))

function es_mov(fopcion)

Local oRet:= .f.

IF UPPER(WOPCION) = "A" .OR. UPPER(WOPCION) = "B" .OR. UPPER(WOPCION) = "M"
oRet := .T.
ELSE
MSGALERT("HA DIGITADO UNA OPCION ERRADA.................VERIFIQUE")
oRet:= .F.
ENDIF

RETURN oRet

y te aseguro que no pasa a otro get si no cumple el valid

... Desde la Tierra de lagos y Volcanes......

Continue the discussion