Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] Delphi Formül Hesaplamaları Hk.
#11
Ben hala sizin neden sorun yaşadığınız takıldım. Çünkü verdiğiniz formülle herhangi bir sorun yaşamadım.
Cevapla
#12
(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ı.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#13
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.  Idea

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;



m1gzsio2id9lvklnt1rh.gif
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#14
(16-06-2020, Saat: 11:43)mrmarman Adlı Kullanıcıdan Alıntı: 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.  Idea

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;



m1gzsio2id9lvklnt1rh.gif

Elinize sağlık hocam.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 154 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  yapay zeka delphi kl007 9 627 26-02-2026, Saat: 09:12
Son Yorum: mrmarman
  Win 11 ve Delphi 7 Minimize sorunu. enigma 7 499 11-02-2026, Saat: 10:27
Son Yorum: RAD Coder
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 325 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  Delphi SLL kullanım sorunu Bay_Y 12 1.317 22-12-2025, Saat: 18:11
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi