AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Edit Feld mit Eingabe Beschränkung
Thema durchsuchen
Ansicht
Themen-Optionen

Edit Feld mit Eingabe Beschränkung

Ein Thema von renekr · begonnen am 16. Dez 2005 · letzter Beitrag vom 17. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Edit Feld mit Eingabe Beschränkung

  Alt 16. Dez 2005, 20:59
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.
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Edit Feld mit Eingabe Beschränkung

  Alt 16. Dez 2005, 21:04
Kannst du ganz leicht selber schreiben: onkeydown

Delphi-Quellcode:
if (key<>'1') or (length(self.text)>7) then //Beliebig erweiterbar
  key:=#0;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 12:26
Hallo,

Einfach das OnKeyPress-Event nutzen:
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 (Length(Edit1.Text) - Pos('.', Edit1.Text) >= 2) then
   begin
     if (Key <> #8) then
       Key := #0;
   end;
  end;
end;
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#4

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 12:34
Hallo,

was willst du jetzt eigentlcih machen??? ich versteh deine Frage nicht so richtig.

MFG Christian18
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 12:38
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]
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 14:54
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.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 15:33
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.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 15:42
Hatte ich vergessen : Versuche es doch mal mit TMaskEdit.
Findest Du in der Tool-Palette unter Zusätzlich.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 15:45
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;
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#10

Re: Edit Feld mit Eingabe Beschränkung

  Alt 17. Dez 2005, 15:51
@tigerman33 / renekr: Stimmt, daran habe ich nicht gedacht. So müsste es dann funktionieren.

Virtuelle Tastencodes: Siehe auch Delphi-Referenz durchsuchenVirtuelle Tastencodes
oder Wikipedia ASCII.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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