![]() |
Edit-Felder nur eingebe von Zahlen möglich
Hallo,
ich würde gerne mal wissen wie ich es einfach machen kann, dass ich in ein Edit-Feld nur Zahlen schreiben darf. Also ich hab das jetzt so mit if gemacht wenn z.b. A im Feld ist, dass eine Meldung kommt und das Feld wieder "leergemacht" wird und das gleiche mit B usw. ist eben seeeehr aufwendig und viel Code :oops: Wie mach ich das mit If not die Zahlt 0 oder 1 oder 2 usw. geht das ? danke im Voraus ! |
Es gibt aber auch tolle Sachen hier im Forum....Wie heißt das doch gleich....ahhh! Suche :wink:
![]() ![]() Man liest sich, Stanlay :wink: |
Servus!
Versuche es einmal mit TMaskEdit! Mache einen DoppelKlick aud EditMask unter den Eigenschaften und schreibe vollgendes hinein: z.B.: für max. dreistellige Nummer 999;1 bzw. vierstellige 9999;1 .... Hoffe ich konnte dir helfen... ...subw00fer |
Hallo,
ok danke ich habe es mit einem normalem Edit hinbekommen die Sache mit den TMaskEdit's gefällt mir allerdings nicht so :oops: |
Hallo,
falls es noch hilft, ich habe das so gelöst. Auch wenns nicht die schönste Version ist, es funktioniert!
Delphi-Quellcode:
Bei mir ist das ein Eingabe Fenster mit einer TEdit wo man angeben kann in welche Zeile man im Text springen kann. Ich check allerdings nur den letzten Eintrag, den ganzen String check ich nicht durch.
procedure TGotoForm.edGotoChange(Sender: TObject);
var s, sOrd : String; begin s := edGoto.Text; If s = '' Then exit; sOrd := Copy(s,Length(s),1); Case Ord(sOrd[1]) of 48..57: Exit; else Delete(s,Length(s),1); If s = '' Then s := '0'; edGoto.Text := s; SendMessage(edGoto.Handle,EM_SETSEL ,length(s),length(s)); end; end; FLOW |
@flow: und was passiert wenn der Inhalt länger als ein Zeichen ist und ich das erste Zeichen änder?!? :roll:
Am einfachsten ist es im OnKeyPress-Ereignis zu testen ob:
Delphi-Quellcode:
ist (#8 ist Backspace) und wenn nicht wird Char auf #0 gesetzt (dann passiert einfach nix).
char in ['0'..'9', #8]
|
Ja stimmt, ist einfacher!
FLOW |
Daher, wie oben auch beschrieben!, mal wieder
Delphi-Quellcode:
If not(key in [#48..#57,#8])
then key := #0; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz