Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Edit-Feld: nur Zahlen + Kopieren/Einfügen? (https://www.delphipraxis.net/41399-edit-feld-nur-zahlen-kopieren-einfuegen.html)

romber 2. Mär 2005 21:57


Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Hallo!

Ich wollte es so machen, daß in einem Edit-Feld nur Zahlen und Backspace erlaubt ist:

Delphi-Quellcode:
...
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0;
end;
...
Wie kann ich die Kode modernisieren dass auch Kopieren (STRG + C) und Einfügen (STRG + V) funktioniert?

Danke!

Airblader 2. Mär 2005 22:08

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Klingt blöd, aber dann nimm doch gleich ein TSpinEdit :)

air

romber 2. Mär 2005 22:12

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Nein, es muss unbedingt eine TEdit sein.

sniper_w 2. Mär 2005 22:17

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Das funktioniert sowieso. Verstehe dich nicht ganz?

Binärbaum 2. Mär 2005 22:19

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Zitat:

Zitat von romber
Wie kann ich die Kode modernisieren dass auch Kopieren (STRG + C) und Einfügen (STRG + V) funktioniert?

Verwende doch statt KeyPress das OnKeyDown-Ereignis. Dort kann man auch abfragen, ob STRG, ALT, Shift, usw. gedrückt wurde.

MfG
Binärbaum

romber 2. Mär 2005 22:23

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Was ist da nicht zu verstehen? In einer TEdit dürfen nur Zahlen drin sein. Außerdem muss mann die Kopieren/Einfügen - Funktionen benutzen können.

Nikolas 2. Mär 2005 22:23

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Geh doch im Onchange alle Buchstaben durch und überprüfe ob es Zahlen sind:

Delphi-Quellcode:
str:='';
for i:=0 to length(e1.text)-1 do
if (e1.text[i] in ['0'..'9']) then str:=str+e1.text[i];

e1.text:=str;
Alternativ kannst du auch die Buchstaben per delete rausnehmen.

Binärbaum 2. Mär 2005 22:26

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Zitat:

Zitat von Toxman
Geh doch im Onchange alle Buchstaben durch und überprüfe ob es Zahlen sind:

Delphi-Quellcode:
str:='';
for i:=0 to length(e1.text)-1 do
if (e1.text[i] in ['0'..'9']) then str:=str+e1.text[i];

e1.text:=str;
Alternativ kannst du auch die Buchstaben per delete rausnehmen.

Das ist fast schon etwas zu umständlich. Man bräuchte diese for-Schleife gar nicht, wenn man schon im OnKeyXXXXX die ungültigen Zeichen rausfiltert.

Luckie 2. Mär 2005 22:29

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Zitat:

Zitat von Binärbaum
Das ist fast schon etwas zu umständlich. Man bräuchte diese for-Schleife gar nicht, wenn man schon im OnKeyXXXXX die ungültigen Zeichen rausfiltert.

Es geht aber auch um das Einfügen über die Zwischenablage.

romber 2. Mär 2005 22:42

Re: Edit-Feld: nur Zahlen + Kopieren/Einfügen?
 
Zitat:

Zitat von Luckie
Es geht aber auch um das Einfügen über die Zwischenablage.

Genau. Und wie mache ich das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 Uhr.
Seite 1 von 2  1 2      

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