Página 1 de 1

Repetir dados

Enviado: 02 Mai 2006 15:11
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

Enviado: 02 Mai 2006 17:37
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.

Repetir dados

Enviado: 03 Mai 2006 00:19
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!

Enviado: 03 Mai 2006 08:03
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.

Enviado: 03 Mai 2006 12:55
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

Enviado: 03 Mai 2006 18:22
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