Edit içerisinde fonksiyon tanımlamak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
anoedi
Üye
Mesajlar: 33
Kayıt: 20 Nis 2009 06:20

Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen anoedi »

Tekrar merhaba dostlar;

Sorunumu basitçe özetleyecek olursam,

Kod: Tümünü seç

var x,yx: real;
begin
  x:=5;
  yx:=x*x;     // fonksiyon burada tanımlandı
  label1.Caption:=floattostr(yx);
end;

Örneğin yukarıdaki kod parçacığında görüldüğü gibi y(x)=x*x gibi bir fonksiyonun 5 noktasındaki değerini hesaplıyorum.(Yaptığım uygulama daha karmaşık tabi ancak anlaşılsın diye bu basit örneği verdim.)
Kodda belirttiğim üzere fonksiyonu kod sayfasında kendim tanımladım ancak ben istiyorum ki; fonksiyon kullanıcı tarafından renkli arayüz üzerinde bir edit kontrolü içerisine tanımlansın ve o fonksiyon yx değişkenine aktarılsın.

Bunu yapabilmem mümkün müdür?
Yardımlarınız için şimdiden teşekkür ederim, saygılarımla.
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen thelvaci »

Çeşitli script ürünleri ile istediğinizi yapabilirsiniz. Tanınmış Fast Report raporlama aracının Fast Script adlı bir kütüphanesi, TMS Software'in bir ürünü, RemObjects'in bir başka kütüphanesi daha istediğiniz amaca hizmet edebilir. Bu hususta yapacağınız araştırmalar sizi sonuca ulaştıracaktır.
anoedi
Üye
Mesajlar: 33
Kayıt: 20 Nis 2009 06:20

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen anoedi »

Üstadım yardımlarınız için çok teşekkür ederim.
Remobjects'in resmi sayfasından ücretsiz script bileşenini edindim, şu an hala çözmeye uğraşmaktayım. Biraz karışık geldi ancak kafa yormaya devam edeceğim.

Eğer işin içinden çıkamazsam umarım yine bana yardımcı olursunuz, şu ana kadarki yardımlarınız için yeniden teşekkür ederim.
Kolay gelsin, saygılarımla.
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen qamyoncu »

TParser
TMathParser gibi birsürü bileşen var tam olarak istediğiniz şeyi veren :ara
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
anoedi
Üye
Mesajlar: 33
Kayıt: 20 Nis 2009 06:20

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen anoedi »

Sayın qamyoncu;

Bahsettiğiniz parser bileşenlerini kurdum. Grafik kütüphanesini anladım onda sorun yok ancak mathparser kontrolünde fonksiyonu içe aktarmayı başaramadım maalesef.

Tasarı şu ;
Form üzerinde 1 adet edit ve 1 adet buton kontrolü var. Edit içerisine "x*x" gibi bir fonksiyon atandığında, örneğin fonksiyonun x=2 noktasındaki değerini form başlığına aktaracak. Şu kod bloğunu denedim ancak "unknown identifier x" hatasını alıyorum.

Buton kontrolünün onclick olayına;

Kod: Tümünü seç

begin
  MathParser1.Text:=edit1.Text;
  MathParser1.StringToScript(edit1.Text);
  MathParser1.OptimizeScript();
  form1.caption:=floattostr(MathParser1.ExecuteScript);
end;
anoedi
Üye
Mesajlar: 33
Kayıt: 20 Nis 2009 06:20

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen anoedi »

Araştırırken aşağıdaki kodları buldum ancak bunlar C# için hazırlanmış (C# hakkında en ufak bir bilgim bile yok) ve delphiye çeviremedim.
Bu kodları delphi'ye çevirebilen olursa o da işime yarayabilir dostlar.

Kod: Tümünü seç

MathFunctions.MathParser mp = new MathFunctions.MathParser();
mp.Parameters.Add(MathFunctions.Parameters.A, 5);
mp.Parameters.Add(MathFunctions.Parameters.B, 2);
mp.Parameters.Add(MathFunctions.Parameters.C, 1);
mp.Parameters.Add(MathFunctions.Parameters.D, 3);
decimal result = mp.Calculate("3D-2B/C+(A-B)");

Kolay gelsin, saygılarımla.
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen qamyoncu »

http://www.bestcode.com/html/tbcparser.html

sanırım burdaki bileşenin yeterince açıklaması mevcut.

Ben TParser10 diye bişey kullanmıştım önceden. Şuan bulamadım onu, kullandığın bileşeninde sistemini bilmiyorum ama önce tanımlama yapmalısın. X değeri falan belirlenmeli.
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
anoedi
Üye
Mesajlar: 33
Kayıt: 20 Nis 2009 06:20

Re: Edit içerisinde fonksiyon tanımlamak.

Mesaj gönderen anoedi »

Tbsparser ücretli ama bahsettiğiniz parser10 i internette buldum, kurdum ve çalıştı.
Sorun çözüldü yani.

Yardımlarınız için çok teşekkür ederim üstadım saygılarımla...
Cevapla