Será que tem como fazer isso ??

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

DLZ
Usuário Nível 3
Usuário Nível 3
Mensagens: 184
Registrado em: 09 Jun 2008 10:09
Localização: Ibirubá - RS - Brasil

Será que tem como fazer isso ??

Mensagem 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...
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Será que tem como fazer isso ??

Mensagem 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)
[]'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
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Será que tem como fazer isso ??

Mensagem 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
Sem mais
Wagner Nunes
www.vagucs.com.br
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 »

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.
[]'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
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Será que tem como fazer isso ??

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Será que tem como fazer isso ??

Mensagem por vagucs »

É verdade, costume com o xHarbour, ele aceita apenas da forma que citei.
Sem mais
Wagner Nunes
www.vagucs.com.br
Responder