![]() |
keine Buchstaben im Edit-Feld...?
moinsen,
also ich hätte da mal wieder so eine frage... *g* Wie geht das, dass beim click auf Buton2 in Edit1.text nach Buchstaben "gescannt" wird und der Rest des Vorgangs in "procedure THaupt.Buton2Click(Sender: TObject);" nicht durchgeführt wird, aber eine Fehlermeldung kommt wo drin steht "keine Buchstaben zulässig." Ausserdem würde ich mal gern wissen wie ich das hinbekomme, dass die Texte aus Edit1 und Edit2 durch einander dividiert werden... Würde mich über Hilfe hierbei sehr freuen... mfg. deadline [EDIT=thomasdrewermann]Rechtschreibfehler berichtigt.[/EDIT] |
Re: keine Buchstaben im Edit-Feld...?
Zitat:
das würde ich so schon einmal nicht machen. Es sieht schlecht aus dem Anwender eine Eingabe von Buchstaben zu erlauben und im Später eine Fehlermeldung zu zeigen. Besser ist es die Eingabe von "Nichtzahlen" zu verhindern. Suche mal im Forum. Das hatten wir schon oft. Zitat:
Ich denke mal Du möchtest die Zahlen die der anwender eingegeben hat dividieren. Schaue dir dazu einmal die Funktion StrToInt an. |
hmm,
also du kannst einfach durch den Strign durchgehen und nach Buchstaben suchen lassen,
etwa so:
Delphi-Quellcode:
So sollten keine Buchstabeneingaben mehr funktionieren, sie werden einfach aussortiert. Hoff ich, hab es nicht getestet und der Vergleich muss noch komplett gemacht werden.
function sortiereBuchstabenaus (Edit1:string):string;
var i : integer; helpstring1, helpstring2 : string; begin helpstring1 := uppercase(Edit1); helpstring2 := ''; for i = 1 to length(helpstring1) do begin if not((copy(helperstring1,i,1) in ['A','B','C','D','E' ....usw.!]) then helperstring2 := helperstring2 + copy(Edit1,i,1); end; result := helperstring2; end; [EDIT=thomasdrewermann]Rechtschreibfehler entfernt.[/EDIT] |
Re: keine Buchstaben im Edit-Feld...?
Zitat:
ausserdem hatte ich eigendlich auch nit vor text zu editieren, sondern wollte ZAHLEN devidieren... ;) mfg deadline |
hmm,
man mit
Delphi-Quellcode:
probiert ?
var resultat : single;
begin resultat := StrToFloat(Edit1.Text) / StrToFloat (Edit2.Text); end; EDIT ZUSATZ : WARUM SAGST DU NICHT GLEICH DASS DU NUR ZAHLEN ERLAUBEN WILLST,da kannst du das if Statement oben vereinfach ;) |
Hallösche!
Um in einem Edit-Feld nur Zahlen zuzulassen, nutze ich folgende Proc:
Delphi-Quellcode:
Der Anwender kann nur Zahlen eintragen - alle anderen Eingaben werden abgewiesen.
procedure Form.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if (Key in ['!'..'/',':'..'~']) then Key := #0; end; die Zaubermaus |
Re: keine Buchstaben im Edit-Feld...?
Zitat:
Aber ich bin heute gut gelaunt:
Code:
Benötigt:
procedure TForm1.FormCreate(Sender: TObject);
begin Edit1.OnKeyPress := NurZahlen; Edit2.OnKeyPress := NurZahlen; Edit1.Text := ''; Edit2.Text := ''; end; {*********************************************************} procedure TForm1.NurZahlen(Sender: TObject; var Key: Char); begin If Not (Key IN ['0'..'9',',','-',#8,#9,#13]) then begin Key := #0; end; end; {*********************************************************} procedure TForm1.Button1Click(Sender: TObject); var zahl1, zahl2 : Extended; begin if (Length(Edit1.Text) >0 ) AND (Length(Edit2.Text) > 0 ) then begin zahl1 := StrToFloat (Edit1.Text); zahl2 := StrToFloat (Edit2.Text); if (Zahl2<>0) then begin Label1.Caption := FloatToStr (zahl1/zahl2); end else begin MessageDlg('Diviesion durch 0', mtError, [mbOK], 0); end; end else begin MessageDlg('Wie soll ich ohne Zahlen rechnen?', mtConfirmation, [mbOK], 0); end; end; 1 Button 2 Edit 1 Label |
Moin Zusammen,
das Abfangen einer nicht zulässigen Eingabe mittels KeyPress funktioniert aber auch nur so lange, wie der Anwender nichts durch paste einfügt. STRG-V funktioniert bei einem Edit schliesslich standardmässig. |
Hallo,
um nur Ziffern in einem TEdit zuzulassen, schau mal in die Library ![]() |
Zitat:
Es geht nur über das Kontextmenü mit der rechten Maus. Und das kann man ja leicht verhindern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 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