Edit içinde matematik işlemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Edit içinde matematik işlemi

Mesaj gönderen White Rose »

s.a.
Arkadaşlar edit text içine girdiğimiz bir matematik formülünün sonucunu bulan kodu nasıl yazabiliriz
örneğin edit içine 2*(234-(23*2))+23+(12/4)*(50-12)+23 yazalım.
Butona basınca sonucu verecek yani sonuc 536 olacak
teşekkürler.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Edit içinde matematik işlemi

Mesaj gönderen Battosai »

Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: Edit içinde matematik işlemi

Mesaj gönderen White Rose »

Teşekkür ederim, linke baktım fakat bu kodu benim yazmam gerekiyor,
daha sonra bunu javaya çevireceğiz, esas konu java ile yapmak
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Edit içinde matematik işlemi

Mesaj gönderen unicorn64 »

o zaman işlem önceliğine göre elinizdeki stringi parse edip işlemeniz gerek, parantezlere dikkat ederek, en iç parantezden dışa doğru işlem yaptırarak sonuca ulaşırsınız
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Edit içinde matematik işlemi

Mesaj gönderen Lost Soul »

Zamanında şöyle bir örnek yazmıştım. İşlem önceliği kontrolü yok ama.


Ayrıca Wiki'de Shunting Yard Algorithm şeklinde güzel bir döküman var.
En son Lost Soul tarafından 14 Oca 2013 01:27 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Edit içinde matematik işlemi

Mesaj gönderen csunguray »

Bu işler için scripting kütüphaneleri vardır. Ben FastReport'un FastScript (http://www.fast-report.com/en/product/fast-script/) kütüphanesiniz kullanıyorum. Programınızı Java'ya geçirdiğiniz zaman da Java'da yazılmış bir scripting kütüphanesi kullanırsınız olur biter. Java platformunda mutlaka böyle bir ürün vardır.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
olcaydagli
Üye
Mesajlar: 12
Kayıt: 31 Ara 2003 11:29

Re: Edit içinde matematik işlemi

Mesaj gönderen olcaydagli »

Merhaba,
Her hangi bir veritabanına bağlantınız var ise Query nesnesi ile "SELECT 2*(234-(23*2))+23+(12/4)*(50-12)+23 AS SONUC" ile sonucu alabilirsiniz. Ben genelde bu tarz formullerde TADOQuery bileşeni ile SQL Serverda sonuca gidebiliyorum.
İyi çalışmalar...
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: Edit içinde matematik işlemi

Mesaj gönderen White Rose »

S.A.
Projeyi bitirdim, programın kaynak kodunu ve exe sini buraya ekliyorum, belki birilerinin işine yarar.
Dosya ekleri
Hesap.rar
Edit içindeki formülü hesaplama
(182.61 KiB) 176 kere indirildi
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Edit içinde matematik işlemi

Mesaj gönderen csunguray »

olcaydagli yazdı:Her hangi bir veritabanına bağlantınız var ise Query nesnesi ile "SELECT 2*(234-(23*2))+23+(12/4)*(50-12)+23 AS SONUC" ile sonucu alabilirsiniz. Ben genelde bu tarz formullerde TADOQuery bileşeni ile SQL Serverda sonuca gidebiliyorum.
Böyle bir şey benim daha önce aklıma hiç gelmemişti. Çok iyi fikir. Teşekkür ederim.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Cevapla