Jump to content
Fivewin Brasil

Get + ON Change()


sig_gilberto

Recommended Posts

Olá Desenvolvedores, Boa Tarde!

Numa Dialog tenho um GET (entre outros GET´s) onde quero digitar o código do cliente e ao teclar , dar um DBSEEK() no banco e achar ou não o referido cliente pelo código digitado...

O problema é que usando o ON CHANGE na linha do GET, ele é acionado automaticamente quando digito um único caracter. E se quando o código do cliente for "752698" ?

Como resolver isso ? Como fazer com que o GET aguarde eu pressionar ENTER ou preencher todo, neste caso, todo o conteúdo da PICT de 06 posições, para cionar o ON CHANGE ?

@ 02.40,14.0 Get oCDClient VAR vCDClient Pict "@K999999" Of oDLG FONT oFont8 Size 047,14 on change(Proc_Clie_Codi(vCDClient)) COLOR RGB(000,000,255)

oCDclient:ctooltip="Informe o Codigo do Cliente..."

________________________

Gilberto Herminio - Programador Pleno III - Mogi das Cruzes-SP

C# / xxHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 9.03 + xDev v0.65

"Não Desenvolvo Software, crio arte Binaria...."

Editado por - sig_gilberto on 17/08/2010 12:14:07

Link to comment
Share on other sites

Olá Desenvolvedores, Boa Tarde!

Numa Dialog tenho um GET (entre outros GET´s) onde quero digitar o código do cliente e ao teclar , dar um DBSEEK() no banco e achar ou não o referido cliente pelo código digitado...

O problema é que usando o ON CHANGE na linha do GET, ele é acionado automaticamente quando digito um único caracter. E se quando o código do cliente for "752698" ?

Como resolver isso ? Como fazer com que o GET aguarde eu pressionar ENTER ou preencher todo, neste caso, todo o conteúdo da PICT de 06 posições, para cionar o ON CHANGE ?

@ 02.40,14.0 Get oCDClient VAR vCDClient Pict "@K999999" Of oDLG FONT oFont8 Size 047,14 on change(Proc_Clie_Codi(vCDClient)) COLOR RGB(000,000,255)

oCDclient:ctooltip="Informe o Codigo do Cliente..."

________________________

Gilberto Herminio - Programador Pleno III - Mogi das Cruzes-SP

C# / xxHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 9.03 + xDev v0.65

"Não Desenvolvo Software, crio arte Binaria...."

Editado por - sig_gilberto on 17/08/2010 12:14:07

Link to comment
Share on other sites

Kapiaba..boa tarde!

Assim:

@ 02.40,14.0 Get oCDClient VAR vCDClient Pict "@K999999" Of oDLG FONT oFont8 Size 047,14 Valid(Proc_Clie_Codi(vCDClient)=.t.) COLOR RGB(000,000,255)

oCDclient:ctooltip="Informe o Codigo do Cliente..."

*****************************************************

/* buscar cliente */

Static Function Proc_Clie_Codi()

DbUseArea(.t.,"DBFCDX","DBF\TB_CLIEN","TB_CLIEN",.t.,.f.)

DBSelectArea("TB_CLIEN")

OrdSEtFocus(1,"TB_CLIEN")

DBGoTop()

vCDClient:=StrZero(Val(vCDClient),6,0)

oCDClient:Refresh()

DBSeek(vCDClient)

If !Found()

MsgStop("Cliente Inexistente!","ERRO: "+vCDClient)

Use

Return .f.

Else

MsgStop("Cliente Enexistente!",vCDClient)

Use

Return .t.

EndIf

Return

**********************************************************

Mas como acionar com o ENTER ou com o TextoBox cheio com o 6 caracteres ?

Lembrando que a minha tabela de clientes, o campo CODCLIEN tem 06 posições, preenchidos com zeros a esquerda, "000001","000140",...

________________________

Gilberto Herminio - Programador Pleno III - Mogi das Cruzes-SP

C# / xxHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 9.03 + xDev v0.65

"Não Desenvolvo Software, crio arte Binaria...."

Editado por - sig_gilberto on 17/08/2010 13:38:13

Link to comment
Share on other sites

Funcionou assim na linha do GET :

Valid(Proc_Clie_Codi(oCDClient:CTitle)=.t.)

VLW!!

________________________

Gilberto Herminio - Programador Pleno III - Mogi das Cruzes-SP

C# / xxHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 9.03 + xDev v0.65

"Não Desenvolvo Software, crio arte Binaria...."

Link to comment
Share on other sites

Assim tb. é interessante.. com botão de "Buscar" dentro do get

