![]() |
Taschenrechner Ausgabe
Hallo erstmal,
ich habe Probleme mit der Ausgabe von dem Taschenrechner. Ich kriege iwi keine Ausgabe. Vllt kann einer helfen
Delphi-Quellcode:
function TFormTR.BerechneTerm(Formular: string): Double;
var Seg1,Seg2 : double; index : integer; Op : string; begin Formular := LabelAnzeige.Caption; for index := 0 to 3 do begin case index of 0: Op := '*'; 1: Op := '/'; 2: Op := '+'; 3: Op := '-'; end; if pos(Op,Formular) > 1 then begin Seg1 := BerechneTerm(copy(Formular,1,pos(Op,Formular) - 1)); Seg2 := BerechneTerm(copy(Formular,pos(Op,Formular) + 1,length(Formular))); case index of 0: Result := Seg1 + Seg2; 1: Result := Seg1 - Seg2; 2: Result := Seg1 * Seg2; 3: Result := Seg1 / Seg2; end; end; end; Result := StrToFloat(FloatToStr(BerechneTerm(LabelAnzeige.Caption))); end; |
Re: Taschenrechner Ausgabe
Vielleicht sollest du einfach deinen eigenen Sourcecode gründlich lesen.
Hast du einen Drucker? Dann bitte drucken und lesen. Hier ein kleiner verkürzter Ausschnitt:
Delphi-Quellcode:
Die markierte Zeile ist ja wohl "Quatsch" - wozu übergibst du der Funktion den Parameter "Formular",
function TFormTR.BerechneTerm(Formular: string): Double;
... begin Formular := LabelAnzeige.Caption; // *** wenn dieser Parameter sogleich in der 1. Zeile überbügelt wird? :wall: |
Re: Taschenrechner Ausgabe
Hai safak67,
schaue Dir auch mal diese Codezeile genau an:
Delphi-Quellcode:
Dir müsste hier sofort etwas auffallen.
Result := StrToFloat(FloatToStr(BerechneTerm(LabelAnzeige.Caption)));
|
Re: Taschenrechner Ausgabe
Mit dem linken Teil ist was nicht i.O
|
Re: Taschenrechner Ausgabe
Zitat:
Anderes Beispiel: Du schläfst, dann stehst du auf, dann schläfst du wieder ein. Was hat sich dadurch geändert? Jürgen PS. Ich wundere mich schon über die Geduld, mit der du über Tage hinweg immer wieder die gleichen Fragen stellst und trotzdem Antworten bekommst. PS2. Du willst das Ergebnis ausgeben. Wo und wie denn bitte? Wenn du das einmal angeben würdest, würdest du vielleicht auf eine der vielen möglichen Lösungen kommen. Bisher schreibst du aber nur, wie gerechnet werden soll. |
Re: Taschenrechner Ausgabe
Zitat:
Hier mal der Ablauf dieser Zeile: 1. Berechne den Term aus LabelAnzeige.Caption 2. Wandele dieses Fliesskommawert in einen String um 3. Wandele diesen String in einen Fliesskommawert um |
Re: Taschenrechner Ausgabe
Zitat:
![]() Zitat:
|
Re: Taschenrechner Ausgabe
Zitat:
Ausgeben willst Du das Ergebnis (wahrscheinlich) als String. Also sollte Result vom Typ String bzw. AnsiString sein.
Delphi-Quellcode:
Dein BerechneTerm liefert ein Double zurück, diesen Floatwert musst Du zu
Result := FloatToStr(BerechneTerm(LabelAnzeige.Caption));
einem String wandeln. Grüße Klaus |
Re: Taschenrechner Ausgabe
Also eines wieder vorweg.. Ich bin auch daran begeistert soviele Fragen zu stellen. Aber ich habe vorher noch nie Delphi gemacht, ich bin auch grad dran die Grundlagen nachzuholen aber es ist nicht meine Schuld das ich von heue auf morgen ein Taschenrechner basteln muss..
Ich bin halt noch ein Noob und ich will das auch lernen aber leider geht das nicht in zwei tagen. Das mit
Delphi-Quellcode:
hatte ich auch am Anfang aber dann kam ne fehlermedlung,
Result := FloatToStr(BerechneTerm(LabelAnzeige.Caption));
[DCC Fehler] Calculator_Main.PAS(79): E2010 Inkompatible Typen: 'Double' und 'string' |
Re: Taschenrechner Ausgabe
Also anscheinend ist der Typ von Result ein Double/Float.
Mit diesem Typ kannst Du aber nichts ausgeben, ohne vorher den Typen konvertiert zu haben. Also zeige mal wie und wo Du das Ergebnis ausgeben willst. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz