Fórum Tranformar String de uma edit em codigo... #217473

01/03/2004

0

Bem... gostaria de digitar esta funcao em uma edit1 (em execução) sin(x) e dar a resposta em uma outra edit2...
se eu digitar cos(x) em edit1 na edit2 aparece a resposta e assim por diante...
como da pra perceber o que esta na edit1 varia.. mas como faço para achar uma funçao digitada em uma edit em tempo de execução??


Valew galera... :lol: :P :lol:


Pantoja

Pantoja

Responder

Posts

01/03/2004

Wolverine

Edit2.Text:=FloatToStr(cos(StrToFloat(Edit1.Text)))


Responder

Gostei + 0

01/03/2004

Paulo_amorim

Olá

Aproveitando o tópico:

Existe um modo de criar um código em tempo de execução?

Ex. digito num TEdit: ´Label1.Caption := ´Olá Mundo´ ´
e ele executar isso?

Até+


Responder

Gostei + 0

02/03/2004

Buosinet

Eu acho que a única maneira de criar código Delphi dinamicamente é criando uma DLL e linkando dinamicamente ao programa. Mas dá trabalho...

Buosi.


Responder

Gostei + 0

02/03/2004

Wolverine

claro amigo, olha:
vc tem um tedit q ira receber o nome do label,

ex: Label Tedit
Button

no evento OnClick do button vc coloca
label.caption:=edit.text

entao:

O seu Texto digitado Tedit
Button


Responder

Gostei + 0

02/03/2004

Paulo_amorim

claro amigo, olha: vc tem um tedit q ira receber o nome do label, ex: Label Tedit Button no evento OnClick do button vc coloca label.caption:=edit.text


Creio que nao me entendeu.
O que quis dizer eh:
se o Edit.Text contém um comando Delphi (p. ex.
Edit.Text := ´Label.Caption := ´ola´; ´
)

como fazer para executar esse codigo que est´á no texto do TEdit.

Mas o buosinet disse que eh complicado, usa-se dll etc...entao deixa, ja que era mera curiosidade!

Obrigado


Responder

Gostei + 0

02/03/2004

Wolverine

e ainda mais legal
coloque num form um Label e um edit

no evento OnKeyUp do Edit coloque:
Label1.Caption:=Edit1.Text


Responder

Gostei + 0

02/03/2004

Paulo_amorim

Olá

Vou tentar ser mais especifico:

considere a Unit:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;


no evento do botão, ele executa o que está no Edit1.Text...por exemplo.
o usuario digita no Edit1 a seguinte frase: ´Button1.Enabled := False;´

Quando clicasse no botão, ele executaria esse comando acima, ou seja, o botão ficaria com Enabled = False.

Acho que agora fui claro
Até+


Responder

Gostei + 0

02/03/2004

Beppe

[quote:097c46d910=´Professor Algoritmo´]Bem... gostaria de digitar esta funcao em uma edit1 (em execução) sin(x) e dar a resposta em uma outra edit2...
se eu digitar cos(x) em edit1 na edit2 aparece a resposta e assim por diante...
como da pra perceber o que esta na edit1 varia.. mas como faço para achar uma funçao digitada em uma edit em tempo de execução??


Valew galera... :lol: :P :lol:[/quote:097c46d910]

Eu acho que a única maneira de criar código Delphi dinamicamente é criando uma DLL e linkando dinamicamente ao programa. Mas dá trabalho... Buosi.


e ainda mais legal coloque num form um Label e um edit no evento OnKeyUp do Edit coloque: Label1.Caption:=Edit1.Text


O Delphi não permite compilação dinâmica de código, logo não pode executar um comando que esteja em uma string em tempo de execução, mesmo que seja na linguagem Delphi, ou ou qualquer outra, diretamente.

Para isso, você escreve um interpretador, que recebe a expressão, avalia e retorna o resultado. Se você mesmo não quiser escrever um, há diversos componentes na Internet que façam isso.

Ou, talvez esse tópico ajude: [url]http://delphiforum.icft.com.br/forum/viewtopic.php?p=99223#99223[/url]

se o Edit.Text contém um comando Delphi (p. ex.
Edit.Text := ´Label.Caption := ´ola´; ´
) como fazer para executar esse codigo que est´á no texto do TEdit.


Permitindo usar objetos Delphi, você precisa usar rotinas como FindComponent(Classes) e SetStringProperty(TypInfo)

Há componentes que fazem isso, creio eu, mas talvez você precise registrar cada componente que usar.


Responder

Gostei + 0

02/03/2004

Wolverine

Código:
SELECT *
FROM guys
WHERE expertise = ´very_smart´;


One record found:
> Beppe

[color=red:3ee3f25ae9][size=24:3ee3f25ae9][b:3ee3f25ae9]Falou viu[/b:3ee3f25ae9][/size:3ee3f25ae9][/color:3ee3f25ae9]


Responder

Gostei + 0

02/03/2004

Beppe

Código: SELECT * FROM guys WHERE expertise = ´very_smart´; One record found: > Beppe [color=red:74b832aa88][size=24:74b832aa88][b:74b832aa88]Falou viu[/b:74b832aa88][/size:74b832aa88][/color:74b832aa88]


:?:

Mas que bom que funciona no teu SGDB também... :mrgreen:


Responder

Gostei + 0

02/03/2004

Wolverine

[color=red:064a4983ec][size=24:064a4983ec][b:064a4983ec]AFE![/b:064a4983ec][/size:064a4983ec][/color:064a4983ec]

hehehe esse Beppe viu :lol:


Responder

Gostei + 0

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

Aceitar