Página 1 de 1
Variavel em Macro
Enviado: 10 Fev 2017 19:03
por chicaomogi2014
fiz uma rotina para macro usando o codigo
Código: Selecionar todos
tloop1 := 1
do while _tloop1 <= 10
_varplanocartao3 := "cartao" + alltrim(str(_tloop1))
@ _lposy+14, _lposx+45 TEXTBOX &_varplanocartao3 WIDTH 38 HEIGHT 20 SIZE 10
_tloop1++
enddo
O codigo acima conseguiu criar perfeitamente os TEXTBOX.
mas na hora de pegar o valor com a macro da erro.
Código: Selecionar todos
valor1 := lista.cartao1.value ====> Assim pega o valor normalmente
valor1 := "lista.cartao1.value"
valor2 := &valor1 =============================== da a mensagem 'Erro de Sintaxe &'
VARIAVEL EM MACRO
Enviado: 10 Fev 2017 19:27
por fladimir
E se colocar entre PARENTESES passa?
VARIAVEL EM MACRO
Enviado: 10 Fev 2017 19:44
por chicaomogi2014
Continua o mesmo erro
Error BASE/1449 Erro de sintaxe: &
estranho que se chamar ela direto ele mostra o valor do TEXTBOX então teoricamente a variavel do TEXTBOX esta OK
Porque crio varios TEXTBOX com a macro & e depois chamo uma função para gravar as TEXTBOX com seus respectivos valores.
Mas se nao houver jeito, vou fazer usando uma matriz.
Variavel em Macro
Enviado: 10 Fev 2017 20:14
por Toledo
Amigo, veja se isto funciona:
Código: Selecionar todos
valor1 := "cartao1"
valor2 := GetProperty( "lista", valor1, "Value" )
Obs.: este código é referente a MiniGui, então este tópico será movido para a seção
MiniGui.
Abraços,
Variavel em Macro
Enviado: 10 Fev 2017 21:35
por chicaomogi2014
Isso resolveu pra mim.
Muito bom, obrigado pela dica.
Variavel em Macro
Enviado: 11 Fev 2017 14:52
por Claudio Soto
No funciona porque las directivas tipo
lista.cartao1.value
son directivas decorativas, en realidad son directivas #translate de hb que en tiempo de compilación son sustituidas por el compilador por las funciones equivalentes, por eso en tiempo de ejecución dan error.
Variavel em Macro
Enviado: 11 Fev 2017 20:24
por JoséQuintas
Acho que assim fica mais fácil de entender:
lista.cartao1.value
Isso em execução não existe, porque é traduzido pelo pré-compilador conforme #define da minigui
Um equivalente, que também não daria certo pelo mesmo motivo.
A "conversão" vale para o fonte, mas não vale na execução.
Em execução esse K_ESC não existe.
Seria a mesma situação do anterior, parece variável mas não é, vale apenas pra ser usado no fonte ANTES de compilar.
Variavel em Macro
Enviado: 11 Fev 2017 22:28
por fladimir
entendi com a explicação obrigado pelos esclarecimentos, apesar de não ser minha dúvida, acabei ficando com dúvida..kkkk..
Agora não já entendi...vlw
Variavel em Macro
Enviado: 12 Fev 2017 20:52
por Pablo César
Bom eu não sou muito bom no português ( nem no inglês, nem espanhol

) mas vou tentar te explicar...
O que quer dizer o Dr. Claudio é que usando a função GetProperty( "lista", valor1, "Value" ) direto, não irá dar erro porque da forma de lista.cartao1.value isto é: <formulario>.<controle>.<propriedade> é a forma interpretada porque usa o
#xtranslate. E como o formulário e/ou controle não estão ainda ativados ou definidos, o compilador não os reconhece. Mas a função irá compilar e só dará erro caso não exista.
Eu prefiro direto da função. Se bem que as vezes isso contraria a indicação de uso. Porque se no futuro a função sofre alguma alteração, você terá também que fazer alterações do seu código. Embora a interpretada, sempre manterá retrocompatibilidade.
Me supe explicar Claudio ? Estoy correcto ?
Variavel em Macro
Enviado: 13 Fev 2017 13:37
por Claudio Soto
Exacto Pablo