Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OnKeyPress und EIngabe prüfen (https://www.delphipraxis.net/105226-onkeypress-und-eingabe-pruefen.html)

MrDevil 18. Dez 2007 13:18


OnKeyPress und EIngabe prüfen
 
So weit so gut habe folgenden MiniCode zum prüfen der Eingabe

Delphi-Quellcode:
 
const
  ForbinndenChars = ['"', '<', '>', '|', '*', '/', '\', '?'];


if (key in ForbinndenChars) then key := #0;

Funktioniert - ABER wenn ich in das EditFeld die Verbotenenzeichen eingeben per EINFÜGE a la Zwischenablage so frisst das Edit sie - wie kann ich also auch das "Einfügen von Zeichen" prüfen?!

mkinzler 18. Dez 2007 13:21

Re: OnKeyPress und EIngabe prüfen
 
Versuch mal im Change-Event

MrDevil 18. Dez 2007 13:27

Re: OnKeyPress und EIngabe prüfen
 
Geht ja nicht da ich im OnChange die Variable Key nicht mehr habe

Aurelius 18. Dez 2007 13:32

Re: OnKeyPress und EIngabe prüfen
 
Dann mach doch ne Schleife
Delphi-Quellcode:
for i := 1 to Length(Edit.Text)
und überprüfe dort den jeweiligen Buchstaben an Position i. Vielleicht kann man das auch mit Stringreplace mach und als einzufügenden String '' nehmen.

MrDevil 18. Dez 2007 14:30

Re: OnKeyPress und EIngabe prüfen
 
habe es so gelöst


Delphi-Quellcode:
var
  b: byte; S, t: string;
begin
  S := Edit1.Text;
  for b := 1 to Length(S) do
    if S[b] in ForbinndenChars then
    begin
      t := Copy(s, 0, Length(S) - 1);
      S[b] := #0;
      Edit1.Text := t + S[b];
      Edit1.SelStart := Length(Edit1.Text);
      Edit1.SelText := '';
    end;


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