Problem mit leeren EditFeldern

Varus

Grünschnabel
Hallo,

Ich wollte für mein Delphi Programm eine Kontrolle für leere Felder einbauen. Ich habe dafür folgenen Code geschrieben:

if (seiteb.Text = ' ') then
begin
seiteb.Text := '1';
MessageDlg(seiteb.text, mtError,[mbOK], 0);
end;

wenn ich das Programm jetzt temporär compilier und es teste und das EditFeld "seiteb" frei Lasse kommt ein Exception EConverterError. Was muss ich tuen, damit es funktioniert

Danke schon im voruas!

Varus
 

JoelH

Erfahrenes Mitglied
hmm,

ich würd dies prüfen
Code:
if(trim(seite.text) = '') then ....

In welcher zeile kommt dieser Fehler genau ? Schonmal mit einzelschritten debuged ?
 

Varus

Grünschnabel
Fehler

Der Fehler kommt erst immer nachdem ich auf meinen Button gedrückt hab wo eigentlich auch die Kontrolle auf Leerfelder laufen soll.

Fehlermeldung:
Im Projekt Project1.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: '' ist kein gültiger Gleitkommawert'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen.

Ich weiß net worans leigt, vielleicht muss ich irgendwas noch umwandeln...keine Ahnung...

mit if(trim(seite.text) = '') then ging es auch nicht.
 
Zuletzt bearbeitet:

JoelH

Erfahrenes Mitglied
hmm,

du drückst auf den Button und was genau passiet dann ?

willst du eventuell eine Variable mit dem inhalt belegen oder so ? heisst das Editfeld auch seiteb ? Der versucht einer Floatvariablen einen leeren Wert zu geben, das geht logischerweise nicht !

Wenn du eine Anweissung like =>
Code:
  floatzahl := StrToFloat(seiteb.text);
hast würd ich sowas machen
Code:
  try 
   floatzahl := StrToFloat(seiteb.text);
  except
   floatzahl := 1;
  end;
Das ergibt in der Debugumgebung zwar auch einen Fehler aber wenn du die fertige Exe Startest erscheint kein Fehler !
 

Varus

Grünschnabel
Das Editfenster heisst seiteb wenn ich auf den button drücke und der Inhalt von seiteb leer ist soll ein MessageDlg geöffnet werden, indem steht, dass man das Feld ausfüllen soll.
 

ice_thunder

Grünschnabel
Ich programiere noch nicht lange mit delphi und weis deshalb nicht ob das die optimalste Lösung ist, aber ich mach das immer so:

if length(seitb.text)=0 then
showmessage('Sie müssen einen wert angeben')
else

So wird überprüft ob die länge des wertes aus seiteb gleich null ist, denn dann kann logischerweise nichts drin stehen.
 
Zuletzt bearbeitet: