Error E0030 Syntax error "syntax error at 'LIKE'"
- Code: Select all Expand view
// 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