Thema: Delphi Mit Strings rechnen

Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Mit Strings rechnen

  Alt 9. Mär 2007, 16:24
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
Heiko
  Mit Zitat antworten Zitat