Página 1 de 2

retornar um GET

Enviado: 18 Mar 2008 20:53
por Vinicius
Boa noite galera!!

Um comando GET seguido de um READ, não consigo retornar ao GET para altera-lo, o usuário tem que ir até o final da rotina e retornar na mesma para alterar o GET.

Exemplo:
@ 10,50 get kcod pict "9999"
read

vlu

Enviado: 18 Mar 2008 22:01
por Maligno
Se você colocar dentro de uma malha não resolve? Uma vez que saia do READ, pra retornar, só se você forçar o retorno por uma malha. Um exemplo bem tosco:

Código: Selecionar todos

@ 10,50 get kcod pict "9999"
while .t.
   read
   if LastKey() = 27
      exit
   end
end

Enviado: 18 Mar 2008 23:22
por Toledo
Vinícius, não sei se entendi direito o seu problema, mas você tem um GET com um READ logo em seguida e depois deste existe outros vários GETs, então para retornar ao primeiro GET tem que passar por todos os outros... é isto?

Se for, coloque o READ somente depois do último GET, assim você poderá navegar entre todos os GETs.

Caso você precise validar alguma coisa no primeiro GET, monte um função para isto e coloque na cláusula VALID do GET.

Abraços,

Enviado: 19 Mar 2008 06:02
por Maligno
Complementando:

Uma coisa que causa confusão é a pessoa pensar que o comando GET controla a navegação. Isso não é verdade. O GET serve apenas para configurar a entrada de dados, cujos parâmetros são armazenados na matriz de trabalho. Quem faz o controle da navegação, validação da entrada, etc é o comando READ.

Enviado: 19 Mar 2008 06:07
por Vinicius
Toledo,

Tenho um pedido de venda que contem 10 linhas, sendo:
codigo do produto, seguido de um GET e READ para verificação do produto.
Depois que o usuário aperta enter após o GET, não consegue retornar ao GET para digitar novamente o codigo do produto.
Terias alguma solução para o problema?

Obrigado

Enviado: 19 Mar 2008 06:12
por Vinicius
Bom dia, Maligno!

Como disse, tenho um pedido com 10 linhas, e a cada linha preciso de um GET seguido de um READ que abre um outro arquivo para verificação do GET, retorna ao pedido e não consigo voltar ao GET. Como disse isto se repete nas 10 linhas.

Obrigado

Enviado: 19 Mar 2008 08:35
por alaminojunior
Bom dia, faça como o Toledo explicou lá em cima:
faça esta verificação com o uso da clausula "valid" ou "when" e use apenas um read.

@ 00,00 get bla valid verifica(argumento)
@ 01,00 get blabla valid verifica(argumento)
@ 02,00 get blablabla valid verifica(argumento)
@ 03,00 get blablablabla valid verifica(argumento)
read

Function Verifica(arg)
if !dbseek(arg)
return .f.
else
return .t.
endif

Enviado: 19 Mar 2008 08:35
por Pablo César
Vinicius,

Eu acho o seu problema se resolve colocando apenas UM READ em vários GETs. Daí sim você irá poder navegar entre GETs. Colocar vários READ, numa série de GETs, iria impedir que retornasse (caso pressionado setinha para cima) ao GET anterior. Seria isso ?.

As validações faça através de funções em cada GET VALID CHECA_1() (por exemplo), assim você conseguiria eliminar os READs excessivos e deixar apenas um.

Código: Selecionar todos

@ 01,00 GET VAR1 VALID CHECA1(VAR1)
@ 02,00 GET VAR2 VALID CHECA1(VAR2)
@ 03,00 GET VAR3 VALID CHECA1(VAR3)
READ

Enviado: 19 Mar 2008 08:37
por alaminojunior
Caraca, isso é o que eu chamo de comunhão espiritual.

Enviado: 19 Mar 2008 09:46
por ederxc
alaminojunior escreveu:Caraca, isso é o que eu chamo de comunhão espiritual.



QUE LINNNNDU ;)

Enviado: 19 Mar 2008 11:01
por alaminojunior
QUE LINNNNDU Piscando
Liga não gente, ele me ama. {>

Enviado: 19 Mar 2008 13:31
por Pablo César
alaminojunior escreveu:Caraca, isso é o que eu chamo de comunhão espiritual.
Pois é... hehe agora que eu ví. Postamos a mesma idéia no mesmo minuto. Mas acho que você Alaminio ganhou com a sua postagem porque você está mais perto daí de São Paulo que eu... hihihi

ImagemAhhh e lembrem que eu tenho o poder de adivinhar as coisas...

Enviado: 19 Mar 2008 13:49
por alaminojunior
Falow Merlin

Enviado: 19 Mar 2008 14:33
por Maligno
Vinicius escreveu:Tenho um pedido de venda que contem 10 linhas, sendo:
codigo do produto, seguido de um GET e READ para verificação do produto.
Depois que o usuário aperta enter após o GET, não consegue retornar ao GET para digitar novamente o codigo do produto.
Terias alguma solução para o problema?
Acho que a proposta do AlaminoJunior pode muito bem funcionar. Mas tenho a impressão de que você, ao voltar ao GET do código talvez precise limpar as variáveis subsequentes. Fique atento a isso.

Agora, se não der certo, há ainda a alternativa de fazer uma gambiarra de sete cordas, por meio de semáforos. Mas tente primeiro o que foi sugerido. Talvez dê certo.

Enviado: 20 Mar 2008 09:54
por apogestal
Tente usar um LOOP