Jump to content
Fivewin Brasil

Verificar se o GET foi Alterado (RESOLVIDO)


Theotokos

Recommended Posts

 

Bom dia... o Valid xGet <> VariavelX   acho que pode te ajudar... ou com um OnChange chamando uma função para verificar o conteúdo..

 

Olá! então, eu não queria justamente isso, ter que utilizar uma outra variavel para depois comparar... pois tem uns outros processos...

lembro que no "old clipper" tinha como fazer isso usando a variavel do Get (oGet:....)

será que não tem no fivewin?

senão me engano era algo assim : oGet:VarGet() <> oGet:Buffer

 

Link to comment
Share on other sites

  • 3 months later...

para saber se o campo foi alterado eu comparos os dois... 

mais ou menos assim... é que estou viajando então não tem como postar para vc a rotina,,, mas faço isto assim que possivel

REDEFINE GET oGet VAR cNome PICT "@!X" Valid ( ValidNome(oGet))

Function ValidNome(oGet)

cConteudoAtual  := oGet:oGet:Buffer

cConteudoAntes := oGet:cCaption

If cConteudoAtual <> cConteudoAntes

    MsgInfo("Get Alterado","Alterado")

EndIf

Return(.t.)

 

Link to comment
Share on other sites

 

para saber se o campo foi alterado eu comparos os dois... 

mais ou menos assim... é que estou viajando então não tem como postar para vc a rotina,,, mas faço isto assim que possivel

REDEFINE GET oGet VAR cNome PICT "@!X" Valid ( ValidNome(oGet))

Function ValidNome(oGet)

cConteudoAtual  := oGet:oGet:Buffer

cConteudoAntes := oGet:cCaption

If cConteudoAtual <> cConteudoAntes

    MsgInfo("Get Alterado","Alterado")

EndIf

Return(.t.)

 

É desta forma que eu estava testando, mas no meus testes a oGet:cCaption sempre esta vazia.

Eu faço assim

defino as variaveis com valores vazios

cNome:= spac(30)

Defino os gets 

REDEFINE GET oGet VAR cNome PICT "@!X" Valid ( ValidNome(oGet))

carrego valor a variavel

cNome:="EXEMPLO"

oGet:refresh()

Quando Digita o valor cNome e vai pro Valid a oGet:cCaption retorna vazio.

Minha versão é o Five 1608. 

Link to comment
Share on other sites

no meu caso eu carrego a variavel com o valores já, pois utilizo esta rotina em Alteração de Cliente por exemplo...

qdo chamo a rotina de alteração :

cNome := D_NOME   // Recebe os dados do arquivo 

cEndereço := D_ENDERECO

cBairro  D_BAIRRO

..... Etc()

DEFINE DIALOG ....

....

REDEFINE GET oGet VAR cNome PICT "@!X" Valid ( ValidNome(oGet))

...

ACTION DIALOG ....

...

Return(nil)

Function ValidNome(oGet)

cConteudoAtual  := oGet:oGet:Buffer

cConteudoAntes := oGet:cCaption

If cConteudoAtual <> cConteudoAntes

    MsgInfo("Get Alterado","Alterado")

EndIf

Return(.t.)

Link to comment
Share on other sites

Entendi Theotokos,  da forma que faz ele funciona mesmo.

Pelo jeito para o cCaption funcionar ele guarda os dados na definição dos gets, da forma que faço não deu certo, mas já entendi, obrigado pela resposta.

 

CIACPD

oGet1:ctext() -> valor alterado

oGet1:Value()-> valor do objeto antes da alteração

Ambos tem o mesmo valor no VALID.

 

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