Eu programa em clipper a uns 5 anos e a 1 ano estou estudando delphi, mas ate hoje eu não achei macro-substituição no delphi.
Alguem sabe fazer isso.
Klinger
16/06/2005 - 16:45
Eu também tenho esta dificuldade. Não consegui fazer macro substituição no Delphi. Para quem era programador clipper, essa rotina faz muito falta.
Graymalkin
18/06/2005 - 02:11
Clipper é uma linguagem dinâmicamente compilada. Delphi já é estaticamente compilada. Ou seja, Clipper tem a habilidade de compilar e executar um código em tempo de execução. Aliás, recentemente apareceu um tópico no qual essa solução seria a mais viável:
http://scriptbrasil.com.br/forum/index.php?showtopic=59018Ah, e a despeito da pobre orientação a objetos, Clipper rulez!
Abraços,
Graymalkin
Amigo, o que exatamente faz esse macrosubst?
Graymalkin
18/06/2005 - 20:53
A macrosubstituição permite que você coloque um pedaço qualquer de código em uma string e execute-o. Por exemplo, em um programa assim (Clipper):
| CODE |
expressao = space(20) @01,01 say "Digite uma expressao qualquer: " get expressao read ? &expressao inkey(0) |
Você poderia digitar algo como "2+5+7+3+1" e isso seria desenvolvido na hora.
Outro exemplo é se você precisar obter o valor de um campo (do banco de dados), passando o nome do campo como uma string:
| CODE |
campo := "total" ? alias->&campo |
Ou ainda, se você quiser executar uma função também partindo de seu nome e parâmetros como uma string:
| CODE |
codigo := "soma(2, 3)" ? &codigo inkey(0)
function soma(n1, n2) return n1+n2 |
Sacou?

Abraços,
Graymalkin