AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Leeres editfeld überspringen /ignorieren
Thema durchsuchen
Ansicht
Themen-Optionen

Leeres editfeld überspringen /ignorieren

Ein Thema von Dayripper · begonnen am 14. Sep 2005 · letzter Beitrag vom 14. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Dayripper

Registriert seit: 14. Sep 2005
3 Beiträge
 
#1

Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:15
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
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#2

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:17
ü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
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#3

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:20
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
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#4

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:24
@PierreB :

klammern nicht vergessen
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#5

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:25
Zitat von n0b0dy:
@PierreB :

klammern nicht vergessen
Übersehen. Thx für den Hinweis
  Mit Zitat antworten Zitat
Dayripper

Registriert seit: 14. Sep 2005
3 Beiträge
 
#6

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:35
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;
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#7

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:43
mich würden mal die variablen deklariationen interessieren...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:54
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 ?
Vielleicht ist auch Delphi-Referenz durchsuchenStringToFloatDef etwas für dich.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Dayripper

Registriert seit: 14. Sep 2005
3 Beiträge
 
#9

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 18:54
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.
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#10

Re: Leeres editfeld überspringen /ignorieren

  Alt 14. Sep 2005, 19:07
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:45 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