Delphi-PRAXiS

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/)
-   -   tEdit Eingabe beschränkung (https://www.delphipraxis.net/179032-tedit-eingabe-beschraenkung.html)

hewy 10. Feb 2014 16:08

tEdit Eingabe beschränkung
 
Hallo
mein Thema wurde sicher auch schon besprochen, kann aber nichts wirklich passendes finden.
Also: ich arbeite mit Delphi XE5. Und hier meine Frage:
wie beschränke ich am besten die Zeichen welche in ein tEdit eingegeben werden dürfen, und sowohl über Tatstatur Eingabe wie auch mit copy - paste. Z.B. nur a..z und A..Z und 0..9 plus .,;:-_+
Mache ich sowas über keydown geht es nicht für Past aus der Zwischenablage.
Gibt es eine Sinnvolle und effiziente Lösung dafür?
Besten Dank und Gruss
hewy

hathor 10. Feb 2014 16:21

AW: tEdit Eingabe beschränkung
 
Edit1Change

http://www.delphi-treff.de/tipps/kom...aben-zulassen/

hewy 11. Feb 2014 07:19

AW: tEdit Eingabe beschränkung
 
Danke für den Link, so hab ich es bisher gemacht. Funktioniert das auch mit Unicode?

DeddyH 11. Feb 2014 07:30

AW: tEdit Eingabe beschränkung
 
Japp, nur solltest Du dort CharInSet verwenden, also statt
Delphi-Quellcode:
in not (CharVariable in [Menge])
besser
Delphi-Quellcode:
if not CharInSet(CharVariable, [Menge])

hewy 12. Feb 2014 20:01

AW: tEdit Eingabe beschränkung
 
Oh danke alles klar, so funktioniert es.

himitsu 12. Feb 2014 21:39

AW: tEdit Eingabe beschränkung
 
Zitat:

Zitat von hewy (Beitrag 1247372)
Danke für den Link, so hab ich es bisher gemacht. Funktioniert das auch mit Unicode?

Jain, aber wenn du die Compilerwarnungen lesen würdest, dann wirst du da auch auf CharInSet verwiesen. :angle:

Sandi007 12. Feb 2018 17:27

AW: tEdit Eingabe beschränkung
 
Als Bastler würde ich diesen Code hier empfehlen, ohne Anspruch auf Vollständigkeit der Tasten:
Delphi-Quellcode:
procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);
begin // nur Zahleneingaben im TEdit zulassen:
  if CharInSet(Key,['A'..'z','!','"','§','$','%','&','/','(',')','=','?','+','*',
                             '-','#',',','.','_','ß',':',';',' ']) then
    begin
      key:=#0;
    end
end;
Viel Spaß :)

sko1 14. Feb 2018 05:42

AW: tEdit Eingabe beschränkung
 
Es soll aber auch bei Copy/Paste funktionieren, das hast Du wohl überlesen?

Ciao
Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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