GETs aninhados

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Romeuk
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 23 Mar 2008 14:11
Localização: Porto Alegre-RS

GETs aninhados

Mensagem por Romeuk »

Amigos:
Primeiro post, pois não encontrei algum ítem relacionado(a pesquisa que fiz no fórum foi muito rápida).
Alguém pode me ajudar indicando um link ou exemplo de programa que contenha gets aninhados (ou reads aninhados)?
Exemplo: dentro de um get, uma clausula de validação deste get deve conter outro get para receber nova informação.
Grato por qualquer ajuda
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Seja bem vindo ao nosso fórum !

Com este termo "aninhar GETs", realmente não existe. Mas neste tópico onde menciona:
seria possivel dentro de minha função de pesquisa haver outro Get?
tem uma indicação minha falando da função GETINPUT da CT.LIB. é a forma menos trabalhosa de fazer um get aninhado, pois da forma convencional acho que deverias utilizar um CLEAR GETS para liberar o GET vigente.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mensagem por Toledo »

Romeuk, veja um exemplo:

Código: Selecionar todos

LOCAL getlist:={}
cVar1:= SPAC(20)
cVar2:= SPAC(20)
@ 10,10 SAY "Campo 1..:" GET cVar1 Valid (outroget())
@ 12,10 SAY "Campo 2..:" GET cVar2
READ


Func outroget()
LOCAL getlist:={}, cVar3
cVar3:= SPAC(20)
@ 16,10 SAY "Campo 3..:" GET cVar3
READ
Retu (.T.)
Observe que coloquei no exemplo acima uma variável local chamada getlist, uma na rotina origem e outra na função outroget(), com isto posso aninhar quandos GETs forem necessários.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Romeuk
Usuário Nível 1
Usuário Nível 1
Mensagens: 15
Registrado em: 23 Mar 2008 14:11
Localização: Porto Alegre-RS

GETs aninhados

Mensagem por Romeuk »

Grato aos dois. Testei a solução da variável local Getlist e funcionou perfeito. Para aprender com os erros, aqui vai (resumido) o que eu estava fazendo:

Func Principal()
@ . . say . . get var1
@ . . say . . get var2 valid Checa()
@ . . say . . get var3
read


Func Checa()
local oGet, var4
oGet := Getactive()
if oGet:varGet() = "9"
@ 13,32 say "Especifique: " get var4
Read
endif
return .T.

Com isso, ao validar, o Getactive() passava a ser var1, no Read principal (e não na variável var4 da função Checa()).

PS: Estou migrando um zilhão de linhas de programação para o xHarbour depois de muito tempo sem mexer com Clipper.

Grato de novo

RomeuK
Responder