AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Einzelnes Zeichen aus Edit löschen

Ein Thema von Pseudemys Nelsoni · begonnen am 22. Aug 2003 · letzter Beitrag vom 22. Aug 2003
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 21:54
hoi, ich versuche ein ngültiges Zeichen aus einem edit zu löschen mit:

Delphi-Quellcode:
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;
aber irgendwie funktioiert das nicht wenn das edit nur eis einem zeichen besteht, also ein "%" z.b wird nicht gelöscht, wieso das?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:02
Hallo,

anstatt

Code:
Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text) - 1);
machst Du das

Code:
Key:=#0;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:03
danke
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:06
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 Hier im Forum suchenOnKeyPress hier noch ein wenig mehr zum Thema.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:08
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.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:14
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:21
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?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Einzelnes Zeichen aus Edit löschen

  Alt 22. Aug 2003, 22:31
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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