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/)
-   -   Prism in textbox nur zahlen, enter, esc und tab zulassen (https://www.delphipraxis.net/58422-textbox-nur-zahlen-enter-esc-und-tab-zulassen.html)

Taladan 6. Dez 2005 21:58


in textbox nur zahlen, enter, esc und tab zulassen
 
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.

faux 6. Dez 2005 22:06

Re: in textbox nur zahlen, enter, esc und tab zulassen
 
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

lucius 6. Dez 2005 23:01

Re: in textbox nur zahlen, enter, esc und tab zulassen
 
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.

Taladan 7. Dez 2005 13:09

Re: in textbox nur zahlen, enter, esc und tab zulassen
 
@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?

Pseudemys Nelsoni 7. Dez 2005 13:17

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

Elvis 7. Dez 2005 13:28

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

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. ;)

Taladan 7. Dez 2005 14:02

Re: in textbox nur zahlen, enter, esc und tab zulassen
 
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;

faux 7. Dez 2005 15:29

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

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))


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