[Delphi] in Edit-Feldern nur Kommas und zahlen erlauben

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Lord_Roke, 6. Mai 2007 .

  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
     
  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;
     
  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
     
  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..
     
  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
     
  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
     
  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
     
  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;
     
  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
     
  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]
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.