Comando VALID não está funcionando

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Bom, estou tentando fazer, com q na hora q o usuario chegar no textbox de senha, ele digitar a senha, e teclar enter, ele apareça uma messabox qualquer...entao, para isso, usei o comando VALID, mas, ele nao está funcionando como pretendia, o código q eu estou utlizando está abaixo...

Código: Selecionar todos

#include "hwgui.ch"

function start()
         INIT DIALOG oDlg TITLE "dsdsadsadsa" ;
         AT 0,-170 SIZE 416,114 NOEXIT CLIPPER ;
         STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU

         @ 7,14 SAY oLabel1 CAPTION "Usuário:"  SIZE 63,19
         @ 18,44 SAY oLabel2 CAPTION "Senha:"  SIZE 52,19
         @ 64,11 GET oEdit1 VAR Usuario SIZE 343,22   MAXLENGTH 30
         @ 64,40 GET oEdit2 VAR mTSenha SIZE 344,22 ;
            VALID {|| hello()}

         @ 215,68 BUTTON oButton1 CAPTION "Ok"   SIZE 90,26 ;
              STYLE WS_TABSTOP   ;
              ON CLICK {|| oDlg:Close() }
         @ 312,68 BUTTON oButton2 CAPTION "Sair"   SIZE 90,26 ;
              STYLE WS_TABSTOP   ;
              ON CLICK {|| Sair() }

         ACTIVATE DIALOG oDlg
return nil

function hello()
         MessageBox(, "ola")
return nil
Grato pela ajuda
Imagem
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Comando VALID não está funcionando

Mensagem por sygecom »

Todo VALID ou WHEN aguarda um retorno .T. ou .F. isso é desde o CLIPPER, e sua função HELLO está retornando NIL, altere para retornar .T. que vai funcionar.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Comando VALID não está funcionando

Mensagem por esbasso »

MESSAGEBOX ??

NA HWGUI USE MSGINFO, MSGYESNO
MsgInfo( "hello")
Msginfo( cMessage [, cTitle] )
Msgstop( cMessage [, cTitle] )
Msgokcancel( cMessage [, cTitle] )
Msgyesno( cMessage [, cTitle] )
MsgBeep( [ nSound ] )
MsgExclamation( cMessage, [, cTitle ] )
MsgRetryCancel( cMessage, [, cTitle ] )
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Certo, mas estou querendo fazer com q quando eu aperte enter, ele feche o dialog:

....VALID {|| oDlg:Close() }

oDlg:CLose(), isso funcionaria com isso ?
Imagem
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Comando VALID não está funcionando

Mensagem por alaminojunior »

Funcionaria, mas lembrando a orientação do Leonardo: as cláusulas VALID e WHEN sempre aguardam um .t. ou .f.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Comando VALID não está funcionando

Mensagem por esbasso »

no caso especifico do GET EDIT O VALID e o WHEN tem por default o .T. caso não seja colocado
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Bom, mas, pq nao esta funcionando, estou usando a ultima revisão do SVN o.O
o SET KEY tb, parou de funcionar ;x
Imagem
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Comando VALID não está funcionando

Mensagem por esbasso »

Tudo funciona
revise teu codigo e tuas libs
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Bom, talvez, nao esteja funcionando, pois, tirei da compilação da LIB, o activeX, pois, estava dando muitos erros na hora de compilar com o xHB....
na realidade... ele da erro no htmlcore.obj, e fala que nao pode dar build
Imagem
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Tem como você passar a sua .lib ?
Imagem
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Comando VALID não está funcionando

Mensagem por esbasso »

é própria do SVN
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Como fazer p/ funcionar o atalho usando o SET KEY, qnd estou com o cursor dentro de um RichEdit ?
Qnd estou com o cursor, dentro dos GETs, o atalho funciona, caso contrario, ou seja, dentro do RichEdit, o atalho nao funciona, como posso fazer ?

O código que usei para testar foi esse:

Código: Selecionar todos

#include "hwgui.ch"

FUNCTION Start

 LOCAL  vEdit1 := "", vEdit2 := "", vRichedit1
 LOCAL oEdit1, oEdit2, oRichedit1

  INIT DIALOG oDlg TITLE "Form1" ;
  AT 0,-130 SIZE 741,403 NOEXIT  ;
  STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER

  SET KEY 0,VK_F12 OF oDlg TO MsgInfo("dnsak")

  @ 73,88 GET oEdit1 VAR vEdit1 SIZE 80,22
  @ 86,173 GET oEdit2 VAR vEdit2 SIZE 80,22
  @ 292,92 RICHEDIT oRichedit1 TEXT vRichedit1 SIZE 190,120 ;
       STYLE ES_MULTILINE +WS_BORDER+ES_AUTOVSCROLL +WS_VSCROLL

  ACTIVATE DIALOG oDlg

RETURN oDlg:lresult
Imagem
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Comando VALID não está funcionando

Mensagem por esbasso »

PARA O richedit faça assim

Código: Selecionar todos

@ 292,92 RICHEDIT oRichedit1 TEXT vRichedit1 SIZE 190,120 ;
	       STYLE ES_MULTILINE +WS_BORDER+ES_AUTOVSCROLL +WS_VSCROLL;
           ON OTHERMESSAGES {|This,msg,wParam,lParam| Processateclas( this, msg,wParam, lParam ) }

Código: Selecionar todos

FUNCTION  Processateclas( this, msg,wParam, lParam )

IF msg = WM_KEYDOWN  //quando pressionado
    if wParam = VM_ESCAPE  // AQUI PROCESSA SUAS TECLAS
      // SEU CODIGO
   ENDIF
ELSEIFmsg = WM_KEYUP  // quando solta a tecla
   //...   codigo
ENDIF

RETURN -1 // IMPORTANTE AQUI, SEMPRE TEM DE TER RETURN -1
Editado pela última vez por Toledo em 01 Ago 2012 20:52, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Feito (:
Muito obrigado (:

Ainda nao foi implementada a função, para ver se oque foi selecionado no RichEdit, já está com bold... dai, caso eu selecione, e clique em bold, ele volte para o normal....
Imagem
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Comando VALID não está funcionando

Mensagem por bencz »

Bom, voltando ao assunto do tópico né :X

fiz o seguinte exemplo, no xdesigne...

Código: Selecionar todos

#include "hwgui.ch"
STATIC Thisform

FUNCTION as( p1, p2, p3, p4 )
 RETURN _as( p1, p2 ,p3 ,p4)

FUNCTION _as

 LOCAL  vEdit1 := "", vEdit2 := ""
 LOCAL oLabel1, oLabel2, oEdit1, oEdit2

  INIT DIALOG oDlg TITLE "Form1" ;
    AT 0,-130 SIZE 200,134 NOEXIT CLIPPER ;
     STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER
    Thisform := oDlg

   @ 18,16 SAY oLabel1 CAPTION "LaLa:"  SIZE 100,19
   @ 69,13 GET oEdit1 VAR vEdit1 SIZE 60,22 PICTURE "99999" VALID {|| MsgInfo("Ola mundo") }

   @ 18,46 SAY oLabel2 CAPTION "LARE:"  SIZE 100,19
   @ 69,43 GET oEdit2 VAR vEdit2 SIZE 60,22 PICTURE "99999" VALID {|| MsgInfo("Ola mundo") }


   ACTIVATE DIALOG oDlg


RETURN oDlg:lresult
E qnd eu termino de digitar os numeros no Edit, ele aparentemente nao valida... simplesmente, ele passa p/ o proximo Edit... tentei apertando enter, tab.... e nada ;x
Algum erro, por minha parte ?
Imagem
Responder