Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nur Buchstaben im Edit (https://www.delphipraxis.net/11252-nur-buchstaben-im-edit.html)

HentaiD 2. Nov 2003 21:20


Nur Buchstaben im Edit
 
Wie das Topic schon sagt ...
Ich würde gerne in meinem Edit nur Buchstaben sehen,da es eine namenseingabe werden soll,die ich hinterher für einen Algorythmus brauche.
Auf Knopfdruck soll das dann geprüft werden (Also ich geh davon aus,dass ich keinen timer brauche,das möchte ich jedenfalls vermeiden) :mrgreen:

Greetz,D

Daniel B 2. Nov 2003 21:21

Re: Nur Buchstaben im Edit
 
http://www.delphipraxis.net/internal...highlight=edit
Du musst nur die Zahlen durch Deine Buchstaben austauschen.

Matze 2. Nov 2003 21:31

Re: Nur Buchstaben im Edit
 
Also einfach so:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key in [#48..#57] then key := #0;
end;
:mrgreen:

Damit du nicht erst rumprobieren musst. ;)

Daniel B 2. Nov 2003 21:37

Re: Nur Buchstaben im Edit
 
Zitat:

Zitat von Matze
Damit du nicht erst rumprobieren musst. ;)

Lass Ihn doch wenigstens eine Sekunde lang Sein Hirn einschalten! :roll:
Kein Wunder das hier ständig solche Fragen kommen. :gruebel:

HentaiD 2. Nov 2003 22:45

Re: Nur Buchstaben im Edit
 
lol danke ^^ habs noch so erweitert , dass backspace und space funzt , aber Zeichen hab ich auch rausgeschmissen ;)

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  If not(key in [#8,#32,#65..#90,#97..#122])
    then key := #0 ;
end;
Greetz,D

Matze 3. Nov 2003 06:46

Re: Nur Buchstaben im Edit
 
@Daniel: Sorry, du hast Recht. :oops:

@HentaiD: Backspace und Space funktionoieren bei meinem Code auch. :warn: ;)

trashar 17. Nov 2003 16:49

Re: Nur Buchstaben im Edit
 
hallo
genau das mit den zahlen hab ich gesucht
meine frage
der wert für ,

oder gibs irgendwo so eine tabelle???
mfg

Christian Seehase 17. Nov 2003 19:21

Re: Nur Buchstaben im Edit
 
Moin trashbar,

Du kannst dafür z.B. die Zeichentabelle von Windows verwenden, oder Du installierst Dir mal die Gexperts (www.gexperts.org). Die enthalten auch eine Ascii Zeichentabelle.

HentaiD 17. Nov 2003 19:25

Re: Nur Buchstaben im Edit
 
HIER ist eine gekürzte ASCII Tabelle , für das wichtigste aber zu gebrauchen ;)

Greetz,D

SirThornberry 17. Nov 2003 19:49

Re: Nur Buchstaben im Edit
 
an sich ist das Sourceschnippsel ok, du solltest allerdings noch was ins onChange ereingis reinmachen da bei "copy-->paste" ins Editfeld sonst alles akzeptiert wird

MarkusT7 18. Nov 2003 12:28

Re: Nur Buchstaben im Edit
 
Moin !

Eine kleine Hilfe hab ich auch noch anzubieten.
Die Funktion prüft auf Zahlen (brauchte ich selber). Wenn du das jetzt soweit abänderst, daß
auch Komma, Semikolon, etc. zu den gültigen Zeichen gehören, dann brauchst du nur auf False als Rückgabewert zu reagieren.

Denn Quellcode mit Modifikation:

Zitat:

function acceptableInt(SomeChar:String):Boolean;
var cmpArray:Array of String;
I:Byte;
Status:Boolean;
begin
Status:=True;
setLength(cmpArray,10); <-- Wichtig ! Momentan für 10 Zeichen !
cmpArray[0]:='0';
cmpArray[1]:='1';
cmpArray[2]:='2';
cmpArray[3]:='3';
cmpArray[4]:='4';
cmpArray[5]:='5';
cmpArray[6]:='6';
cmpArray[7]:='7';
cmpArray[8]:='8';
cmpArray[9]:='9';

For I:=1 to length(SomeChar) do // Beginnt bei 1, da String
begin

if (cmpArray[0]=SomeChar[I]) OR
(cmpArray[1]=SomeChar[I]) OR
(cmpArray[2]=SomeChar[I]) OR
(cmpArray[3]=SomeChar[I]) OR
(cmpArray[4]=SomeChar[I]) OR
(cmpArray[5]=SomeChar[I]) OR
(cmpArray[6]=SomeChar[I]) OR
(cmpArray[7]=SomeChar[I]) OR
(cmpArray[8]=SomeChar[I]) OR
(cmpArray[9]=SomeChar[I]) then
begin
// Keine Anweisung nötig, da OK // Bei dir dann halt Falsch
Break; // Da ja falsch bei dir ...
end

else
begin
Status:=False;
//Application.MessageBox('Kein gültiger Integerwert','Fehler'); <--- Für dich ohne Belang
//Break;
end;
end;

if Status=False then
begin
Result:=False
end
else
begin
Result:=True;
end;
end; // Funktionsende
Mir ist bewußt, daß es garantiert einfacher geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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-2025 by Thomas Breitkreuz