![]() |
Einzelnes Zeichen aus Edit löschen
hoi, ich versuche ein ngültiges Zeichen aus einem edit zu löschen mit:
Delphi-Quellcode:
aber irgendwie funktioiert das nicht wenn das edit nur eis einem zeichen besteht, also ein "%" z.b wird nicht gelöscht, wieso das?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (key in ['0'..'9', 'A'..'Z', 'a'..'z', #45, #95, #123, #125, #91, #93, #96, #124, #39, #8]) then begin Application.MessageBox('Unerlaubtes Sonderzeichen verwendet!' + #13#10 + #13#10 + 'Erlaubte Sonderzeichen sind z.B: -_{}[]`|', 'Fehler', mb_ok); Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text) - 1); end; end; |
Re: Einzelnes Zeichen aus Edit löschen
Hallo,
anstatt
Code:
machst Du das
Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text) - 1);
Code:
Key:=#0;
|
Re: Einzelnes Zeichen aus Edit löschen
danke :D
|
Re: Einzelnes Zeichen aus Edit löschen
Moin silent,
zu dem Zeitpunkt, zu dem OnKeyPress aufgerufen wird, steht das Zeichen noch nicht im im Edit1.Text steht. Tausch einfach mal Deine Kopierzeile durch key := #00 aus. Dadurch wird dann das einzufügende Zeichen gelöscht, und erscheint erst gar nicht im Edit1.Text. BTW: Dazu hatten wir hier schon einiges. Vielleicht findest Du unter ![]() |
Re: Einzelnes Zeichen aus Edit löschen
hallo christian, danke auch dir :)
zu dem suchen, wenn ich ehrlich bin hatte ich keine lust (ich tu das eigentlich sonst immer zuerst!!) weil das in anderen boards zwar ein vorteil bringt weil man erst nach 1 woche mal ne antwort hat, aber hier hat man ja immer gleich schon eine nach 2min <g> das is super ne, aber ich werd sie ab jetzt wieder immer zuerst benutzen. |
Re: Einzelnes Zeichen aus Edit löschen
Moin Silent,
Du wolltest für dieses Problem (einschränken der zulässigen Zeichen) schlicht einen anderen Weg gehen, der so nur nicht funktioniert. Nur mal so ein allgemeiner Tip zu Deinem Problem: Wenn in einem Feld nicht das steht, was Du erwartest, könntest Du es auch mal mit dem Debugger probieren, also an der fraglichen Stelle einen Breakpoint setzen, und Dir mal ansehen, was in den Datenfeldern (hier Edit1.Text) gerade so steht. Ggf. im Einzelschritt durchgehen, um die Veränderung der Inhalte zu verfolgen. |
Re: Einzelnes Zeichen aus Edit löschen
danke für den tip chris,
kannst du mir noch sagen wie ich in delphi einen breakpoint setze? sind das diese kleinen blauen punkte neben dem code? |
Re: Einzelnes Zeichen aus Edit löschen
Moin silent,
entweder auf diese Punkte klicken (Zeile wird rot, der Punkt auch), oder aber wenn sich das Caret in der gewünschten Zeile befindet F5 drücken. Soll das Thema Debuggen vertieft werden schlage ich allerdings einen neuen Thread vor, da dieses Thema mit diesem Thread nun nicht wirklich etwas zu tun hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 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