Fórum Funções em String #179397
03/09/2003
0
Quero criar uma configuração de etiquetas que seja ´aberta´, ou seja, não amarrada pelos fontes.
Precisaria ter como gerar uma função em String e o Delphi executá-la como se fosse fonte. Ex:
function ExecutaComando(Comando: String): String;
ExecutaComando(´FormatFloat(´ + QuotedStr(´000´) + ´, tClientesCodigo.AsInteger)´);
e o retorno da função seria: ´001´ caso o código do cliente fosse ´1´
Pesquisei no Help do Delphi mas não obtive sucesso. Na liguagem Joiner da Tuxon, que é derivada do Clipper tem uma função desse tipo e é muito útil para configurações de etiquetas, notas fiscais e duplicatas.
Se vcs puderem me ajudar, eu ficarei muito grato.
Precisaria ter como gerar uma função em String e o Delphi executá-la como se fosse fonte. Ex:
function ExecutaComando(Comando: String): String;
ExecutaComando(´FormatFloat(´ + QuotedStr(´000´) + ´, tClientesCodigo.AsInteger)´);
e o retorno da função seria: ´001´ caso o código do cliente fosse ´1´
Pesquisei no Help do Delphi mas não obtive sucesso. Na liguagem Joiner da Tuxon, que é derivada do Clipper tem uma função desse tipo e é muito útil para configurações de etiquetas, notas fiscais e duplicatas.
Se vcs puderem me ajudar, eu ficarei muito grato.
Botelho
Curtir tópico
+ 0
Responder
Posts
03/09/2003
Allen74
botelho,
A grande maioria dos gerenciadores de relatórios fornecem algum tipo de avaliador de expressões que permite atender à grande maioria das necessidades dos desenvolvedores.
O quickreport, por exemplo possui o componente QRExpression. Você também pode utilizar alguns componentes já prontos que foram criados para fazer a avaliação de expressões. Consulte alguns deles neste link: http://www.torry.net/expressions.htm
Todo avaliador de expressões consiste basicamente de um pequeno interpretador. Para incorporar funções mais complexas, um interpretador mais completo é necessário. Alguns podem ser encontrados também no torry.net, no link: http://www.torry.net/interpretators.htm
Na linguagem Clipper era possível avaliar expressões da própria linguagem com a utilização do Macro Operator (&) em tempo de execução porque a linguagem em sí, apesar de gerar um arquivo executável, era interpretada.
O código fonte do programa era convertido em um formato intermediário, preservando nomes de variáveis, funções, etc. Somente as palavras reservadas da linguagem eram convertidas em mnemônicos dentro deste formato e tudo era anexado à biblioteca do clipper. Um processo semelhante ao que existe hoje para o Java, com o código fonte compilado para bytecodes que são interpretados e executados pela máquina virtual Java (JVM).
A grande maioria dos gerenciadores de relatórios fornecem algum tipo de avaliador de expressões que permite atender à grande maioria das necessidades dos desenvolvedores.
O quickreport, por exemplo possui o componente QRExpression. Você também pode utilizar alguns componentes já prontos que foram criados para fazer a avaliação de expressões. Consulte alguns deles neste link: http://www.torry.net/expressions.htm
Todo avaliador de expressões consiste basicamente de um pequeno interpretador. Para incorporar funções mais complexas, um interpretador mais completo é necessário. Alguns podem ser encontrados também no torry.net, no link: http://www.torry.net/interpretators.htm
Na linguagem Clipper era possível avaliar expressões da própria linguagem com a utilização do Macro Operator (&) em tempo de execução porque a linguagem em sí, apesar de gerar um arquivo executável, era interpretada.
O código fonte do programa era convertido em um formato intermediário, preservando nomes de variáveis, funções, etc. Somente as palavras reservadas da linguagem eram convertidas em mnemônicos dentro deste formato e tudo era anexado à biblioteca do clipper. Um processo semelhante ao que existe hoje para o Java, com o código fonte compilado para bytecodes que são interpretados e executados pela máquina virtual Java (JVM).
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)