Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Editfelder für Buchstaben sperren (https://www.delphipraxis.net/80884-editfelder-fuer-buchstaben-sperren.html)

naudoc 27. Nov 2006 17:30

Re: Editfelder für Buchstaben sperren
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von naudoc
...aber 3,,,4--4,,, usw kann eingegeben werden...
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //Das hier im OnKeyPress fängt alles ab was keine Zahl is
begin
  if not (Key in ['0'..'9']) then Key:= #0;
end;

Die Behauptung ist ja wohl nicht Dein Ernst ? :shock: Das hier ist jetzt keine Frage, sondern eine Feststellung : es gibt in dem Fall zwei Fehlerquellen. Entweder wurde nicht Edit1 usw. benutzt sondern Edit2 usw. Die nächste wäre, Edit1 benutzt das Edit2KeyPress oder sonstwas.

Ich hab natürlich noch ',' und '-' eingefügt, sonst gingen ja weder negative Zahlen, noch Zahlen mit Komma. Und wie man es möglich macht, dass Zahlen gelöscht werden weiss ich auch nicht...

mfG

PS:
@3_of_8: Danke, ich werds versuchen... ;)

Klaus01 27. Nov 2006 17:32

Re: Editfelder für Buchstaben sperren
 
zum Löschen der Zeichen noch ein #8 in die Auflistung.

Grüße
Klaus

naudoc 27. Nov 2006 17:40

Re: Editfelder für Buchstaben sperren
 
Zitat:

Zitat von 3_of_8
Aaalso...

Delphi-Quellcode:
var a, b: Integer;
begin
  if not (trystrtoint(edit1.text, a) and trystrtoint(edit1.text, b)) then
    showmessage('Bitte geben sie gültige Zahlenwerte ein.')
  else
    showmessage(inttostr(a+b));
end;
Das bedeutet, dass die Zahlenwerte der Edits addiert werden, wenn sie gültig sind. Ansonsten wird eine Fehlermeldung ausgegeben.


CheckEdit rufst du am besten in OnChange auf und machst dann irgendne Spielerei wie das Edit rot färben, wenn es keinen gültigen Wert enthält.

Ich nehme an, dass vor das 2. trystrtoint auch noch ein Komma soll!?
Wenn ich es genau so mache, bekomme ich in dem PopUp immer die Zahl die in Edit1 steht, ist dort ein Buchstabe, dann Word 0 angezeigt. Die Fehlermeldung kommt nie...
Und: Geht das ganze auch mit 'real'-Zahlen? und mit...tofloat und floatto... ?

mfG

PS: ich probier jetzt deine 1. Lösung...


Edit: Danke Klaus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Seite 3 von 3     123   

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