![]() |
edit soll nur zahle annehmen
hallo!
Ich habe ein Problem. Und zwar soll mein Editfeld nur Zahlen annehmen. Das ganze soll ich über ein Feld array machen und mit einer funktion in die ich eine Schleife einsetze. Mein bisheriger Quelltext sieht so aus:
Delphi-Quellcode:
Ich hoffe mir kann geholfen werden. Bin dankbar für jeden Tipp.const Ziffern : array[1..10] of char = ('0','1','2','3','4','5','6','7','8','9'); ... function IsOK(Key : char) : boolean; ... function TForm1.IsOK(Key : char) : boolean; begin //Hier müsste eine Schleife die überprüft ob Zeichen in array oder nicht und wenn nicht ihr verbieten das Zeichen ins Editfeld zu schreiben end; Liebe Grüße Magic |
Re: edit soll nur zahle annehmen
Och man, so langsam habe ich echt keine Lust mehr, hier zu helfen, wenn`die Leute anscheinend nicht bereit sind zu versuchen sich selber erstmal zu helfen. Gerade dieses Thema wird aktuell hier im Forum diskutiert und wurde auch schon in der Vergangenheit oft genug diskutiert. Warum gibt es eigentlich die Suche, wenn sie eh keiner benutzt? :?
|
Re: edit soll nur zahle annehmen
Im Grunde hat Lucky recht...
Aber ich bin mal nicht so :-/ Also ... du gehst ins on Keypress.... oder on KeyDown von dem Edit... und läufst dann in der Schleife das Array durch... Wenn das eingegebene im Array steht .... dann lass es zu ... wenn nicht schmeiß das eingegebene mit #0 wieder weg... Den Quelltext erspar ich mir ... weil das nach Hausaufgabe aussieht... Viel Spass Schaedel ps: bemüh die Hilfe... |
Re: edit soll nur zahle annehmen
ich hab die Suche schon benutzt! Tut mir leid.. aber ich habe schon versucht mir selber dadurch zu helfen. Aber ich habe nichts dazu gefunden.. jedenfalls nicht wie ich es gebrauchen könnte. Naja..hoffe trotzdem mir kann dazu jemand weiterhelfen.
|
Re: edit soll nur zahle annehmen
Ich schmeiß mal wieder den TMaskEdit in die Runde.
|
Re: edit soll nur zahle annehmen
Ich hab dir die Lösung oben angegeben ...
Schreiben werde ich dir den Quelltext nicht ;) Ist ja ne Hausaufgabe und bei solchen Dingen soll man ja was lernen ;) mkinzler : Na ja ... kann er auch machen ... aber das käme ja nicht der AUfgabenstellung nach ;) |
Re: edit soll nur zahle annehmen
|
Re: edit soll nur zahle annehmen
Ich weiß ja nicht, wie du gesucht hast, aber wenn ich das eingebe:
![]() ![]() ![]() Und wenn man die Suche noch etwas ausweitet, dann findet man bestimmt noch mehr Beiträge. |
Re: edit soll nur zahle annehmen
man könnte auch vor abruf des Textes aus dem Edit alle Buchstaben entfernen. Ist aber nicht sehr elegant :D
Delphi-Quellcode:
So müsste das irgendwie gehen. Habs aber nicht getestet
var
S: string; i: integer; begin S := Edit1.Text; for i := 1 to length(Edit1.Text) do if not (S[i] = ['0'..'9'] then Delete(S, 1, 1); Edit1.Text := S; |
Re: edit soll nur zahle annehmen
@robinWie:
Bei deiner if-Abfrage darfst du nicht = schreiben, denn ein String kann nicht mit einer Liste ident sein, sondern du musst das Schlüsselwort in benutzen. Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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