Olá companheiros, é aquela "velha" dúvida.
Como fazer para alterar o foco de um get para outro?
Não tem jeito?.
Exemplificando:
Foram emitidos 10 (dez) gets e estou no get de nº 7.
Com fazer para, do get nº 7, ir para o get nº 3.
Obrigado.
MarceloG
Quase desesperadamente - foco no get.
Moderador: Moderadores
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olá,
A Função baixo exeplifica como ir para deterninado GET, se por exemplo quer ir para terceiro use VaiProGet( 3 )...
Repare que após os GETs não pode ter nenhum READ, pois este mata a GetList.
Bom, não é grande coisa, mas com certeza o caminho é esse, é só elaborar um pouco mais.
A Função baixo exeplifica como ir para deterninado GET, se por exemplo quer ir para terceiro use VaiProGet( 3 )...
Código: Selecionar todos
Function VaiProGet( nGet )
local GetList := {}
oGet := GetList[ nGet ]
oGet:SetFocus()
Return (NIL)Bom, não é grande coisa, mas com certeza o caminho é esse, é só elaborar um pouco mais.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
MARCELOG
- Usuário Nível 4

- Mensagens: 546
- Registrado em: 15 Mar 2005 16:54
- Localização: Divinópolis/MG
Caro Stanis,
obrigado pela atenção.
Entretanto, talvez você não tenha entendido o meu problema.
Se você quer iniciar a edição em determinado get, basta usar a função readmodal().
Ao invés de usar read, use readmodal(getlist,?), onde o ? é o get a ter o foco inicialmente.
Essa situação não "apaga" a getlist atual, que pode ser relida.
Se o getlist for local, quando você sair da função, o getlist é automaticamente detonado.
O que estou precisando é editar o getlist atual mas num get específico.
O Clipper 5.2 traz no source um prg (modget.prg) que chama a função gotoget() que, certinho, altera o foco nos gets .
Todavia, não entendi o mecanismo que a faz funcionar, pois ela não funciona com o reader padrão, mas um getsys alterado.
Nesse getsys, ela (a função gotoget()), não é chamada em lugar algum, e usa o número do get pretendido como parâmetro para saída (exitstate).
Conseguiu enteder?
MarceloG
obrigado pela atenção.
Entretanto, talvez você não tenha entendido o meu problema.
Se você quer iniciar a edição em determinado get, basta usar a função readmodal().
Ao invés de usar read, use readmodal(getlist,?), onde o ? é o get a ter o foco inicialmente.
Essa situação não "apaga" a getlist atual, que pode ser relida.
Se o getlist for local, quando você sair da função, o getlist é automaticamente detonado.
O que estou precisando é editar o getlist atual mas num get específico.
O Clipper 5.2 traz no source um prg (modget.prg) que chama a função gotoget() que, certinho, altera o foco nos gets .
Todavia, não entendi o mecanismo que a faz funcionar, pois ela não funciona com o reader padrão, mas um getsys alterado.
Nesse getsys, ela (a função gotoget()), não é chamada em lugar algum, e usa o número do get pretendido como parâmetro para saída (exitstate).
Conseguiu enteder?
MarceloG
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Hehe,
Pois é, na verdade eu tinha entendido sim o que você quer fazer, o exemplo foi simples, mas acredito que é mais ou menos por aí sim, se você conseguir dar o foco dessa maneira passando a getlist como parametro ou sei lá, algum jeito que você não mate ela, da pra usar em tempo real no get. Eu tinha pensado se não seria possível editar o STD.CH e colocar uma clausula a mais no GET que permita a execução de uma função, que não seja pré nem pós validação como as já existentes WHEN e VALID.
Bom, eu nunca precisei fazer isso na verdade, mas algum jeito tem que ter né, vou continuar pensando aqui e você por aí se conseguir alguma coisa posta aí, é sempre bom saber né.
Falooou.
Pois é, na verdade eu tinha entendido sim o que você quer fazer, o exemplo foi simples, mas acredito que é mais ou menos por aí sim, se você conseguir dar o foco dessa maneira passando a getlist como parametro ou sei lá, algum jeito que você não mate ela, da pra usar em tempo real no get. Eu tinha pensado se não seria possível editar o STD.CH e colocar uma clausula a mais no GET que permita a execução de uma função, que não seja pré nem pós validação como as já existentes WHEN e VALID.
Bom, eu nunca precisei fazer isso na verdade, mas algum jeito tem que ter né, vou continuar pensando aqui e você por aí se conseguir alguma coisa posta aí, é sempre bom saber né.
Falooou.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.