====== Lazarus: Calculer l'expression contenu dans un string ====== unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, fpexprpars; type { TForm1 } TForm1 = class(TForm) Button1: TButton; EdExp: TEdit; EdRes: TEdit; procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); var vExpParser: TFPExpressionParser; vExpResult: TFPExpressionResult; vResult: double; begin vExpParser := TFPExpressionParser.Create(nil); try vExpParser.Builtins := [bcMath]; vExpParser.Expression := EdExp.Text; // On charge le parser avec le contenu du TEdit EdExp vExpResult := vExpParser.Evaluate; vResult := ArgToFloat(vExpResult); EdRes.Text := FloatToStr(vResult); // On affiche le résultat dans le TEdit EdRes finally vExpParser.Free; end; end; end.