Macro Substituição. O velho amp; do clipper

27/10/2005

0

Amigos, li vários tópicos no forum a respeito disso e não encontrei uma resposta.

Realmente a macro substituição no delphi não existe, por ele realmente compilado e não interpretado.

Mas para a alegria de todos, encontrei no pacote Jedi 2 componentes muito legais: JVInterpreterProgram e JVInterpreterfm.

Não funcionam exatamente como o &, mas acredito resolver grade parte das necessidades de quem procurava o & no Delphi.

Li vários Tópicos a respeito de cálculos em string, retornando o resultado em variavel numerica. Eis um exemplo:

procedure Tfrmprincipal.JvXPButton1Click(Sender: TObject);
var i: variant;
begin
interprogram.Pas.Clear;
interprogram.Pas.Add(´2+2´);
interprogram.Run;
i := interprogram.VResult;
showmessage(i);
end;

Assim, o programa executa um showmessage e apresenta o valor 4. Sei que para muitos isso é básico, mas não critiquem, muitos do forum são iniciantes. E eu encontrei isso sozinho, no forum não achei nada a respeito. Por isso decidi escrever com um exemplo.

Espero ter ajudado,

Ah. o Pacote Jedi tem link no forum de onde baixar.


Doug_chagas

Doug_chagas

Responder

Posts

28/10/2005

Michael

Olá!

Quando eu deixei o Clipper e comecei a estudar Delphi, há 5 anos, a falta da macrosubstituição foi uma das coisas que eu mais senti. Realmente, era bastante útil. ;-)

Se vc quiser saber mais, existem componentes, assim como este da JVCL mencionado por vc, que permitem a execução de scripts mais complexos, com loops, ifs, funções e muito mais. Vc programa em Pascal (Pascal, não Delphi Language), e ele avalia seu código.

Pesquise no Google por InnerFuse Pascal Compiler. Vc vai gostar. Este componente é o utilizado pelo famoso InnoSetup para permitir a customização dos setup´s gerados.

[]´s


Responder

28/10/2005

Firekiller

Dê uma olhada também no Pascal Script. Ele tem um conversor de unit para o script.


Responder

28/10/2005

Titanius

Olá! Quando eu deixei o Clipper e comecei a estudar Delphi, há 5 anos, a falta da macrosubstituição foi uma das coisas que eu mais senti. Realmente, era bastante útil. ;-) Se vc quiser saber mais, existem componentes, assim como este da JVCL mencionado por vc, que permitem a execução de scripts mais complexos, com loops, ifs, funções e muito mais. Vc programa em Pascal (Pascal, não Delphi Language), e ele avalia seu código. Pesquise no Google por InnerFuse Pascal Compiler. Vc vai gostar. Este componente é o utilizado pelo famoso InnoSetup para permitir a customização dos setup´s gerados. []´s


Na realidade o InnerFuse deixou de existir, pois Carlo Kok - seu criador - foi para a RemObjects, o qual criou o PascalScript. É a mesma coisa, porem o PascalScript está mais evoluido, sendo que o InnerFuse deixou de existir...

Realmente ele é muito bom mesmo... estou implementando uma funcao pra colorir o Grid meu localizar, pois toda hora op cliente quer q Destaque de alguma maneira alguem no grid, com o PS é mais facil...

[]s


Responder

28/10/2005

Michael

Tem razão Titanius. Esqueci do RemObjects. ;-)

[]´s


Responder

05/03/2021

Wellington Telles

Exemplo de Embarcadero, com FindComponent:

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
const
NamePrefix = 'MyEdit';
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
Responder

05/03/2021

Wellington Telles

Testei de duas formas para um projeto que estou fazendo e deu certo:

for i := 0 to LoadStart.NConnections do
begin
(FindComponent('ImgCon'+IntToStr(i+1)) as TImage).Bitmap.LoadFromFile('.\\image\\led_red.png');
TLabel (FindComponent('LblCon'+IntToStr(i+1))).Text := Connections[i].name;
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar