Repetir dados

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Repetir dados

Mensagem por Josmar dos Santos »

Ola tem como fazer um dado repetir automaticamente em outro campo ou em uma variavel de memoria?
por exemplo: AO DIGITAR O VALOR 100,00 NO CAMPO V1, GOSTARIA QUE AUTOMATICAMENTE PREENCHENCE O CAMPO V2 SEM TER A NECESSIDADE DE DIGITA-LO
SEM MAIS
OBRIGADO
JOSMAR
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem por digitom »

Vê se é isso que você quer:


V1:=V2:=0
Flag:=.f.
@ prow()+1,10 say ´digite o valor 1: ' get v1 pict ´99.99´ valid Busca_V2()
@ prow()+1,10 GET V2 WHEN FLAG
read



function busca_v2()
V2 := V1
RETURN .T.
Fui :)
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Repetir dados

Mensagem por Josmar dos Santos »

Ola digitim ..blz? antes de mais nada ..obrigado pela sua gentileza em me ajudar:....Quanto a rotina que vc me pasou, infelismente nao deu certo....ele ta gerando um erro de variavel "flag"....
Mas reforçando o meu topico....o que to querendo e simplesmente a hora que digitar um determinado valor na variavel "v1", o mesmo aparecera na variavel "v2" sem ter a necessidade de digitar....mas teria que ser no ato...digitou v1...ja aparece o mesmo valor em v2..
Nota: podera ser uma variavel de memoria...nao ha necessidade de aparecer declarada no visor !
sem mais
obrigado!
Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

Mensagem por filizola »

V1:=V2:=0
@ prow()+1,10 say ´digite o valor 1: ' get v1 pict ´99.99´ valid;
Busca_V2(@v2)
@ prow()+1,10 GET V2 when .f.
read


function busca_v2(v2)
V2 := V1
RETURN .T.
"Um passo a frente, e já não estará mais no mesmo lugar..."
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem por digitom »

Bem,
Não entendi no que deu erro.
Mas compile o codigo abaixo e execute e veja se é isso que vc quer.

clipper teste
rtlink fi teste

Código: Selecionar todos

cls
V1:=V2:=0
do while .t.
   Flag:=.f.
   @ 10,10 say 'digite o valor 1: ' get v1 pict '@e 99999.99'valid Busca_V2()
   @ 11,10 say 'Valor o v2......: ' GET V2 pict '@e 99999.99' WHEN FLAG
   read
   if lastkey()=27
      exit
   endif
Enddo


function busca_v2()
V2 := V1
RETURN .T.
Fiz o teste é deu beleza.
Quando o usuario digita o valor de V1 o mesmo é mostrado em V2.
Agora tem outra solução se não quiser mostrar no visor para o usuário é mais simples ainda. É só atribuir V1 ao V2

Ex:


cls
do while .t.
V1:=0
@ 10,10 say 'digite o valor 1: ' get v1 pict '@e 99999.99'valid
read
if lastkey()=27
exit
endif
v2 := V1
SEUS....COMANDOS.....
ONDE...VOCE...PODERÁ...USAR A VARIAVEL V2
Enddo
Fui :)
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Acredito que dessa forma seja mais simples e compacto:

Cls
nVar1:=nVar2:=0

@ 10,20 Say 'Variavel 1: ' Get nVar1 Pict '999'
@ 12,20 Say 'Variavel 2: ' Get nVar2 Pict '999' When;
Eval({||nVar2:=nVar1, .F.}) // Se quizer editar a variavel coloque .T.
Read

:xau
Responder