![]() |
Fehler bei Dateneingabe
Hallo. Ich habe ein folgendes Problem. Schreibe gerade ein Programm. Der Queltext für den Button sieht so aus:
Delphi-Quellcode:
Wenn ich jetzt das Programm starte funktioniert es eigentlich. Aber es sind kleine Fehler. Wenn ich keine Daten in den Edit-Feldern habe und dann den Button anklicke kommt immer eine Fehlermeldung. Ebenfalls muss ich die Zahlen duch Komma schreiben. Also z.B. 1,2 bei 1.2 kommt ebenfalls eine Fehlermeldung. Was kann ich da jetzt machen?
procedure TForm1.Button1Click(Sender: TObject);
var aktpreis, ver100ben, jahrkm, ausgabevbj, ausgabebkj : real; begin aktpreis := StrToFloat(Edit6.Text); ver100ben := StrToFloat(Edit3.Text); jahrkm := StrToFloat(Edit4.Text); ausgabevbj := VerbrauchBenzinJahr(ver100ben, jahrkm); ausgabebkj := BenzinkostenJahr(aktpreis, ausgabevbj); Panel1.Caption := FloatToStr(ausgabevbj); Panel4.Caption := FloatToStr(ausgabebkj); end; |
AW: Fehler bei Dateneingabe
Schließe Delphi-Code bitte künfig in Delphi-Tags ein. Und Du könntest Dir
![]() ![]() |
AW: Fehler bei Dateneingabe
Try... wurde ja schon genannt.
Und in Deutschland werden Dezimalbrüche nuneinmal mit , geschrieben. Wenn Du hierfür den Punkt nutzen willst, dann solltest du Deinem Rechner klarmachen, das er in den USA steht. Dann ist aber auch das Datumsformat ein anderes. Du könntest aber auch gleich das Format der Eingabe überprüfen und das richtige Format an Dein Programm weiter reichen. Gruß K-H |
AW: Fehler bei Dateneingabe
Beide genannten Funktionen sind überladen, so dass man auch das Format übergeben kann.
|
AW: Fehler bei Dateneingabe
Hallo. Ok ich habe es jetzt so gemacht:
Code:
Es kommt aber die folgende Fehlermeldung:
var aktpreis, ver100ben, jahrkm, ausgabevbj, ausgabebkj : real;
begin aktpreis := tryStrToFloat(Edit6.Text); There is no overloaded version of 'TryStrToFloat' that can be called with these arguments. Muss ich TryStrToFloat irgendwo definieren? Sorry aber programmieren ist nicht meine Stärke. Ich mache es nur für die Schule. |
AW: Fehler bei Dateneingabe
Dann schau dir mal an, wie die Funktion deklariert ist
![]() |
AW: Fehler bei Dateneingabe
Und gib bitte deinen Komponenten aussagekräftige Namen. Mit Edit1-6 wirst du in 1-2 Wochen nichts mehr anfangen können oder du schaust jedes mal nach, wie das Feld heißt.
Bernhard |
AW: Fehler bei Dateneingabe
Sprich ich muss diese SysUtils in den Queltext implemetieren?
|
AW: Fehler bei Dateneingabe
Nein, nur Einbinden und dann miut den richtigen Parametern und Rückgabewert aufrufen.
|
AW: Fehler bei Dateneingabe
Ok. Habe es so gelöst
Code:
Funktioniert auf jeden Fall.
procedure TForm1.Button1Click(Sender: TObject);
var aktpreis, ver100ben, jahrkm, ausgabevbj, ausgabebkj : double; begin if TryStrToFloat(Edit6.Text,aktpreis) then begin //ShowMessage('Ungültige Eingabe'); aktpreis := StrToFloat(Edit6.Text); end else begin ShowMessage('HAHA'); end; //aktpreis := StrToFloat(Edit6.Text); ver100ben := StrToFloat(Edit3.Text); jahrkm := StrToFloat(Edit4.Text); ausgabevbj := VerbrauchBenzinJahr(ver100ben, jahrkm); ausgabebkj := BenzinkostenJahr(aktpreis, ausgabevbj); Panel1.Caption := FloatToStr(ausgabevbj); Panel4.Caption := FloatToStr(ausgabebkj); end; 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 . ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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