Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Text als Code??

  Alt 7. Apr 2006, 08:48
Und wenn Du keine Lust hast auf bestehendes zurück zu greifen, vielleicht hilft folgender Ansatz.

Das Verfahren nennt sich UPN (Umgekehrte-Polnische-Notation) woher auch immer der Name kommt...

Das ganze funktioniert über eine art Stack (Funktionsprinzip der Programmiersprache Forth).

Aus 3+4*5 wird dann erstmal 3 4 +
Als nächstest wir *5 in den Stack gepushed...

Und es entsteht - weil (Punkt vor Strichrechnung gilt)

3 4 + 5 *

Wenn Du das in (In diesem Fall von hinten nach vorne) auswertest....

case Get_Operator of

_Mul : begin
Get_Zahl(A);
Get_Zahl(B);
Push(A*B); // wieder auf den Stack... 3 20 +
end;

usw.. Somit erhälst Du problemlos eine Routine, die Deine Formel auseinander nehmen kann...

Frank

Hoff es hilft Dir weiter...
  Mit Zitat antworten Zitat