#1 6. Mai 2007 in Edit-Feldern nur Kommas und zahlen erlauben ja, mein problem ist schon im titel beschrieben, bisher sah so meine lösung aus, aber die funktioniert nicht: Code: procedure TForm1.edStreckeExit(Sender: TObject); var s1 : string; Zahl1 : Real; FehlerCode : Integer; begin s1 := edStrecke.text; Val(s1,Zahl1,FehlerCode); if FehlerCode = 0 then else begin edStrecke.Text := ''; ShowMessage('Nur Ziffern und Kommas verwenden !') end; end; bw ist bei hilfe klar. mfg + Multi-Zitat Zitieren
#2 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben versuchs mal so Code: procedure TForm1.edStreckeExit(Sender: TObject); var Zahl1 : Extended; begin try Zahl1 := StrToFloat(edStrecke.text); except begin edStrecke.Text := ''; ShowMessage('Nur Ziffern und Kommas verwenden !') end; end; //kp ob das jetzt noch da hin muss oder nicht.. versuchs einfach mal ;) end; + Multi-Zitat Zitieren
#3 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben an sich nicht schlecht um buchstaben zu verhindern, aber die methode akzeptiert auch nur punkte, aber mit punkten kommt dann später die fehlermeldung ''6.2' is not a valid floating point value' oder so. aber trotzdem thx + Multi-Zitat Zitieren
#4 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben d.h. entweder hast du am rechner ne falsche einstellug oder benutzt nen englischen compiler... mit der deutschen version von delphi 7 funktioniert das alles einwandfrei.. hat bei mir bisher noch nie probleme gemacht.. wenns bei dir trotzdem nciht klappt, musste den string halt umständlich über die stringfunktionen copy, insert, delete, length untersuchen und falls ein zeichen nicht deinen vorstellungen entspricht, ne fehlermeldung ausgeben.. + Multi-Zitat Zitieren
#5 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben aha, und wo stellt man das ein ??? aber wenn dem so wäre, wäre das natürlich die einfachste lösung mfg + Multi-Zitat Zitieren
#6 6. Mai 2007 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: in Edit-Feldern nur Kommas und zahlen erlauben also erstmal musste gucken, dass du bei windows das eingabegebietsschema richtig eingestellt hast... und dich da nen bisschen durchklicken, glaub da kannst du auch einstellen wie du das trennzeichen eingeben möchtest, als punkt oder als komma. und im delphi compiler hab ich keine ahnung.. musste dich unter optionen nen bisschen durchklicken... vllt kommt da was.. bei mir war das von anfang an richtig eingestellt. kannst ja mal das programm runterladen und gucken ob du kommazahlen eingeben kannst.. hab das nämlcih auch über strtofloat gemacht, also quasi genau das was du jetzt auch vor hast.... [Delphi] Einnahmen/Ausgaben lister - RR:Board + Multi-Zitat Zitieren
#7 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben kk, mach ich, also erste mal danke für deine hilfe mfg + Multi-Zitat Zitieren
#8 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben Mhh also ich habe es bei meinem taschenrechner wie folgt gelöst : Code: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (pos(',',(Sender as TEdit).text)>0) AND (key=',') then key:=#0; Sollte dir auch helfen \\Also jetzt nurmal als beiSpiel das man nur EINMAL ein komma nutzen kann ansonsten für die zahlen: Code: if Key in ['0'..'9', ','] then inhalt := inhalt + Key; + Multi-Zitat Zitieren
#9 6. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben oha, danke, hab jetzt leider nicht die zeit es auszuprobieren, aber ich machs glei morgen, also erste mal danke. mfg Edit: habs jetzt mal außprobiert, jetzt kann man wieder Kommas eingeben, aber wie schaffe ich es jetzt, dass der DAU merkt, dass er keine buchstaben eingeben kann ? @smokers: ja, das komma sollte nur einmal drankommen + Multi-Zitat Zitieren
#10 15. Mai 2007 AW: in Edit-Feldern nur Kommas und zahlen erlauben dann schreib halt in das onkeypress event : Code: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); [LEFT] begin if (pos(',',(Sender as TEdit).text)>0) AND (key=',') then begin key:=#0; messagedlg('Hast du schonmal einen Wert mit 2 Kommata gesehen? o.O ',mterror,[mbok],1); end; if Key in ['0'..'9', ','] then inhalt := inhalt + Key; [I]// "inhalt" enthält den Wert der in die editbox eingegeben wurde[/I] end; [/LEFT] + Multi-Zitat Zitieren