Página 2 de 2
Textbox com Validação
Enviado: 25 Mar 2020 16:58
por MSDN
Pelo código que vc colocou, está simples ver o erro, quando vc usa Iif() deve ser assim :
IIF( faz a comparação, se comparação ok executa o que estiver aqui, senão executa o que estiver aqui )
Exemplo
IIF( vSexo == 'M', " Sexo Masculino ", " Sexo Feminino " )
No seu caso, vc não fez uma comparação no inicio, fez uma atribuição usando " := "
Abraço
Textbox com Validação
Enviado: 25 Mar 2020 19:55
por syslink
MSDN escreveu:está simples ver o erro
num tem erro
vc entendeu errado
quero fazer na ultima verificacao do iif uma dupla execucacao de tarefa
sem precisa criar uma function pra resolver tudo
eh possivel?
Textbox com Validação
Enviado: 25 Mar 2020 23:54
por Heero
syslink escreveu:MSDN escreveu:está simples ver o erro
num tem erro
vc entendeu errado
quero fazer na ultima verificacao do iif uma dupla execucacao de tarefa
sem precisa criar uma function pra resolver tudo
eh possivel?
Syslink,
Veja se é isso que você quer:
Código: Selecionar todos
IIF(MsgYesNo("Exemplo"), ResultadoPositivo(), {ResultadoNegativo1(), ResultadoNegativo2()})
Por favor, retorne se é isso mesmo, abraços.
Textbox com Validação
Enviado: 26 Mar 2020 20:03
por alxsts
Olá!
ONENTER iif(CONFIRMOU := F_MUDA_SENHA_HMG.TBmPASSWORD.value == F_MUDA_SENHA_HMG.TBaPASSWORD.value, F_MUDA_SENHA_HMG.Bt_1.setfocus,F_MUDA_SENHA_HMG.TBaPASSWORD.setfocus)
O teu exemplo é em MiniGUI, com a qual não tenho intimidade. Na HwGUI, sempre que codificamos ações relacionadas a eventos do formulário, o fazemos na forma de code blocks:
No caso do If imediato ( IIF() ), se mais de uma ação precisar ser executada, colocamos as ações entre parêntesis, separados por vírgula:
Código: Selecionar todos
ON CLICK { || iif( ( CONFIRMOU := F_MUDA_SENHA_HMG.TBmPASSWORD.value() ) == F_MUDA_SENHA_HMG.TBaPASSWORD.value(), F_MUDA_SENHA_HMG.Bt_1.setfocus(), ( Mensagem( "Senha incorreta!" ), F_MUDA_SENHA_HMG.TBaPASSWORD.setfocus() ) }
Pessoalmente, acho que a boa prática é criar funções para tratamento dos eventos. Estes IIfs, dependendo da situação, vão crescendo e a leitura e manutenção deste tipo de código se tornam cada vez mais difícil, como já se percebe no código acima.
Textbox com Validação
Enviado: 26 Mar 2020 20:14
por JoséQuintas
Codeblock é função.
Precisa testar, já não lembro direito a sintaxe:
Código: Selecionar todos
ON CLICK { || ;
IF ( CONFIRMOU := F_MUDA_SENHA_HMG.TBmPASSWORD.value() ) == F_MUDA_SENHA_HMG.TBaPASSWORD.value();
F_MUDA_SENHA_HMG.Bt_1.setfocus();
ELSE
Mensagem( "Senha incorreta!" );
F_MUDA_SENHA_HMG.TBaPASSWORD.setfocus();
ENDIF;
}
Textbox com Validação
Enviado: 26 Mar 2020 20:27
por JoséQuintas
Aceitou isto:
Código: Selecionar todos
PROCEDURE MAIN
LOCAL bCode
CLS
bCode := { | A, B |
IF A = B
Chama1()
ELSE
Mensagem( "Senha incorreta!" )
Chama2()
ENDIF
? "teste"
Inkey(0)
RETURN NIL
}
Eval( bCode )
FUNCTION Chama1(); RETURN NIL
FUNCTION Chama2(); RETURN NIL
FUNCTION Mensagem(); RETURN NIL
Textbox com Validação
Enviado: 28 Mar 2020 23:25
por syslink
muito complicado. melhor mesmo partir pra funcao q jah fiz e funciono.
Textbox com Validação
Enviado: 29 Mar 2020 13:10
por MSDN
Tudo bem que vc conseguiu fazer uma função que resolveu seu problema, porém, expor da forma como fez, não foi muito educado com todo mundo que tentou te ajudar ! Podia colocar um " Valeu " " Obrigado "
Textbox com Validação
Enviado: 12 Abr 2020 19:26
por syslink
MSDN escreveu: não foi muito educado
sinto mto nao era a intensao de ser mau educado. brigadu a todos pela ajuda e forsa.