AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Eingabe von Buchstaben in Editfelder verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe von Buchstaben in Editfelder verhindern

Ein Thema von delphidummy · begonnen am 7. Okt 2008 · letzter Beitrag vom 8. Okt 2008
Antwort Antwort
delphidummy

Registriert seit: 7. Okt 2008
13 Beiträge
 
#1

Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 19:01
Hi!

Wir brauchen dringend Hilfe und sind 2 absolute Anfängerinnen , wir haben bereits die Eingabe von bestimmten Werten ausgeschlossen, allerdings wissen wir nicht, wie man die Eingabe von Buchstaben in die 3 Editfelder verhindert.
Delphi-Quellcode:
procedure TForm1.ButtonBerechnenClick(Sender: TObject);
var
  a: Integer;
begin
// Ungültige Eingaben werden ausgeschlossen


if (editpalettenlast.text='')or(strtoint(editpalettenlast.text)>1000) then
            begin
              showmessage('Ungültiger Wert für die Palettenlast!');
 end else
 if (editlagerhoehe.text='')or(strtoint(editlagerhoehe.text)>15) or (editlagerhoehe.text='#13') then
        begin
          showmessage('Ungültiger Wert für die Lagerhoehe !');
        end else
if (editregallaenge.text='')or(strtoint(editregallaenge.text)>75)or (editregallaenge.text='#13')
    then
    begin
      showmessage('Ungültiger Wert für die Lagerlänge !');
    end else
            begin
--> dann folgt unsere Rechnung

wir würden den Befehl gerne direkt mit in den bereits vorhandenen Text einbauen.

Kann uns da irgendjemand helfen????


LG

[edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#2

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 19:03
ganz einfach:

Artikel

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
     If not(key in [#48..#57,#8])
   then key := #0;
end;

// #8 ist Backspace
Der Code ist auch viel kürzer und du verhinderst somit von Anfang an, das dort ein Buchstabe eingeben werden kann!
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 19:11
überprüf trotzdem nochma den inhalt, weil man noch per copy&paste buchstaben reinbekommt
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 19:35
@jokerface - ...Oder man weist dem Edit ein leeres Popup-Menü zu =)
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 20:47
Zitat von TonyR:
@jokerface - ...Oder man weist dem Edit ein leeres Popup-Menü zu =)
das wird nicht funktionieren, da man mit strg+v immer noch einfügen kann

aber such doch mal im forum, da hab ich schon eine passende komponente offeriert, die aber noch in ein paar stellen fehlerhaft ist aber dort kannst dir anhaltspunkte einholen!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 22:05
Zitat von s.h.a.r.k:
Zitat von TonyR:
@jokerface - ...Oder man weist dem Edit ein leeres Popup-Menü zu =)
das wird nicht funktionieren, da man mit strg+v immer noch einfügen kann ...
Wozu haben wir mit der Anweisung im Post #2 sämtliche Buchstabeneingaben verbannt???


PS: ... und die taste Strg ja auch.
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  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
 
#7

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 7. Okt 2008, 22:46
Also die Überprüfung würde ich wie folgt schreiben (kürzer und knackiger und fehlertoleranter).

StrToIntDef( Str, Value ) macht eigentlich das gleiche wie StrToInt( Str ), nur dass bei StrToIntDef, wenn in Str keine brauchbare Ziffern stehen (also z.B. Buchstaben), dann wird als Ergebnis Value ausgegeben.

Delphi-Quellcode:
procedure TForm1.ButtonBerechnenClick(Sender: TObject);
var
  a : Integer;
begin
  // Ungültige Eingaben werden ausgeschlossen

  if StrToIntDef( EditPalettenLast.Text, 1001 ) > 1000 ) then
    ShowMessage( 'Ungültiger Wert für die Palettenlast!' )
  else
    if StrToIntDef( EditLagerHoehe.Text, 16 ) > 15 then
      ShowMessage( 'Ungültiger Wert für die Lagerhoehe !' )
    else
      if StrToIntDef( EditRegalLaenge.Text, 76 ) > 75 then
        ShowMessage( 'Ungültiger Wert für die Lagerlänge !' )
      else
      begin

        --> dann folgt unsere Rechnung
cu

Oliver
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
delphidummy

Registriert seit: 7. Okt 2008
13 Beiträge
 
#8

Re: Eingabe von Buchstaben in Editfelder verhindern

  Alt 8. Okt 2008, 21:41
Dankeschön!! Das funktioniert jetzt schonmal
  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 12:32 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