Array
(
)

Interpretador de comando.

Rcasistemas
|
MVP
    22 dez 2005

Alguem tem ou sabe fazer um interpretador de comando??
Tipo:

#Código


procedure...
var
Str : String;
begin
Str := ´WinExec( calc.exe , sw_normal ) ´;
Interpreta ( Str ) ;
end;


Dai a funcao Interpreta execua o winexec, mas naum vale colocar um montaum de if dentro da funcao Interpreta pra saber o q deve ser executado.

Fica ae a pergunta (eu consideraria um desafio).

Abraços


Pain_elemental
   - 22 dez 2005


Citação:
Alguem tem ou sabe fazer um interpretador de comando??
Tipo:

#Código


procedure...
var
Str : String;
begin
Str := ´WinExec( calc.exe , sw_normal ) ´;
Interpreta ( Str ) ;
end;


Dai a funcao Interpreta execua o winexec, mas naum vale colocar um montaum de if dentro da funcao Interpreta pra saber o q deve ser executado.

Fica ae a pergunta (eu consideraria um desafio).

Abraços

voce tem que fazer um subsistema para interpretar, com um registro de funcoes e informacoes de como executar.

eu fiz e uso um parser para dar extensibilidade aos meus aplicativos, e para a parte de funcoes da api ou importadas de dll´s eu crio um xml com as informacoes de nome da funcao, valor de retorno, parametros, dll e pono de entrada nessa dll para a funcao e o parser (interpretador) quando ve que é uma chamada de função ele ve nesses xmls como executar a funcao e a executa. Mas acho q eh algo um pouco extenso para ser discutido num forum. Existem interpretadores e linguagens de scripts que podem fazer isso para voce, mas nao creio que seja isso o que voce quer.


Rcasistemas
|
MVP
    22 dez 2005

Entendi completamente o q vc disse, mas acho q naum preciso de algo taum complexo, pois os camando q pretendo interpretar, saum todos existentes no delphi.....
Seria esta a unica soluçao?


Dopi
   - 22 dez 2005

Acho que já existem pacotes de componentes que fazem algo semelhante.

[url=http://www.fast-report.com/en/products/products.php?BID=24]Fast-Script[/url] (Comercial)

[url=http://www.remobjects.com/page.asp?id={9A30A672-62C8-4131-BA89-EEBBE7E302E6}]Pascal Script[/url] (Free)


Pain_elemental
   - 22 dez 2005


Citação:
Existem interpretadores e linguagens de scripts que podem fazer isso para voce


Para algo simples eu iria citar o PascalScript, mas acho que ele nao vai atender às suas necessidades de funcoes da api. Você terá que adicioná-las 1 a 1 no pascal script, mas com creio que serão poucas, acho que atenderá as suas necessidades.