Error E0030 Syntax error "syntax error at 'LIKE'"

Error E0030 Syntax error "syntax error at 'LIKE'"

Postby karinha » Thu Oct 28, 2021 5:37 pm

Iniciando con HARBOUR:

Error E0030 Syntax error "syntax error at 'LIKE'"

Code: Select all  Expand view  RUN

// Conta do Email
FUNCTION CHECA_GET_CONTA( cEMAILNOCONTA, aGet )

   LOCAL cContaUsuario, cNomeUsuario
   LOCAL cRegEx := "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
   LOCAL lIsValid := .F.

   PUBLIC cNomeUsuFinal

   IF GETASYNCKEY( VK_UP )
      RETURN( .T. )
   ENDIF

   IF EMPTY( cEMAILNOCONTA )  // = a XEMAILNOCONTA

      MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO:                    " )+CRLF+ ;
               OemToAnsi( "DIGITE O NOME DA CONTA DE EMAIL.    " )+CRLF+ ;
               OemToAnsi( "Exemplo: contato@pleno.com.br       " ),      ;
               OemToAnsi( "EMAIL(Conta) NÇO INFORMADO. CUIDADO!" ) )

      RETURN( .F. )

   ENDIF

   #IFDEF __XHARBOUR__  //

      // if xHarbour -> Funciona perfecto. Como hago esto en HARBOUR?

      IF ( ALLTRIM( LOWER( cEMAILNOCONTA ) ) LIKE cRegEx )

         lIsValid := .T.

      ELSE

         MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO:                    " )+CRLF+ ;
                  OemToAnsi( "DIGITE UM EMAIL VÇLIDO..            " )+CRLF+ ;
                  OemToAnsi( "ESTA CONTA DE EMAIL ESTµ ERRADA..   " )+CRLF+ ;
                  OemToAnsi( "Exemplo: contato@pleno.com.br       " )+CRLF+ ;
                  OemToAnsi( "VOCÒ DIGITOU: " + ALLTRIM( cEMAILNOCONTA ) ), ;
                  OemToAnsi( "EMAIL(Conta) CONTENDO ERROS... VEJA!" ) )
      ENDIF

   #ELSE

      // if harbour -> LIKE cRegEx  No funciona, porque?

      /*
      RMAILAMB.prg(1947) Error E0030  Syntax error "syntax error at 'LIKE'"
      RMAILAMB.prg(1949) Error E0014  ELSE does not match IF
      RMAILAMB.prg(1956) Error E0010  ENDIF does not match IF
      */


   #ENDIF

   cContaUsuario := LOWER( cEMAILNOCONTA )
 
   cNomeUsuario := Substr( cContaUsuario, 1, ( AT( "@", cContaUsuario ) -1 ) ) ;
                   +SPACE(30)

   cNomeUsuFinal := cNomeUsuario

   aGet[7]:VARPUT( cNomeUsuario )
   aGet[7]:Refresh()

   aGet[7]:Disable()
   aGet[7]:Refresh()

RETURN( lIsValid )
 


Regards, saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7842
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Error E0030 Syntax error "syntax error at 'LIKE'"

Postby karinha » Fri Oct 29, 2021 8:12 pm

Resuelto:

Code: Select all  Expand view  RUN

   IF ( HB_REGEXLIKE( ALLTRIM( LOWER( cEMAILNOCONTA ) ), cRegEx )  )
 


REgards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7842
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 35 guests