AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler: Exception der Klasse EConvertError
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: Exception der Klasse EConvertError

Offene Frage von "BlackdragoN"
Ein Thema von BlackdragoN · begonnen am 19. Sep 2003 · letzter Beitrag vom 19. Sep 2003
Antwort Antwort
BlackdragoN

Registriert seit: 19. Sep 2003
4 Beiträge
 
#1

Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 22:04
Hallo!

Ich bin noch recht neu hier und auch in Delphi und habe schon die ersten Probs, wo ich keine Ahnung hab wo das her kommt.

Wenn ich in ein paar Editfelder Werte eingebe, im Programm selbst was rechnen lasse und das Ergebnis dann in einem anderen Editfeld wieder ausgeben lassen will, kommt diese Fehlermeldung:

Zitat:
Im Projekt ***.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''' ist kein gültiger Gleitkommawert'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen.
Wisst ihr da weiter?
Thx schonmal...

Gruß BlackdragoN
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 22:12
Du versuchst einen leeren String (wahrscheinlich mit StrtoFloat) in einen Gleitkommawert umzuwandeln, was natürlich schiefläuft.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
BlackdragoN

Registriert seit: 19. Sep 2003
4 Beiträge
 
#3

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 22:22
Hmm... aber verstehe nicht, warum der String leer sein soll?
Ich lasse halt was ausrechnen, was dann über strtofloat in einem Editfeld ausgegeben wird. Bei strtoint kommt auch n Fehler, nur halt keiner mit Gleitkommawert.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 22:29
Zeig mal deinen Code. Wahrscheinlich ist das Eingabefeld zu dem Zeitpunkt, als die Funktion aufgerufen wird, leer.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
BlackdragoN

Registriert seit: 19. Sep 2003
4 Beiträge
 
#5

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 22:54
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,d:integer;
e:real;
begin
a:=100;
b:=50;
edit1.text:=inttostr(c);
edit2.Text:=inttostr(d);
e:=(a*c)+(b*d);
e:=strtofloat(edit3.text);

end;

end.
In der Grundstruktur ist das der selbe code wie im eigentlichen Prog, blos halt mit weniger Editfeldern und Variablen. Kommt aber der selbe Fehler bei raus.

[edit=Admin]Delphi-Tags eingefügt. Mfg, Daniel[/edit]
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 23:10
Ähm, was hast du überhaupt vor? Ich schreib dir mal, was bei deinem Code passiert.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  a,b,c,d:integer;
  f:real;
begin
  a:=100; //a wird der Wert 100 zugewiesen
  b:=50; //b wird der Wert 50 zugewiesen
  edit1.text:=inttostr(c); //c wird in einen String umgewandelt als Text eines Edits gesetzt (obwohl undefiniert)
  edit2.Text:=inttostr(d); //d wird in einen String umgewandelt als Text eines Edits gesetzt (obwohl undefiniert)
  //was ist e?
  e:=(a*c)+(b*d); //c und d sind undefiniert, wahrscheinlich 0. Also e=0
  e:=strtofloat(edit3.text); //der Text des Edits wird in einen Float umgewandelt und e zugewiesen
end;
Für mich sieht das aus, als hättest du Schwierigkeiten mit dem Zuweisungsoperator.
Das, was rechts von ihm steht, wird der linken Seite zugewiesen, nicht umgekehrt!
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 23:11
Hi!

Ein Tipp vorneweg:
Wenn du deinen Code mit [.delphi][/.delphi] (ohne die Punkte) umschließt, wird er richtig formatiert!

Zu deinem Problem:

Wo werden denn c und d zugewiesen, die sind ja noch uninitalisiert!
Und was macht die Funktion eigentlich?

Du weißt edit1 den wert von c zu (was auch immer der ist)
Du weißt edit2 den wert von d zu (was auch immer der ist)

dann wird e etwas zugewiesen (c+d sind immer noch undefiniert )

Und dann weißt du e erneut etwas zu (diesmal den wert aus edit3)

Also brauchst du doch die Berechnung von e vorher nicht, oder versteh ich das falsch?
Der eigentliche Fehler liegt wohl daran, dass in edit3.text zu der Zeit des Ausführens der Funktion keine Kommazahl drin ist!

ciao fkerber

[Edit]Da war ich wohl zu langsam [/Edit]
Frederic Kerber
  Mit Zitat antworten Zitat
BlackdragoN

Registriert seit: 19. Sep 2003
4 Beiträge
 
#8

Re: Fehler: Exception der Klasse EConvertError

  Alt 19. Sep 2003, 23:20
sorry... e = f .. hab mich nur vorhin beim editieren verschrieben oO
habs mal dementsprechend im code geändert, wie es eigentlich sein sollte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz