Zitat von
Macci:
@alzaimar:
Joa genau so isses. Ich hoffe du kannst mir verzeihen, dass ich diesen Code nur schnell schnell hingerotzt hab und an das Freigeben des Speichers zunächst gar nicht dachte. War halt schon spät.
Ich verzeihe Dir, ausnahmsweise
.
Ansonsten ist das schon völlig korrekt, das mit der Idee der TExpression-Klasse. Aber hat der praesident das wirklich schon gelernt? Vielleicht reichen es ja, die Zahlen auf dem Stack zu packen. Klar ist das nicht
OOP, aber für den Anfang schon ganz brauchbar.
Dann kann man ein kleines Programm schreiben, das den Stack in einer TListbox darstellt. Darunter ein Eingabefeld und ein Knopf, die Eigenschaft 'Default' ist True, damit der Knopf auf ENTER reagiert. Das ist sozusagen das Eingabefeld des UPN-Taschenrechners. Du tippst etwas ein und drückst ENTER.
Wenn der String in eine Zahl umgewandelt werden kann, dann kommt er auf den Stack.
Handelt es sich um einen Operator ('+', '-', '*', '/') dann werden die obersten beiden Zahlen vom Stack geholt und eben gerechnet. Das Ergebnis kommt wieder auf den Stack.
Das müsste doch hinzubekommen sein, oder?