Mensagens no get atual

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Ademir
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 31 Jul 2007 16:28
Localização: Porto Ferreira-SP

Mensagens no get atual

Mensagem por Ademir »

Boa noite pessoal !

Existe algum parametro do @ get que mostra uma mensagem quando o foco é passado para determinado get ? Se não existir, alguem saberia de alguma função do usuário que faça isso ?

Grato

Ademir.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Nativamente o Clipper não tem esse tipo de coisa, mas você pode contornar essa limitação usando, por exemplo, a cláusula WHEN. Exemplo:

Código: Selecionar todos

@ 1,10 say "1:" get campo1 WHEN Message(1)
@ 2,10 say "2:" get campo2 WHEN Message(2)
@ 3,10 say "3:" get campo3 WHEN Message(3)
read

function Message(i)
@ 24,0 say {"Texto do primeiro campo",;
            "Texto do segundo campo" ,;
            "Texto do terceiro campo",;
            "Texto do quarto campo"   ;
            }[i]
return .T.
Editado pela última vez por Maligno em 16 Ago 2007 18:35, em um total de 1 vez.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

O Maligno, foi rapido no Gatilho..hehe...mas abaixo mais um exemplo !!!

Código: Selecionar todos

@ 01,01 GET vTIPO  PICT "!" when DwnMsg( "Informe o Tipo " )
READ
Função que mostra no rodapé !

Código: Selecionar todos

function DWNMSG(Arg1, Arg2)
   local r23 := MaxRow()-1
   local c80 := MaxCol()+1
   
   Arg2:= iif(ISNIL(Arg2), "R*/W", Arg2)
   DevPos(r23, 0)
   vldevout(padc(Arg1, c80), Arg2)
   return .T.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Ademir, use o WHEN junto com uma função qualquer. Ex.:

*...
@11,10 get var1 when men("Vc está na Var1")
@12,10 get var2 when men("Vc está na Var2")
@13,10 get var3 when men("Vc está na Var3")
*...

function men(a)
@24,01 say a
retu .t.
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Opa,

E se for o caso de usar muito, pode colocar uma clausula a mais lá no STD.CH e jogar a tal função msg() lá...

Poderia até fazer criando uma funçãozinha que visse o foco do objeto get... Basta se basear no funcionamento de WHEN.
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.
Responder