Nicht euer ernst oder? Wenn schon, dann gleich richtig. Also als Parser implentiert, wie etwa hier: http://delphi.zsg-rottenburg.de/parser.html

Vor allem das erste Beispiel könnte dir einfach aufschluss geben wie sowas gehen sollte.

Code:
function anfang(s:string;c:char):string;
begin
  anfang:=copy(s,1,pos(c,s)-1);
end;

function copyab(const s:string; const i:integer):string;
  begin result:=copy(s,i,length(s)-i+1) end;

function ende(s:string; c:char):string;
begin
  ende:=copyab(s,pos(c,s)+1)
end;

function TermToReal(s:string):real;
begin
  if pos('+',s)>0  then
    result:=TermToReal(anfang(s,'+'))+TermToReal(ende(s,'+')) 
  else if pos('*',s))>0 then
    result:=TermToReal(anfang(s,'*'))*TermToReal(ende(s,'*'))
  else
    result:=StrToFloat(s);
end;
Solte klar und gut verständlich sein.