Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Nur Integer Werte im Edit Fenster zulassen (https://www.delphipraxis.net/75518-nur-integer-werte-im-edit-fenster-zulassen.html)

Cyberbob 20. Aug 2006 21:31

Re: Nur Integer Werte im Edit Fenster zulassen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn du bei deiner Edit-Feld im Objektinspektor oben auf Erreignisse und dann unten auf OnKeyPress Klickst, dort dann:

if not (Key in [#8{bs}, #46{entf}, #48..#57{0-9}]) then
Key := #0;

eingibts, sollte das funktionieren

3_of_8 20. Aug 2006 21:57

Re: Nur Integer Werte im Edit Fenster zulassen
 
Integer ist signed, man darf also, falls man wirklich Integerwerte zulassen will, das - und evtl auch das + nicht vergessen. Aber auch nur an der geeigneten Position.

Matze 20. Aug 2006 22:13

Re: Nur Integer Werte im Edit Fenster zulassen
 
Zitat:

Zitat von 3_of_8
Aber auch nur an der geeigneten Position.

Huch stimmt, das überprüft mein Code nicht.

Meflin 21. Aug 2006 00:13

Re: Nur Integer Werte im Edit Fenster zulassen
 
Alternativ könnte man auch noch ein Spin-Edit (Palette Beispiele) nehmen. Dann hat man selbst überhauptkeine Arbeit mehr und die meisten DAUs erkennen auch dass man da ne Zahl eintippen soll :roll:


Muetze1 21. Aug 2006 08:11

Re: Nur Integer Werte im Edit Fenster zulassen
 
Hinweis zu den ganzen OnKeyPress-Methoden: Diese sind keine Lösung, da man bei Ihnen immernoch mit STRG-V Code einfügen kann in das Edit, welches auch andere Zeichen als die erlaubten beinhaltet. Das setzem vom ES_NUMBER Style als alternative hat das gleiche Manko.

Brainshock 21. Aug 2006 10:05

Re: Nur Integer Werte im Edit Fenster zulassen
 
Hi,

vielleicht hilft dir das weiter:

#160:Numeric editbox

Hawkeye219 21. Aug 2006 10:35

Re: Nur Integer Werte im Edit Fenster zulassen
 
Hallo Brainshock,

wie Muetze1 schon richtig bemerkte, ist auch bei dieser Lösung das Einfügen unzulässiger Zeichen über die Zwischenablage möglich. Zudem verhindert sie zuverlässig das Einfügen eines Vorzeichens über die Tastatur.

Gruß Hawkeye

benisenis 21. Aug 2006 10:57

Re: Nur Integer Werte im Edit Fenster zulassen
 
OK, Danke für die vielen Antworten!
Ich habs jetzt so gemacht, wie Matze & Erazer mir gesagt haben! Ich glaub nicht, dass jemand versuchen wird in das Edit einzufügen, also ist es nicht so wicht ig :)

Gruß

Benisenis

Matze 21. Aug 2006 11:22

Re: Nur Integer Werte im Edit Fenster zulassen
 
Hi,

dann würde ich aber nicht direkt StrToInt auf das Edit anwenden, sondern sicherheitshalber überprüfen, ob es sich auch wirklich um einen Integer-Wert handelt. Möglichkeiten wären u.a. Delphi-Referenz durchsuchenVal(), Delphi-Referenz durchsuchentry - except oder Delphi-Referenz durchsuchenTryStrToInt.

Cöster 21. Aug 2006 17:25

Re: Nur Integer Werte im Edit Fenster zulassen
 
Ich würd's so machen:

Delphi-Quellcode:
var EdText: String;

procedure TForm1.Edit1Change(Sender: TObject);
var temp: integer;
begin
  Try
    temp := StrToInt(Edit1.Text);
    EdText := Edit1.Text;
  Except
    Edit1.Text := EdText;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.
Seite 3 von 5     123 45      

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