AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein beim leeren feld oder wenn der wert zu klein ist
Thema durchsuchen
Ansicht
Themen-Optionen

beim leeren feld oder wenn der wert zu klein ist

Ein Thema von almanciyabanci · begonnen am 26. Mai 2014 · letzter Beitrag vom 26. Mai 2014
Antwort Antwort
almanciyabanci

Registriert seit: 24. Mai 2014
2 Beiträge
 
#1

beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 13:54
Hallo alle zusammen,

ich möchte wen edit1 feld leer ist oder wen der wert (zahl) kleiner als 4 ist soll eine fehlermeldung kommen..

wen edit1 leer ist funktioniert es mit dem code unten

Code:
 
if (Edit1.GetTextLen = 0 )then
     begin
      ShowMessage(' Wert eintragen');
     end
else
jedoch sobald ich der anweisung sagen <= 4 klappt es nicht, ich bekommen bis zu einem wert von 9999 die ShowMessage und erst bei einem wert von 10000 bekomme ich ShowMessage nicht mehr.

Code:

if (Edit1.GetTextLen <= 4 )then
     begin
      ShowMessage(' Wert eintragen oder der wert ist kleiner als 4');
     end
else

Geändert von almanciyabanci (26. Mai 2014 um 13:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:02
GetTextLen liefert Dir die Stringlänge und nicht die Zahlenentsprechung des Strings, den musst Du erst mit StrToInt/TryStrToInt/StrToIntDef umwandeln.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:08
Delphi-Quellcode:
var
  LValue : Integer;
begin
  if Edit1.Text = '
  then
    ShowMessage( 'Wert eintragen' )
  else
    if not TryStrToInt( Edit1.Text, LValue )
    then
      ShowMessage( 'Zahl-Wert eintragen' )
    else
      if LValue < 4
      then
        ShowMessage( 'Wert muss mindestens 4 sein' );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Mai 2014 um 14:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:14
GetTextLen liefert dir nur die Textlänge (9999 = 4 Zeichen lang).

Der Inhalt eines Editfeldes steht in Edit1.Text drin.

Für den Zahlenvergleich musst du den Text in eine Zahl umwandeln. Die Umwandlung kannst du mit StrToInt(Edit1.Text) machen.

IntToStr kann auf einen Umwandlungsfehler laufen, diesen solltest du mit einem try abfangen.

Zusammenfassend käme dann folgendes raus:

Delphi-Quellcode:
try
  if StrToInt(Edit1.Text) <= 4 then
  begin
    ShowMessage('Der Wert ist kleiner als 4');
  end;
except
  ShowMessage('Bitte eine gültige Zahl eintragen');
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:16
Wenn nicht unterschieden werden soll, ob Wert zu klein /kein Wert dann:

Delphi-Quellcode:
if StrToIntDef(Edit1.Text, 0) <= 4 then
begin
    ShowMessage(' Wert eintragen oder der wert ist kleiner als 4');
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:18
@baumina

Solche Beispiele verleiten Anfänger das Exception-Handling gründlich falsch zu verstehen und finden sich leider zu häufig in vielen Beispielen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:25
@baumina

Solche Beispiele verleiten Anfänger das Exception-Handling gründlich falsch zu verstehen und finden sich leider zu häufig in vielen Beispielen.
Oh, vielleicht ist das ja dann auch noch ein Anfängerfehler von mir selber .... kannst du mir das genauer erklären was du damit meinst?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:26
Geb doch zum Test mal "Hallo" in das Editfeld ein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: beim leeren feld oder wenn der wert zu klein ist

  Alt 26. Mai 2014, 14:27
@baumina

Solche Beispiele verleiten Anfänger das Exception-Handling gründlich falsch zu verstehen und finden sich leider zu häufig in vielen Beispielen.
Oh, vielleicht ist das ja dann auch noch ein Anfängerfehler von mir selber .... kannst du mir das genauer erklären was du damit meinst?
In einem anderen Thread (oder PN) gerne (sonst sprengen wir hier den Rahmen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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:18 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