AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Prism in textbox nur zahlen, enter, esc und tab zulassen
Thema durchsuchen
Ansicht
Themen-Optionen

in textbox nur zahlen, enter, esc und tab zulassen

Ein Thema von Taladan · begonnen am 6. Dez 2005 · letzter Beitrag vom 7. Dez 2005
Antwort Antwort
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

in textbox nur zahlen, enter, esc und tab zulassen

  Alt 6. Dez 2005, 22:58
Wie kann ich das handeln, das ich in einer Textbox nur Enter, Esc (mit zurücksetzen des Textes) und Tab (ebenfalls mit zurücksetzen des Textes) zulassen kann. Wichtig ist mir, das bei der Taste enter noch eine weitere Procedure ausgeführt wird.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 6. Dez 2005, 23:06
HallO!

Ich hab heute gerade so eine Ähnliche Frage gestellt und mit wurde eine sher gute Lösung angeboten:
Reguläre Ausdrücke.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 00:01
Hi Taladan,

Delphi-Quellcode:
procedure THaupt.Edit1Change(Sender: TObject);
var
  Key:Char;
  i:integer;
  s:string;
begin
// allow only numbers and backspace//
  s := '';
  for i:=1 to Length( TEdit(Sender).Text ) do
  begin
    Key := TEdit(Sender).Text[i];
    if not( Key in ['0'..'9', #8] ) then
      Key := #0
      else
      s := s + Key;
  end;
  TEdit(Sender).Text := s;
end;
MFG Lucius.
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#4

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 14:09
@Lucius. Danke. Dies ist jedoch ein Code der in .Net unbrauchbaur ist. Aus win32 kenne ich ihn schon.

@faux. Was sind reguläre Ausdrücke?
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

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

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 14:17
Bei Google suchenTRegExp
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#6

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 14:28
Zitat von Pseudemys Nelsoni:
Irgendwie sind die Leute, die Plattform/Sprachangabe oben nicht gewohnt.
Alleine das T in TRegExp sollte klarmachen, dass es native Delphi und nicht .Net ist.
In .Net bekommst du im namespace System.Text.RegularExpressions alles was das Herz begehrt.
Robert Giesecke
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#7

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 15:02
habs lösen können
Delphi-Quellcode:
procedure TNavigation.TextBox1_KeyPress(sender: System.Object; e: System.Windows.Forms.KeyPressEventArgs);
begin
  if not( e.KeyChar in ['0'..'9']) then begin
    if e.KeyChar = #13 then begin
// mach was
    end;
    e.Handled := true;
  end;
end;
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: in textbox nur zahlen, enter, esc und tab zulassen

  Alt 7. Dez 2005, 16:29
Zitat von Taladan:
habs lösen können
OK, mit Listen geht's auch.
Ich hatte das Problem in C#, deswegen Reguläre Ausdrücke. Aber in Delphi.NET geht's mit SET's natürlich auch.
Falls du trotzdem interesse hast, dein Wissen um Reguläre Ausdrücke zu erweitern:

Code:
if (! (new Regex('[0-9\n]', RegexOptions.IgnoreCase).IsMatch(e.KeyChar))
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  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 01:21 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