![]() |
Edit Feld mit Eingabe Beschränkung
Hi,
habe zwar schon einiges hier gefunden aber nicht das passende: Habe ein Edit Feld das zur Eingabe eines Preises verwendet werden sollte: Beschränkungen: - Nur Zahlen - Nur Punkt anstelle von Komma wegen SQL Server Float wert. - Max .2 Nachkomma stellen. Habe mitbekommen das es von Indy was geben soll aber habe es nicht gefunden. Vielen Dank. |
Re: Edit Feld mit Eingabe Beschränkung
Kannst du ganz leicht selber schreiben: onkeydown
Delphi-Quellcode:
if (key<>'1') or (length(self.text)>7) then //Beliebig erweiterbar
key:=#0; |
Re: Edit Feld mit Eingabe Beschränkung
Hallo,
Einfach das OnKeyPress-Event nutzen:
Delphi-Quellcode:
Gruß,
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin // Nur '.', Zahlen und Backspace zulassen If not (Key in [#46, #48..#57, #8]) then Key := #0; // Wenn mehr als 2 Nachkommastellen und Taste kein Backspace -> ignorieren If (Pos('.', Edit1.Text) <> 0) then begin if (Length(Edit1.Text) - Pos('.', Edit1.Text) >= 2) then begin if (Key <> #8) then Key := #0; end; end; end; ManuMF |
Re: Edit Feld mit Eingabe Beschränkung
Hallo,
was willst du jetzt eigentlcih machen??? ich versteh deine Frage nicht so richtig. MFG Christian18 |
Re: Edit Feld mit Eingabe Beschränkung
Ich glaube, es geht um ein Editfeld mit "." als Dezimalzeichen, das nur Zahlen und 2 Nachkommastellen zulässt.
Wenn es eine fertige Komponente gibt, dann sicher eher von den JEDIs, nicht den Indys ;-) [Edit]Ja. TJvValidateEdit, wenn es dfCurrency als DisplayFormat hat. Die Eigenschaft Value liefert dann eine Kommazahl.[/edit] |
Re: Edit Feld mit Eingabe Beschränkung
Hi,
Vielen Dank für eure Hilfe. Nochmal zur verdeutlichung : Ich will ein Edit Feld, wo man nur Preise eingeben darf mit einem Punkt und 2 Nachkomma stellen. Weil manche es nciht kapieren . Das von ManuMF kommt sehr nahe an meine Vorstellung ran. Allerdings kan n i da ..2 eingeben ,also mit 2 Punkten . PS : Kann mir jemand sagen wo ich die Key Bezeichnung herbekomme zb #13 = return? Vielen Dank. |
Re: Edit Feld mit Eingabe Beschränkung
schreib in Deinen Source Code z.B. vk_return, dann klicke vk_return mit der rechten Mousetaste und wähle im Popup-Menu 'Deklaration zeigen'. Dann müßtest Du irgendwo in der Windows.pas landen, wo die vk_xxxxx definiert sind.
|
Re: Edit Feld mit Eingabe Beschränkung
Hatte ich vergessen : Versuche es doch mal mit TMaskEdit.
Findest Du in der Tool-Palette unter Zusätzlich. |
Re: Edit Feld mit Eingabe Beschränkung
Das mit den zwei Punkten müsste sich so lösen lassen:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin // Nur '.', Zahlen und Backspace zulassen If not (Key in [#46, #48..#57, #8]) then Key := #0; // Wenn mehr als 2 Nachkommastellen und Taste kein Backspace -> ignorieren If (Pos('.', Edit1.Text) <> 0) then begin if Key = '.' then // <--- Key := #0; // <--- die beiden Zeilen hier sind neu, Rest wie bei ManuMF if (Length(Edit1.Text) - Pos('.', Edit1.Text) >= 2) then begin if (Key <> #8) then Key := #0; end; end; end; |
Re: Edit Feld mit Eingabe Beschränkung
@tigerman33 / renekr: Stimmt, daran habe ich nicht gedacht. So müsste es dann funktionieren.
Virtuelle Tastencodes: Siehe auch ![]() oder ![]() Gruß, ManuMF |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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 by Thomas Breitkreuz