Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrfach Eingabe verhindern (https://www.delphipraxis.net/31575-mehrfach-eingabe-verhindern.html)

maximus Caesar 11. Okt 2004 12:53


Mehrfach Eingabe verhindern
 
Hallo!
Kann mir jemand sagen, wie ich in einem Editfeld verhindern kann, dass das Komma mehrfach vorkommt?

Matze 11. Okt 2004 12:55

Re: Mehrfach Eingabe verhindern
 
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Pos(',', Edit1.Text) > 0 then
    if key = ',' then key := #0;
end;

Sharky 11. Okt 2004 12:55

Re: Mehrfach Eingabe verhindern
 
Zitat:

Zitat von maximus Caesar
Hallo!
Kann mir jemand sagen, wie ich in einem Editfeld verhindern kann, dass das Komma mehrfach vorkommt?

Hai maximus Caesar,
einfach im OnKeyPress prüfen ob welche Taste gedrückt wurde und dann prüfen ob im Edit schon ein Komma vorhanden ist.
Schaue mal in der Code-Library. Ich glaube da gibt es ein Beispiel.

P.S.: Wenn der Text aber über die Zwichenablage in das Edit kommt funktioniert es so nicht.

Aenogym 11. Okt 2004 12:55

Re: Mehrfach Eingabe verhindern
 
hi,

einfach mal im OnKeyPress des Edits folgendes:

Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(sender, TPBject; key: char);
begin
  if key = ',' then
  begin
    if pos(edit1.text, ',') > -1 then
      key := #0;
  end;
end;
sollte so funktionieren...

Aenogym

edit: das liebe ich an der DP. fünf millionen mal die gleiche antwort :mrgreen:

maximus Caesar 11. Okt 2004 12:57

Re: Mehrfach Eingabe verhindern
 
Danke! :thumb:

funktioniert! :stupid:

Sharky 11. Okt 2004 12:58

Re: Mehrfach Eingabe verhindern
 
Zitat:

Zitat von maximus Caesar
..funktioniert! :stupid:

Hai, noch ein kleiner Tip am Rande:
Wenn Du, so wie es aussieht, möchtest das im Edit eine Zahl eingegeben wird und darum nur ein "Komma" möglich sein soll würde ich lieber prüfen ob der DecimalSeparator schon vorhanden ist.

Luckie 11. Okt 2004 13:15

Re: Mehrfach Eingabe verhindern
 
Zitat:

Zitat von maximus Caesar
Hallo!
Kann mir jemand sagen, wie ich in einem Editfeld verhindern kann, dass das Komma mehrfach vorkommt?

Das hatten wir doch gerade erst gestern.

Jelly 11. Okt 2004 14:26

Re: Mehrfach Eingabe verhindern
 
Vorsicht beim alleinigen Auswerten des OnKeyPress Events. Dies berücksichtigt nicht ein eventuelles Einfügen mitten Strg-V über die Zwischenablage. Ich persönlich finde eine Prüfung im OnExit Event eventuell passender.

Matze 11. Okt 2004 14:31

Re: Mehrfach Eingabe verhindern
 
Zitat:

Zitat von Sharky
P.S.: Wenn der Text aber über die Zwichenablage in das Edit kommt funktioniert es so nicht.

OnExit finde ich aber nicht passen, da man dann 2 Kommata im Edit sieht, bis man ein anderes Objekt fokusiert. Und OnChange ist wohl auch nicht so toll. :?

Ich verweise hier mal auf den Thread, den Luckie angesprochen hat: Klick


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