Página 1 de 1
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 14:36
por romulobonnadio
Como pegar o nome da variavel do get ativo?
Tentei por ReadVar() => Ele pega o nome da variavel lida atualmente mas nao pega o get ativo.
Tentei por GetFldVar()=> Mas ele me retorna vazio quando uso o Blinker7, no exospace ele me retorna legal e ai galera oque faco agora?
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 14:42
por Imatech
Acredito que deseje o conteudo da variavel em edição no objeto get:
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 14:58
por Pablo César
Como pegar o nome da variavel do get ativo?
Veja exemplo:
Código: Selecionar todos
cNome:=Space(38)
cTel:=Space(12)
cls
@ 12,00 Get cNome When NomVar()
@ 13,00 Get cTel When NomVar()
Read
Function NomVar()
@ 24,00 Say "Nome da atual variavel: "+PadR(readvar(),54)
Return .t.
Era isto que você precisava ?
Ele pega o nome da variavel lida atualmente mas nao pega o get ativo.
Como assim ? Pode explicar melhor o que você precisa ?
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 15:41
por romulobonnadio
Ex.:
@ ... get var1
CarregVar()
@ ... get var2
CarregVar()
@ ... get var3
CarregVar()
read
Function carregVar()
&GetFldVar() := "teste" // Anteriormente usando exospace ele pegava a variavel Var1 e preenchia o valor teste
// Atualmente usando blinker o GetFldVar nao retorna o nome da variavel, pois ela ainda nao esta ativa no get neste momento.
Return .t.
Esse seria o meu problema atual, pois terei que alterar todo meu sistema para colocar esta funcao dentro do Where, mesmo assim essa funcao deveria ser executada antes do where e nao dentro do where, pois utilizo ela para escrever em tela as descricoes dos campos codificados ex.:
Cliente: 000007 Romulo Bonnadio
Acima eu uso o Say para o Label Cliente
Uso o get para visualizar o codigo
e o nome do cliente geralmente eh visualizado em tela atraves de uma funcao que busca no banco, localiza a linha e coluna do get anteriormente adicionado em tela e imprime o nome.
Sera que fui claro?
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:00
por Pablo César
Sera que fui claro?
Eu estou tentando ajudar-lhe e esse não é um tom amistoso. Senão for claro ou eu não entender, desculpe: mas precisará de mais paciência !
Desculpe, mas na minha opinião essa sequência de código:
Ex.:
@ ... get var1
CarregVar()
@ ... get var2
CarregVar()
@ ... get var3
CarregVar()
read
Não está correta. A função CarregVar() como você a disponibilizou, não terá efeito algum, nem está vinculada com GET algum... apenas chama a função nas diferentes linhas, mas isso não quer dizer que tem vínculo algum.
Outra coisa, você fala da função
GetFldVar() e esta função precisa de parâmetro, que seria o número de sequência dos GETs.
Anteriormente usando exospace ele pegava a variavel Var1 e preenchia o valor teste
// Atualmente usando blinker o GetFldVar nao retorna o nome da variavel, pois ela ainda nao esta ativa no get neste momento
Posso eu estar errado, mas na minha modesta opinião, isso que você está afirmando: não procede. Pois não é o linker que irá fazer a conexão do CarregVar com o Get ativo. Precisa mostrar o código ou parte dele para entendermos melhor a situação.
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:08
por romulobonnadio
Eu estou tentando ajudar-lhe e esse não é um tom amistoso. Senão for claro ou eu não entender, desculpe: mas precisará de mais paciência !
Amigo qdo escrevi acima "Sera que fui claro", desculpe mas nao foi falta de paciencia nem mesmo com intuito de lhe responder mau nao, foi simplesmente uma pergunta se eu consegui explicar meu problema a vc. Em hipotese alguma eu teria o porque de lhe tratar mau, ate mesmo porque sua intencao tem sido a melhor.
Desculpe!
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:11
por Pablo César
romulobonnadio escreveu:Eu estou tentando ajudar-lhe e esse não é um tom amistoso. Senão for claro ou eu não entender, desculpe: mas precisará de mais paciência !
Amigo qdo escrevi acima "Sera que fui claro", desculpe mas nao foi falta de paciencia nem mesmo com intuito de lhe responder mau nao, foi simplesmente uma pergunta se eu consegui explicar meu problema a vc. Em hipotese alguma eu teria o porque de lhe tratar mau, ate mesmo porque sua intencao tem sido a melhor.
Desculpe!
Amigo, desculpas aceitas !
Voltando ao assunto do tópico, para que o seu código fique de forma funcional, você teria que apenas adicionar o when em cada get, só isso. Desta forma:
Código: Selecionar todos
cls
Store Space(10) to var1,var2,var3
@ 01,01 get var1 when CarregVar()
@ 02,01 get var2 when CarregVar()
@ 03,01 get var3 when CarregVar()
Read
Function CarregVar()
@ 24,00 Say PadC(GETFLDVAR(),80) Color "N/W"
Return .t.
Só pra informação: A função GETFLDVAR() é da CT.LIB.
Espero ter ajudado.
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:43
por romulobonnadio
Agora ira me entender claramente:
Código: Selecionar todos
Clear
Private GetList := {}
m1 := "ADFAFASDF1"
m2 := "ADFAFASDF2"
m3 := "ADFAFASDF3"
@ 10,10 say "ADF1" get m1 When fGetFldVar()
@ 11,10 say "ADF2" get m2 When fGetFldVar()
@ 12,10 say "ADF3" get m3 When fGetFldVar()
read
Function fGetFldVar()
@ row(),col()+20 say GetFldVar()
Return .T.
O retorno da GetFldVar() esta vazio, porque sera?
Muito obrigado.
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:52
por Pablo César
romulobonnadio escreveu:Agora ira me entender claramente:
Código: Selecionar todos
Clear
Private GetList := {}
m1 := "ADFAFASDF1"
m2 := "ADFAFASDF2"
m3 := "ADFAFASDF3"
@ 10,10 say "ADF1" get m1 When fGetFldVar()
@ 11,10 say "ADF2" get m2 When fGetFldVar()
@ 12,10 say "ADF3" get m3 When fGetFldVar()
read
Function fGetFldVar()
@ row(),col()+20 say GetFldVar()
Return .T.
O retorno da GetFldVar() esta vazio, porque sera?
Não, não está vazio o retorno do GetFldVar(), pois está retornando o nome da variável ativa.
Olha a tela aqui:
romulobonnadio escreveu:Como pegar o nome da variavel do get ativo?
Não era essa a sua necessidade ?
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:55
por romulobonnadio
Encontrei o erro nas libs, estava como LIB CT,ptool52
Tirei a ptool52 e a funcao GetFldVar() voltou a retornar o nome do campo corretamente.
Amigo muito obrigado pela dica.
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 16:59
por Pablo César
Encontrei o erro nas libs, estava como LIB CT,ptool52
Tirei a ptool52 e a funcao GetFldVar() voltou a retornar o nome do campo corretamente.
Ahhh conflito de funções entre ambas libs... Acho que o que ajudou eu ter mencionado que era da CT.lib. Bom que bom que resolveu e a culpa não é do BLINKER rs
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 19:07
por romulobonnadio
O engracado q o lnk tanto do exospace qto do blinker eh o mesmo rssr, so muda algumas coisas mas utilizam as mesmas libs etc
E no exospace funcionava blz rsrsr
D qq forma muit obrigado ai parceiro, tenha 1 bom fds e fica c Deus.
Como pegar o nome da variavel do get ativo?
Enviado: 05 Out 2012 20:52
por alxsts
Olá!
Só para enriquecer o conteúdo, segue um exemplo de manipulação de gets, sem usar biblioteca de terceiros. Creio que atende à necessidade do OP.
Código: Selecionar todos
Function Main()
LOCAL cNome:=Space(38)
LOCAL cTel:=Space(12)
LOCAL GetList := {}
cls
SetBlink( .F. )
@ 12,05 Say "Nome :" ;
Color "GR+/N" ;
Get cNome ;
Color "N/W, N/W*" ;
Pict "@K" ;
When { || SetPos( GetActive():row + 10, 5 ), DispOut( GetActive():name ), .T. } ;
Valid { || SetPos( GetActive():row + 10, 5 ), DispOut( Space( 10 ) ), .T. }
@ 13,05 Say "Telefone :" ;
Color "GR+/N" ;
Get cTel ;
Color "N/W, N/W*" ;
Pict "@K" ;
When { || SetPos( GetActive():row + 10, 5 ), DispOut( GetActive():name ), .T. } ;
Valid { || SetPos( GetActive():row + 10, 5 ), DispOut( Space( 10 ) ), .T. }
// faz o read sem destruir o GetList
ReadModal( GetList )
// Percorre o GetList alterando o conteúdo das variáveis
AEval( GetList, { |e,p| e:setFocus(), ;
e:varPut( PadR( "Get " + Ltrim( Str( p ) ), Len( e:original) ) ), ;
e:killFocus() } )
// Novo read
ReadModal( GetList ); GetList := {}
@ 17, 05 Say "Nome : " + cNome
@ 18, 05 Say "Fone : " + cTel
SetPos( 20,05 )
WAIT "FIM - Tecle algo..."
RETURN NIL
//--------------------------------------------------------------------------------------------------
Como pegar o nome da variavel do get ativo?
Enviado: 29 Out 2018 19:28
por alxsts
Olá!
Sim. Foi respondido assim em 2 tópicos do post: (Imatech » 05 Out 2012 14:42 e alxsts » 05 Out 2012 20:52), não tão objetivamente.