busca2.png


@ 15,15 get oGet var cVar picture "@!" bitmap "c:\buscar.bmp" ;

action( BuscaCliente( cVar ) ) ;

size 120,15 of oDlg pixel

oGet:lAdjustBtn := .t.

Procedure BuscaCliente( cVar )

Return .t.

id=code>id=code>

Vc. mesmo cria seus botões a gosto..

Retorne avisando se a dica funcionouid=red>

curruptos.png

Luiz Arruda

Corumbá - MS

ico.corumba@gmai.com

Link to comment
Share on other sites

Com Resource seria assim


REDEFINE GET oT_NOME_VENDEDOR var T_NOME_VENDEDOR ID 4006 OF oDlg_CD_VALE_VENDEDOR PICTURE "@!" bitmap "B_BRING" ACTION(LOCALIZA_VENDEDOR(),PREENCHE_NOME_VENDEDOR(),ATUALIZA_BROWSE_VALES_VENDEDOR() )

id=code>id=code>

Agora uma pergunta ele tem com ser com Teclas de Atalho, tipo o que ocorre com a VGET

por exemolo.

Nos nossos sistemas a TECLA (F7) Sempre abre o Browse de pesquisa.

Em uma dialog de pedidos por exemplo tem vários campos de

pesquisa.

Tipo

(VENDEDOR, CLIENTE, TABELA DE PRECOS, PRODUTOS, FORMAS DE PAGAMENTO, ETC...)

Precisariamos que o (F7) Fosse ativo apenas nos campo onde ele estivesse focado.

Exemplo.

Se Estiver com o Foco no código do vendedor de pressionar F7, abre o browse de pesquisa de Vendedores

Se apos o usuario clicar no Código de Cliente de Pressionar F7, abre o browse de pesquisa de clientes.

E assim por diante..

Com a VGET é assim

E possivel que o (F7)


REDEFINE vGET oT_CODI_VENDEDOR var T_CODI_VENDEDOR ID 4015 OF oDlg_DIGITA_PEDIDO PICTURE "999999" FileAction "B_BRING" ACTION( LOCALIZA_VENDEDOR(),PREENCHE_NOME_VENDEDOR() ) TECLA VK_F7 VALID(PREENCHE_NOME_VENDEDOR() ) COLOR CLR_PRETO,CLR_LWHITE Update

REDEFINE vGET oT_CODI_FORMAS var T_CODI_FORMAS ID 4052 OF oDlg_DIGITA_PEDIDO PICTURE "999999" FONT O_F_GET FileAction "B_BRING" ACTION(LOCALIZA_FORMAS(),PREENCHE_NOME_FORMAS(),BUSCAR_FORMA_PGTO_VENDA() ) TECLA VK_F7 VALID( PREENCHE_NOME_FORMAS(),BUSCAR_FORMA_PGTO_VENDA() ) COLOR CLR_PRETO,CLR_LWHITE Update

id=code>id=code>

Notem que é na mesma DIALOG.

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com

Link to comment
Share on other sites

citação:

Agora uma pergunta ele tem com ser com Teclas de Atalho, tipo o que ocorre com a VGET

Notem que é na mesma DIALOG.


id=quote>id=quote>

Ola Marcio tem como sim, uso assim no meu sistema.


oDlg:bKeyDown:={ |nKey| IF( nKey = VK_F5,tecla_f2(oDlg,@mCampos,mObejto),) }

id=code>id=code>


static function tecla_f5(oDlg,mCampos,mObjeto)

oCtl :=oDlg:oCtlFocus()

do case

case (oCtl:hWnd = oGet1:hWnd )

// tabela de preço

case (oCtl:hWnd = oGet3:hWnd )

// pesquisa vendedores

case (oCtl:hWnd = oGet5:hWnd )

// pesquisa clientes

case (oCtl:hWnd = oGet11:hWnd )

// pesquisa produtos

case (oCtl:hWnd = oGet13:hWnd )

// pesquisa forma de pagto

case (oCtl:hWnd = oGet14:hWnd )

// pesquisa tipo de documento

endcase

return .t.

id=code>id=code>

a unica coisa que não consegui

//assim funciona

case (oCtl:hWnd = oGet1:hWnd )

//assim não funciona

case (oCtl:hWnd = mObejto[1]:hWnd )

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

obrigado amigo Luiz Fernando por responder...

Se mas esta eu teria que Ficar Tratando cada get, com a vget é mais simples de se fazer..

Mas a sua ajuda é valida e funcional tambem.

Se alguem tiver algo a mais para compartilhar, ficarei grato...

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...