Rechnung in Writeln

StarSt0rm

Grünschnabel
Hallo liebe Forenmitglieder,

Ich bekomme immer einen Error in meiner Abfrage.
Würde mich über eure Hilfe sehr freuen!
Code:
IF (Umrechnungswaehrung = 'usd') OR (Umrechnungswaehrung = 'USD') THEN

	Write ( Summe1:1:2, ' Euro entsprechen ' ,Summe2 := Summe1 / 1.47, ' Dollar.')

ELSE Writeln;

Gruß
StarSt0rm
 
Naja, Write ist eine Prozedur, die etwas in eine Textdatei schreibt (unter Delphi), und in den Klammern werden Parameter angegeben. Aber die Parameter sind nicht dazu da, bestimmten Variablen Werte zuzuweisen, wie du es hier mit Summe2 versuchst. Entweder du lässt das mit Summe2 weg und schreibst nur "Summe1 / 1.47" oder du weist den Wert vorher Summe2 zu und schreibst dann nur "Summe2".

Bin aber skeptisch ob es nur daran liegt, die Konstruktion ist mir irgendwie unheimlich, hab write so noch nie benutzt :suspekt:

Liebe Grüße
Hellie
 
probiers mal hiermitn (auf Delphi optimiert) :):):)

Code:
IF (Umrechnungswaehrung = 'usd') OR (Umrechnungswaehrung = 'USD') THEN
	begin
	Summe2:=Summe1/1.47;
	showmessage(Summe1:1:2+'Euro entsprechen *+Summe2:1:2+' Dollar.');
	end;
 
Zuletzt bearbeitet:
Pascal wandelt Zahlen nicht automatisch in Strings um. Ebenso kannst Du auch nicht, wie schon Hellie richtig bemerkt hat, Zuweisungen in einer write - Anweisung durchführen.
Schreibebe einfach:
Code:
 FloatToStrF(Summe1 / 1.47,ffFixed,15,2)
Damit wandelst Du das Ergebnis in einen String um und formatierst gleichzeitig auf 2 Nachkommastellen. Die Zahl 15 gibt hierbei die Genauigkeit an. Für Deine Zwecke kannst Du an dieser Stelle auch 7 nehmen.
Deine Anweisung würde wie folgt aussehen:
Code:
Write ( Summe1:1:2, ' Euro entsprechen ' ,FloatToStrF(Summe1 / 1.47,ffFixed,7,2), ' Dollar.')
 
Zurück