Einzelnen Beitrag anzeigen

Jonny-Flash

Registriert seit: 18. Mai 2004
Ort: HH
18 Beiträge
 
Delphi 7 Professional
 
#2

Re: In Edit-Feld nur Zahleneingaben zulassen?

  Alt 23. Jul 2004, 13:26
Hi mirko2000,

hatte selbst mal das Problem und hab dazu folgendes gefunden:

Diese Porcedure verhindet alle Eingaben ausser Zahlen in einem Editfeld

Delphi-Quellcode:
//Variante1:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);    
var i:integer;    
    b:boolean;    
begin    
  b:=false;    
  for i:=48 to 57 do    
  begin    
    if ord(key) =i then b:=true    
  end;    
  if b=false then key:=chr(0);    
end;   


//Variante2:

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);    
var i:integer ;    
begin    
  try    
    i:=strtoint(key);    
  except    
    key:=chr(0);    
  end;    
end;   


//Variante3:

// lässt nur Zahlen zu und die Backspacetaste    
procedure KeyPressWord(Form : TForm; Sender : TObject; var Key : Char);    
begin    
  if NOT (Key in [#08, '0'..'9']) then    
    Key := #0;    
end;    


//Variante4:


// lässt nur Zahlen mit Komma zu und die Backspacetaste    
procedure KeyPressFloat(Form : TForm; Sender : TObject; var Key : Char);    
begin    
  if Key = '.then    
    Key := ',';    
  if NOT (Key in [#8, '0'..'9', ',']) then    
    Key := #0;    
end;    


//Zusatz:
//optional kann in die Procedure noch ein Code eingebaut werden, der den Cursor aufs nächste Feld //setzt, wenn du Enter drückst(die nächste Taborder):

  if Key = Chr(vk_Return) then    
  begin    
    Key := #0;    
    Form.Perform(wm_NextDlgCtl, 0, 0);    
  end;
Ich hoffe, das hilft dir weiter.
  Mit Zitat antworten Zitat