AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

nur zahlen im editfeld als eingabe zulassen?

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 6. Okt 2005 · letzter Beitrag vom 8. Okt 2005
Antwort Antwort
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

nur zahlen im editfeld als eingabe zulassen?

  Alt 6. Okt 2005, 16:38
hallo allerseits,

ich moechte in einem editfeld nur ziffern und den dezimalpunkt als eingabe zulassen. und zwar moechte ich es so haben, das er verbotene zeichen zum
beispiel buchstaben erst gar nicht ins edit reinschreibt und nicht erst am ende beim enterdreucken prueft. welches ereignis kann man da nehmen. ich hab
schon die jedis probiert, aber die floatedits gefallen mir nich.

ich wuerde es gerne als menge erlaubter zeiten deklarieren
z.B.

['0..9','.'] und alle anderen zeichen sollen nicht ins edit geschrieben werden koennen. bräuchte dazu mal n ansatz

Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 6. Okt 2005, 16:42
Die Forensuche und besonders die Suche in der Codelib, sollten da zum Erfolg führen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 6. Okt 2005, 16:45
versuch mal den Maskedit (bei Komponenten unter "Zusätzlich"), da kann man Masken definieren.

ansonsten hat der TEdit ein Ereignis "onChange", das wird immer aufgerufen, wenn sich der Feldinhalt ändert.

oder du suchst bei torry.net eine passende Komponente...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#4

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 7. Okt 2005, 15:19
Zitat von RavenIV:
versuch mal den Maskedit (bei Komponenten unter "Zusätzlich"), da kann man Masken definieren.
Gänzlich ungeeignet.

Das geht einfach mit nem ganz normalen TEdit. Im OnKeyPress prüfst du einfach nur ob die Taste eine von dir gewünschte ist, wenn nicht dann wird sie ignoriert.

Hier hast du mal den Code, nur Zahlen & der "." werden akzeptiert:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in[#08,#46,#48..#57]) then key:=#0;
end;
Noch kurz zur Erklärung: #46 ist der Punkt, #48 bis #57 sind die Ziffern von 0 bis 9.
Die jeweiligen # - Werte kannst du z.B. aus jeder beliebigen ASCII-Code Tabelle ablesen.

//Edit: Noch #08 hinzugefügt, wenn du zum nächsten Feld springen willst, #13 ist die Entertaste.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 7. Okt 2005, 15:21
Ergänzend dazu: vergiss #8 (Backspace) nicht.
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#6

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 7. Okt 2005, 15:23
Zitat von Matze:
Ergänzend dazu: vergiss #8 (Backspace) nicht.
Stimmt, hab ich vergessen.

ich fügs mal in den obigen Code noch ein.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 7. Okt 2005, 19:04
Hai Richard,

warum soll den der Punkt (.) im Editfeld eingegeben werden können? Wenn es für Floats ist solltest Du den Delphi-Referenz durchsuchenDezimalseperator verwenden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: nur zahlen im editfeld als eingabe zulassen?

  Alt 8. Okt 2005, 08:29
Falls du diese Funktion öfters brauchst lohnt sich eine Komponente:

TValidator Edit v.1.01
zu finden auf Torry.net

Das können ganz simpel die Buchstaben/Zahlen angegeben werden, die entweder erwünscht oder nicht erwünscht sind.

Gruß
Pfoto
Jürgen Höfs
  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 15:56 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