Thema: Delphi Taschenrechner Ausgabe

Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#22

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:16
Ich habe den Eindruck, dass die eigentliche BerechneTerm-Funktion vom Grundsatz her korrekt ist (vor allem im Hinblick auf den rekursiven Aufruf und die Übernahme der Zwischenergebnisse). Aber das fehlt immer noch:
Zitat von Satty67:
Außerhalb steht (im ButtonClick von "=" möglicherweise)
LabelAnzeige.Caption := FloatToStr(BerechneTerm(LabelAnzeige.Caption));
Der Kommentar in spResultClick ist als gültiger Befehl auszuweisen.

Was läuft denn konkret falsch, wenn du diese Zeile aktivierst?
Aber die Copy-Funktion ist falsch. Du musst zum Index die gewünschte Anzahl von Zeichen hinzufügen. Beim zweiten Teil nimmst du immer die Gesamtlänge.

Übrigens solltest du Pos nicht wiederholt aufrufen, sondern mit einer Variablen position einmal benutzen:
Delphi-Quellcode:
position := Pos(Op,Formular);
if (position > 1) then ...
Jürgen

/Edit
Mist, so einfach ist es auch nicht. Wenn der Parameter "Count" zu groß ist, wird der Rest-String einfach bis zum Ende genommen. Aber in diesem Bereich würde ich nach dem Fehler suchen. Hast du es schon einmal mit dem Debugger oder auf Papier probiert?
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.