Die gleiche Frage kam gerade erst:
www.delphi-forum.de/viewtopic.php?t=107246
Es gibt im Grunde zwei Ansätze, die auf die gleiche Vorgehensweise hinauslaufen. Und zwar gehst du zeichenweise durch und schaust was du vor dir hast. Wenn du eine Zahl hast, bist du im Modus Zahl, wenn es ein Plus Operator ist, im Modus Plus Operator, ... Wenn sich der Modus ändert, musst du entsprechend rechnen.
Das kannst du entweder im Nachhinein machen oder direkt bei der Eingabe.
Das Prinzip nennt sich endlicher Automat und ist für einen Taschenrechner im Grunde die einzig sinnvolle Variante.