Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Leeres editfeld überspringen /ignorieren (https://www.delphipraxis.net/53352-leeres-editfeld-ueberspringen-ignorieren.html)

Dayripper 14. Sep 2005 18:15


Leeres editfeld überspringen /ignorieren
 
Hi,

ich hab in meinem Programm mehrere editfelder wo werte eingetragen werden, es kann aber durchaus mal vorkommen, dass in ein oder mehrere editfelder nichts eingetragen wird. dann kommt allerdings wenn ich auf den berechnen button klicke eine fehlermeldung:

Im Project Project1.exe ist ein Exception der EConvertError aufgetreten. Meldung: " ist kein gültiger Gleitkommawert." Prozeß wurde angehalten.

wie also kann ich des editfeld sozusagen überspringen wenn kein wert eingetragen ist?

mfg

wenn möglich mit code beispiel :duck:

n0b0dy 14. Sep 2005 18:17

Re: Leeres editfeld überspringen /ignorieren
 
überprüfe doch vorher, ob was drin steht.... oder? :?

Delphi-Quellcode:
  if Edit.Text <> '' then
    //steht was drinne
gefällt mir immer wieder besser ;):

Delphi-Quellcode:
  if not (Edit.Text = '') then
    //steht was drinne
MfG

PierreB 14. Sep 2005 18:20

Re: Leeres editfeld überspringen /ignorieren
 
Zitat:

ich hab in meinem Programm mehrere editfelder wo werte eingetragen werden, es kann aber durchaus mal vorkommen, dass in ein oder mehrere editfelder nichts eingetragen wird. dann kommt allerdings wenn ich auf den berechnen button klicke eine fehlermeldung:
Naja, scheinbar wird wenn du auf den Berechnen-Button klickst eine Funktion ausgerufen, welche dann mit dem Wert der in dem Edit steht arbeiten will. Wenn kein Wert da => Fehler.

Also enter den Code so in etwa ab (jetzt in der BerechnenButtonKlick):
Delphi-Quellcode:
if not (edit1.text = '') then
//Befehle

n0b0dy 14. Sep 2005 18:24

Re: Leeres editfeld überspringen /ignorieren
 
@PierreB :

klammern nicht vergessen ;)

PierreB 14. Sep 2005 18:25

Re: Leeres editfeld überspringen /ignorieren
 
Zitat:

Zitat von n0b0dy
@PierreB :

klammern nicht vergessen ;)

:shock: Übersehen. Thx für den Hinweis ;)

Dayripper 14. Sep 2005 18:35

Re: Leeres editfeld überspringen /ignorieren
 
erstmal danke für die antworten, klappt aber leider noch net so ganz wie ich mir des vorstelle. manchmal klappts aber manchmal komischerweise net, delphi zeigt dann unten an, dass die variablen einszeit, zweizeit und dreizeit nicht intialisiert wurden. die fehlermeldung die dann kommt is auch anders, Meldung:" ungültige Gleitkommaoperation".

geb den code des berechnen buttons mal hier rein( ist aufs wesentliche gekürzt):
Delphi-Quellcode:
begin

if not (ed1stop.Text = '') then
einszeit:= strtofloat (ed1stop.text);
if not (ed2stop.Text = '') then
zweizeit:= strtofloat (ed2stop.text);
if not (ed3stop.Text = '') then
dreizeit:= strtofloat (ed3stop.text);

rundenzahl:= strtoint (edrundenanzahl.text);



einsendzeit:= einszeit * rundenzahl + 10 ;
zweiendzeit:= zweizeit * rundenzahl + 18 ;
dreiendzeit:= dreizeit * rundenzahl + 25 ;

edend1.text:= floattostr (einsendzeit);
edend2.text:= floattostr (zweiendzeit);
edend3.text:= floattostr (dreiendzeit);


if (einsendzeit - zweiendzeit)<0 then if (einsendzeit - dreiendzeit) <0 then
 label8.caption:= ' 1-Stop-Strategie ist am Schnellsten ';

if (zweiendzeit - einsendzeit) <0 then if (zweiendzeit - dreiendzeit) <0 then
 label8.caption:= ' 2-Stop-Strategie ist am Schnellsten ';

if (dreiendzeit - einsendzeit) <0 then if (dreiendzeit - zweiendzeit) <0 then
 label8.caption:= ' 3-Stop-Strategie ist am Schnellsten ' ;

end;

n0b0dy 14. Sep 2005 18:43

Re: Leeres editfeld überspringen /ignorieren
 
mich würden mal die variablen deklariationen interessieren...;)

Khabarakh 14. Sep 2005 18:54

Re: Leeres editfeld überspringen /ignorieren
 
Fließkommazahlen werden nicht mit einem Startwert initialisiert. Wenn du ihnen also keinen Wert zuweist, kann da alles Mögliche drinstehen, eine "ungültige Gleitkommaopertaion" ist da schon im wahrsten Sinne des Wortes vorprogrammiert. Mit welchen Werten willst du denn rechnen, wenn das Edit-Feld nicht ausgefüllt wurde? NaN :lol: ?
Vielleicht ist auch Delphi-Referenz durchsuchenStringToFloatDef etwas für dich.

Dayripper 14. Sep 2005 18:54

Re: Leeres editfeld überspringen /ignorieren
 
var einszeit, zweizeit, dreizeit, einsendzeit, zweiendzeit, dreiendzeit : real;
var rundenzahl :integer ;

edit: stringtofloatdef gibts bei mir in der delphi hilfe gar net, hab delphi 5
eigentlich will ich dann gar nicht weiterrechnen wenn des feld leer ist, wenn dse net geht mit nem unrealistischem wert wie 999 weiterrechnen.

n0b0dy 14. Sep 2005 19:07

Re: Leeres editfeld überspringen /ignorieren
 
ja da am anfang irgendetwas in den variblen stehen kann, würd ich die halt mal alle nullen, oder wie du das willst auf 999 setzen...

weil so wie jetzt funktioniert das vllt wenn alles ausgefüllt ist. ist jedoch ein feld leer, rechnet der mit IRGENDWAS ..


Gruß
n0b0dy


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
Seite 1 von 2  1 2      

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