Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Fehler bei Dateneingabe (https://www.delphipraxis.net/157613-fehler-bei-dateneingabe.html)

mkinzler 18. Jan 2011 20:54

AW: Fehler bei Dateneingabe
 
Zitat:

Delphi-Quellcode:
aktpreis := StrToFloat(Edit6.Text);

ist nicht notwendig, da die TryStrToInt()-Funktion, die Konvertierung ja schon durchführt
Zitat:

Könnt Ihr mir bitte noch erklären wie das gemeint war, dass ich Dezimalzahlen auch mit Punkt schreiben kann. Also das beides funktioniert sowohl , als auch . ?
Z.B. indem man vorher alle Punkte durch Kommas ersetzt

snboy2010 18. Jan 2011 20:56

AW: Fehler bei Dateneingabe
 
und wie?

mkinzler 18. Jan 2011 20:58

AW: Fehler bei Dateneingabe
 
Wie wäre es mit StringReplace()?

snboy2010 18. Jan 2011 21:18

AW: Fehler bei Dateneingabe
 
Geht nicht, da die Variablen vom Datentyp double sind und wenn ich diese in ein String umwandele, funktioniert das ganze Programm nicht mehr.

mkinzler 18. Jan 2011 21:22

AW: Fehler bei Dateneingabe
 
Vor der Wandlung
Delphi-Quellcode:
if TryStrToFloat(StringReplace(Edit6.Text, '.', ',', []),aktpreis) then

snboy2010 18. Jan 2011 21:34

AW: Fehler bei Dateneingabe
 
Das habe ich ja probiert. Funktioniert nicht. Kommt folgende Fehlermeldung: 1.51 Is not a valid floating point value

mkinzler 18. Jan 2011 21:36

AW: Fehler bei Dateneingabe
 
:? Es dürfte ja kein Punkz mehr drin sein, oder gibst du mehrere ein?

snboy2010 18. Jan 2011 21:42

AW: Fehler bei Dateneingabe
 
eingentlich nicht. Mal so eine Idee:
Ich kann ja mit decimalseparator := '.'; den Punkt festlegen kann ich auch schreiben punkt oder komma? also z.b. so: decimalseparator := '.' or ',';

mkinzler 18. Jan 2011 21:44

AW: Fehler bei Dateneingabe
 
Nein. Ein weiteres Problem könnte aber sein, dass auch Tausendertrenner verwendet werden.

snboy2010 18. Jan 2011 21:45

AW: Fehler bei Dateneingabe
 
Hier bis jetzt das gesamte Programm:
Code:
function VerbrauchBenzinJahr(ver100ben, jahrkm : double): double;
begin
    result := ver100ben * jahrkm / 100;
end;

function BenzinkostenJahr(aktpreis, ausgabevbj : double): double;
begin
    result := aktpreis * ausgabevbj;
end;

procedure TForm1.Button1Click(Sender: TObject);
var aktpreis, ver100ben, jahrkm, ausgabevbj, ausgabebkj : double;
begin
  decimalseparator := '.';
  if TryStrToFloat(Edit6.Text,aktpreis) and TryStrToFloat(Edit3.Text,ver100ben)
      and TryStrToFloat(Edit4.Text,jahrkm) then
    begin
      aktpreis := StrToFloat(Edit6.Text);
      ver100ben := StrToFloat(Edit3.Text);
      jahrkm := StrToFloat(Edit4.Text);
    end
  else
   begin
      ShowMessage('Bitte Zahlen zur Eingabe verwenden!');
    end;

    ausgabevbj := VerbrauchBenzinJahr(ver100ben, jahrkm);
    ausgabebkj := BenzinkostenJahr(aktpreis, ausgabevbj);

    Panel1.Caption := FloatToStr(ausgabevbj);
    Panel4.Caption := FloatToStr(ausgabebkj);

end;

end.
Sorry, wenn ich euch nerve. Aber diese Hausaufgabe muss ich morgen abgeben :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.
Seite 2 von 6     12 34     Letzte »    

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