Página 1 de 1

Será que tem como fazer isso ??

Enviado: 17 Set 2008 15:24
por DLZ
Ola galera..
O q quero fazer é executar uma função no meu programa, só que a sintaxe dessa função está contida em uma variável..
Seria mais ou menos assim


Vvar:="msg('teste')"

Function msg(Ptexto)
Alert(Ptexto)

Quero executar a função msg("teste") usando a variável..
Não sei se me fiz entender...
Um abaração...

Re: Será que tem como fazer isso ??

Enviado: 17 Set 2008 15:35
por Maligno
Mais fácil seria se usasse em simples bloco de código:

Código: Selecionar todos

c := "Teste"
b := {|c|Msg(c)}
Eval(b,c)

function Msg(cMsg)
Aler(cMsg)

Re: Será que tem como fazer isso ??

Enviado: 17 Set 2008 17:47
por vagucs
Se for trazer isto de uma string, pode usar a macro substituicao para rodar as funcoes.

Código: Selecionar todos

cFuncao="alert('ok')"

&cFuncao

Enviado: 17 Set 2008 19:36
por Maligno
Macro-substituição pode ser interessante para coisas pequenas, mas os blocos de código, por serem mais complexos, permitem operações mais complexas e, claro, flexíveis. Mas está aí uma outra opção.

Re: Será que tem como fazer isso ??

Enviado: 17 Set 2008 21:34
por Toledo
Wagner, da maneira como você fez acho que não vai dar certo não!

Teria que fazer mais ou menos assim:

Código: Selecionar todos

vFuncao:="msg"
vPar:="'teste'"

&vFuncao.(&vPar)

Function msg(Ptexto)
Alert(Ptexto)
Abraços,

Re: Será que tem como fazer isso ??

Enviado: 21 Set 2008 10:20
por vagucs
É verdade, costume com o xHarbour, ele aceita apenas da forma que citei.