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/)
-   -   Feld auf Eingabe prüfen - ShowMessage geht nicht... (https://www.delphipraxis.net/153468-feld-auf-eingabe-pruefen-showmessage-geht-nicht.html)

MJ2k2 4. Aug 2010 09:47


Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Hallo zusammen...
ich sitze jetz seit einer Stunde an dem Problem und finde keine Lösung. Habe die SuFu auch benutzt aber keine klare Antwort auf mein Problem gefunden.
Hab ganz frisch mit Delphi angefangen, deswegen sorry für diese, ich denke, blöde Frage...

Ich habe nen kleinen Rechner programmiert. Jetzt will ich das der Rechner nach klick auf den Rechnerbutton überprüft ob sich eingaben in dem Feld befinden.

Sprich:
Delphi-Quellcode:
If (Feld1.text='') or (Feld2.text='') then
        ShowMessage=('Geht nicht!');

Else
bla
blabla
end;
aber das funktioniert nicht. SObald ich das Programm starte und in dem einen Feld eine Zahl eingebe und eins leer lasse stürzt das Programm ab mit folgender Meldung:
" '' is not a valid Integer value "

kann mir jemand helfen?
Danke sehr schonmal

mkinzler 4. Aug 2010 09:51

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Trimme die Felder mal

MJ2k2 4. Aug 2010 09:52

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
ähm... Trimmen? Sorry hab grad keine Trimmer zur Hand ^^ :D

mkinzler 4. Aug 2010 09:54

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Delphi-Quellcode:
If (Trim(Feld1.text)='')...

MJ2k2 4. Aug 2010 09:57

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Immernoch ... hier mal die komplette procedure:

Delphi-Quellcode:
procedure TForm1.BtnAddiClick(Sender: TObject);
var
    a, b, c : Integer;
begin
a:=StrtoInt (EdAddi1.Text);
b:=StrToInt (EdAddi2.Text);

if (Trim(EdAddi1.Text)='') or (Trim(EdAddi2.Text)='') then
begin
    ShowMessage('Geht nicht, du Schlauberger...');
end
Else
begin
    c:=a+b;
    SummeAddi.Text:=InttoStr (c);
end;
end;

simmi 4. Aug 2010 10:00

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Hallo,

hast Du möglicherweise die Prüfung der Felder dem Ereignis onchange zugeordnet? Dann kann wird die Prüfung der Edit Felder bereit mit dem Schreiben des 1. Zeichens ausgeführt.

Sofern Du Deinem Quelltext beim onclick Ereignis einer Schaltfläche ausführen lässt, sollte es funktionieren.

Grüße Simmi

mkinzler 4. Aug 2010 10:00

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Der Fehler tritt auch vorher beim StrToInt() auf.
Versuch es besser so:

Delphi-Quellcode:
procedure TForm1.BtnAddiClick(Sender: TObject);
var
    a, b, c : Integer;
begin
a:=StrtoIntDef (EdAddi1.Text, 0);
b:=StrToIntDef (EdAddi2.Text, 0);

if (Trim(EdAddi1.Text)='') or (Trim(EdAddi2.Text)='') then
begin
    ShowMessage('Geht nicht, du Schlauberger...');
end
Else
begin
    c:=a+b;
    SummeAddi.Text:=InttoStr (c);
end;
end;

MJ2k2 4. Aug 2010 10:03

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Zitat:

Zitat von mkinzler (Beitrag 1039456)
Der Fehler tritt auch vorher beim StrToInt() auf.
Versuch es besser so:

Delphi-Quellcode:
procedure TForm1.BtnAddiClick(Sender: TObject);
var
    a, b, c : Integer;
begin
a:=StrtoIntDef (EdAddi1.Text, 0);
b:=StrToIntDef (EdAddi2.Text, 0);

if (Trim(EdAddi1.Text)='') or (Trim(EdAddi2.Text)='') then
begin
    ShowMessage('Geht nicht, du Schlauberger...');
end
Else
begin
    c:=a+b;
    SummeAddi.Text:=InttoStr (c);
end;
end;


Jaa... funktioniert! Endlich!
Was genau hab ich denn da jetzt gemacht mit dem "IntoStrDEF" und (EdAddi1.Text,0);?
Danke sehr schonmal
edit:
Ah ich seh schondann kehrt er zum Default (Integer) zurück!
Cool! Danke dir/euch!!

himitsu 4. Aug 2010 10:06

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
einfach nur mit Delphi-Referenz durchsuchenTryStrToInt oder Delphi-Referenz durchsuchenTryStrToFloat prüfen
- erstmal prüft das ob was drinnen ist
- und dann sogar noch, ob es sich um einen gültigen Wert handelt

mkinzler 4. Aug 2010 10:10

AW: Feld auf Eingabe prüfen - ShowMessage geht nicht...
 
Der 2. Parameter gibt einen Defaultwert vor.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.
Seite 1 von 2  1 2      

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