![]() |
|
[ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: [ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. (/showthread.php?tid=4957) Sayfalar:
1
2
|
[ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. - engerex - 14-06-2020 Ben hala sizin neden sorun yaşadığınız takıldım. Çünkü verdiğiniz formülle herhangi bir sorun yaşamadım. Cvp: [ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. - shooterman - 14-06-2020 (14-06-2020, Saat: 09:29)engerex Adlı Kullanıcıdan Alıntı: Ben hala sizin neden sorun yaşadığınız takıldım. Çünkü verdiğiniz formülle herhangi bir sorun yaşamadım.formulu excelden alıp aynı şekilde uyguladığımda aldığım sonuç ile, önce parantez içi işlemleri yaparak sonra diğer işlemleri yaptığım durumdaki formulde aldığım sonuç farklıydı. [ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. - mrmarman - 16-06-2020 Merhaba. - Konu çözülmüş olarak kodlu ve hortlatmak istemem ama yeni öğrendiğim çok şık bir özellik varmış. - Bu özelliği de bir fonksiyon olarak düzenleyip bu başlık altından paylaşayım istedim. Tam da bu konu ile ilgili alakalı olduğundan ayrılmasını istemedim. - Özellikle UNIT isimlerini başa yazıyorum ki, projenizin içerisinde kullanırken nerede hangi unite hangi fonksiyon / proc için ihtiyacınız olduğu bilinsin... Bu kısımlarını sadeleştirebileceğinizi hatırlatayım. uses System.Bindings.EvalProtocol , System.Bindings.EvalSys , System.Bindings.Evaluator; function Calculate( aSource: String ): String; var aScope : System.Bindings.EvalProtocol.IScope; aCompBind : System.Bindings.EvalProtocol.ICompiledBinding; begin aScope := System.Bindings.EvalSys.BasicOperators; aCompBind := System.Bindings.Evaluator.Compile( aSource, aScope ); Result := aCompBind.Evaluate( aScope, nil, nil ).GetValue.ToString; end; Kullanımı : procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := '10*(-1+7*3/2)+1'; Edit2.Text := Calculate( Edit1.Text ); end; ![]() Cvp: [ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk. - shooterman - 16-06-2020 (16-06-2020, Saat: 11:43)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba. Elinize sağlık hocam. |