Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wieso klappt dieser Code nicht? (https://www.delphipraxis.net/80676-wieso-klappt-dieser-code-nicht.html)

smart 13. Nov 2006 16:28


Wieso klappt dieser Code nicht?
 
Hallo Alle!

Wieso klappt dieser Code nicht?

Delphi-Quellcode:

Var
PreisA, PreisB, PreisC: Variant
Begin
PreisA := '1,29';
PreisB := '2,33';
PreisC := '3,95';
Edit1.Text := PreisA + PreisB + PreisC;
…….
Es sollte alles zusammengerechnet werden. Klappt aber nicht. Was mache ich da Falsch?

Gruß
Heike

Prototypjack 13. Nov 2006 16:31

Re: Wieso klappt dieser Code nicht?
 
Moin!
Ich habe gerade nicht sehr viel Zeit aber kann es möglicherweise an dem Komma liegen?
Versuche es mal mit Punkten.

Gruß,
Max

TurboMartin 13. Nov 2006 16:32

Re: Wieso klappt dieser Code nicht?
 
Zitat:

Zitat von smart
Delphi-Quellcode:

Var
PreisA, PreisB, PreisC: Single;
Begin
PreisA := '1.29';
PreisB := '2.33';
PreisC := '3.95';
Edit1.Text := FloatToStr(PreisA + PreisB + PreisC);
…….

Sollte klappen. :zwinker:
Welche Fehler gabs denn?
Im Englischen/PC ist , = .. :mrgreen:

Kedariodakon 13. Nov 2006 16:40

Re: Wieso klappt dieser Code nicht?
 
Versuchs mal so:
Delphi-Quellcode:
//  ...
Var PreisA, PreisB, PreisC: Variant
Begin
  PreisA := 1.29;
  PreisB := 2.33;
  PreisC := 3.95;
  Edit1.Text := PreisA + PreisB + PreisC;
  //  ...
End;
Deine Version wird wohl nicht klappen, da er deine Zahlen ja expleziet als String in den Variant swpeichert, somit wird es dann nichts mit dem addieren... (denk ich, ohne es versucht zu haben)

Bye Christian

smart 13. Nov 2006 16:45

Re: Wieso klappt dieser Code nicht?
 
Zitat:

Zitat von Kedariodakon
Versuchs mal so:
Delphi-Quellcode:
//  ...
Var PreisA, PreisB, PreisC: Variant
Begin
  PreisA := 1.29;
  PreisB := 2.33;
  PreisC := 3.95;
  Edit1.Text := PreisA + PreisB + PreisC;
  //  ...
End;
Deine Version wird wohl nicht klappen, da er deine Zahlen ja expleziet als String in den Variant swpeichert, somit wird es dann nichts mit dem addieren... (denk ich, ohne es versucht zu haben)

Bye Christian

Da bekomme ich eine "Ungültige Variant-Typenumwandlung"

Gruß
Heike

Prototypjack 13. Nov 2006 16:49

Re: Wieso klappt dieser Code nicht?
 
Delphi-Quellcode:
var
  PreisA, PreisB, PreisC: Variant;
begin
  PreisA := 1.29;
  PreisB := 2.33;
  PreisC := 3.95;
  Edit1.text := FloatToStr(PreisA + PreisB + PreisC);
Gruß,
Max

Christian Seehase 13. Nov 2006 16:51

Re: Wieso klappt dieser Code nicht?
 
Moin Heike,

Zitat:

Zitat von smart
Da bekomme ich eine "Ungültige Variant-Typenumwandlung"

ich nicht, und ich habe es auch mit D7 getestet ;-)

TurboMartin 13. Nov 2006 16:52

Re: Wieso klappt dieser Code nicht?
 
Ooh, sehe grad, dass bei meinem Code die ' bei den Zahlen wegmüssen.

Prototypjack 13. Nov 2006 16:55

Re: Wieso klappt dieser Code nicht?
 
Selbst wenn die direkte Zuweisung nicht funktioniert, mit FloatToStr klappt es zu 100%.

Gruß,
Max

Kedariodakon 13. Nov 2006 17:08

Re: Wieso klappt dieser Code nicht?
 
Zitat:

Zitat von Christian Seehase
Moin Heike,

Zitat:

Zitat von smart
Da bekomme ich eine "Ungültige Variant-Typenumwandlung"

ich nicht, und ich habe es auch mit D7 getestet ;-)

Gerade nochmal versucht und es geht, wie ichs mir dachte :roll:

Zur not so:
Delphi-Quellcode:
//...
procedure TForm1.Button1Click(Sender: TObject);
Var PreisA, PreisB, PreisC: Variant;
begin
  PreisA := 1.29;
  PreisB := 2.33;
  PreisC := 3.95;
  Edit1.Text := VarToStr( PreisA + PreisB + PreisC );
end;
//...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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-2025 by Thomas Breitkreuz