Hallo,
>> '33+4': a[1] := 33; s[1] := +; a[2] := 4;
i s[1]='+' then
begin
ergebnis:= IntToStr(a[1]) + IntToStr(a[2]);
end;
Unter Delphi kannsz du sowas nicht einfach "selber rechnen".
Das musst du tippern.
Das Problem ist aber, dass z.B.
33+4*5 nicht in der Reihenfolge deines "Parsens" berechnet werden darf(Punkt vor Strich).
Ein Parser zerlegt diesen Strin etwa
PLUS(33, MUL(4,5))
und berechnet von Innen nach Aussen.
Intern ist es ein Baum, der hier bei MUL anfängt als Knoten.
Wenn du das nicht verstehst, les einen der Artikel,
wenn du den nicht verstehst, nen anderen
(naja, tschulligung)
Ist halt nicht so einfach.
Heiko