Jump to content
Fivewin Brasil

XBROWSE - Edição


Luiz Fernando

Recommended Posts

Pessoal ve se alguém poder me ajudar, queria fazer o seguinte, conforme estou numa celula na forma de edicao , se o usuario digitar uma letra e não numero ,ele ira para uma rotina externa, tentei de varias forma aqui mais não estou conseguindo.


oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( DBAPPEND(),oBrw_pro:Refresh() ),), ;

if( nkey == VK_F2, minhafuncao(),) , ;

If( nKey == VK_RETURN, etiqueta->codigo := xVal,) }

id=code>id=code>

a parte que esta em negrito era tentativa que estava tentando, tipo qdo estou editando se eu apertar o F2 não acontece nada

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

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

Link to comment
Share on other sites

Pessoal ve se alguém poder me ajudar, queria fazer o seguinte, conforme estou numa celula na forma de edicao , se o usuario digitar uma letra e não numero ,ele ira para uma rotina externa, tentei de varias forma aqui mais não estou conseguindo.


oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( DBAPPEND(),oBrw_pro:Refresh() ),), ;

if( nkey == VK_F2, minhafuncao(),) , ;

If( nKey == VK_RETURN, etiqueta->codigo := xVal,) }

id=code>id=code>

a parte que esta em negrito era tentativa que estava tentando, tipo qdo estou editando se eu apertar o F2 não acontece nada

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

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

Link to comment
Share on other sites

If (Upper(Asc(nKey)) $ "AÃÄÃÀBCÇDEÉÈËFGHIÃÃŒÃJKLMNOÓÒÖÕPQRSTUÚÙÜVWXYZ", Alert("Letra"),Alert("Não é letra))

Obs.: Editado para incluir caracteres acentuados icon_smile_wink.gif

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02

Editado por - sambomb on 24/09/2009 10:19:15

Link to comment
Share on other sites

citação:

If (Upper(Asc(nKey)) $ "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Alert("Letra"),Alert("Não é letra))

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02


id=quote>id=quote>

Samir obrigado pela resposta, mais o problema que no seu exemplo como no meu acima com o F2 ele só executa depois de eu dar enter, precisava durante a edição, pois apos o enter eu posso usar o oCol:bEditValid, mais dai nao da certo para minhas finalidade aqui...

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

Link to comment
Share on other sites

Então eu entendi errado...

citação:

...se o usuario digitar uma letra e não numero ,ele ira para uma rotina externa...


id=quote>id=quote>

Tentei resolver essa parte para você, tente explicar melhor...

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02

Link to comment
Share on other sites

citação:

Então eu entendi errado...

citação:

...se o usuario digitar uma letra e não numero ,ele ira para uma rotina externa...


id=quote>id=quote>

Tentei resolver essa parte para você, tente explicar melhor...

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02


id=quote>id=quote>

Ok amigo deixa eu explicar melhor então.

tenho uma browse que abro ele com um arquivo dbf temporario, para a finalidade do usuario incluir algumas mercadorias e depois fazer a impressão de etiquetas, entro nesta browse já na forma de edição com um dbappend() para abrir um registro novo em branco e preencher este registro com a a mercadoria informada, a primeira coluna é aonde o usuario digita o código da mercardoria, se no lugar de numero ele digitar uma letra, automaticamente eu iria abrir uma outra browse com pesquisa sensitiva...tipo para ficar prático mesmo e rápido o processo...

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

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

Link to comment
Share on other sites

citação:

No caso não te serviria para verificar se foi adicionada uma letra ou número a função que eu passei?

O que você NÃO está conseguindo fazer?

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02


id=quote>id=quote>

Samir da forma que vc mencionou da o seguinte erro:

PARAMETROS ASC

se tirar o ASC passa a da o erro

PARAMETROS UPPER

mais tudo bem qdo a isto é so substrituir o nKey por xVal ou oGet:Value, mais estes erro sempre ocorre apos eu apertar o enter e não durante a digitação, o que estou tentando explicar que mesmo que acho a formula certa para ser colocado na sua linha , isto só ira acontecer apos o enter, e eu preciso durante a digitacao sem dar enter, pois como já dize se for apos o enter uso oCol:bEditValid...

Mesmo assim agradeco sua atenção

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

Link to comment
Share on other sites

citação:

citação:

No caso não te serviria para verificar se foi adicionada uma letra ou número a função que eu passei?

O que você NÃO está conseguindo fazer?

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02


id=quote>id=quote>

Samir da forma que vc mencionou da o seguinte erro:

PARAMETROS ASC

se tirar o ASC passa a da o erro

PARAMETROS UPPER

mais tudo bem qdo a isto é so substrituir o nKey por xVal ou oGet:Value, mais estes erro sempre ocorre apos eu apertar o enter e não durante a digitação, o que estou tentando explicar que mesmo que acho a formula certa para ser colocado na sua linha , isto só ira acontecer apos o enter, e eu preciso durante a digitacao sem dar enter, pois como já dize se for apos o enter uso oCol:bEditValid...

Mesmo assim agradeco sua atenção

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


id=quote>id=quote>

Utilize o bKeyDown ao invés do bOnPost edit e chame a função assim:

oBrw:bKeyDown := {|nKey| If(VerificaLetra(nKey), Alert("É letra"), Alert("Não é letra")) }


Function VerificaLetra(nKey)

Local lLetra := .T.

Try

If Upper(Asc(nKey)) $ "AÃÄÃÀBCÇDEÉÈËFGHIÃÃŒÃJKLMNOÓÒÖÕPQRSTUÚÙÜVWXYZ"

lLetra := .T.

else

lLetra := .F.

end

catch

lLetra := .F.

end

Return lLetra

id=code>id=code>

MSN: samirabreu@hotmail.comid=black>

Skype: Samirid=red>Abreuid=black>

xHarbour 1.1.0 + FwXh 8.02

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...