Autor Beitrag
Gregor_B
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 14.09.05 13:01 
Wie sorge ich dafür, dass man in meine Edit-Box z.B. nur Zahlen eingeben kann ?
en!gma
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Mi 14.09.05 13:03 
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 14.09.05 13:30 
Moin!

Wie wäre es damit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Edit1Change(Sender: TObject);

  function Filter(const S: String): String;
    const
      OK: Set of Char = ['0'..'9'];
    var
      i: Integer;
  begin
    Result := '';
    for i := 1 to Length(S) do
      if (S[i] in OK) then
        Result := Result +S[i];
  end;

begin
  if (Edit1.Modified) then begin
    Edit1.Text := Filter(Edit1.Text); // Eingabe bereinigen
    Edit1.SelStart := Length(Edit1.Text); // Cursor ans Textende stellen
  end;
end;

cu
Narses

Für diesen Beitrag haben gedankt: MagicRain
Gregor_B Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 15.09.05 22:38 
Danke für die Hilfe
Dieses Forum gehört ab sofort zu meinen Favorites!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.09.05 23:15 
Puh, viele Lösungen aber eine fast schon schlechter wie die andere. ;)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#48..#57, #8]) then
    Key := #0;
end;
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Do 15.09.05 23:21 
@Luckie: Was ist mit Copy/Paste (=> Mit Shift+Insert (oder per Maus) Text ins Edit kopierbar. Dafür geht Ctrl+C nicht zum Rauskopieren von Zahlen, etc.)

Für diesen Beitrag haben gedankt: MagicRain
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.09.05 23:36 
user profile icondelfiphan hat folgendes geschrieben:
@Luckie: Was ist mit Copy/Paste (=> Mit Shift+Insert (oder per Maus) Text ins Edit kopierbar. Dafür geht Ctrl+C nicht zum Rauskopieren von Zahlen, etc.)

Leeres Popup-Menü auf die Form und mit dem Edit verknüpfen.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Do 15.09.05 23:40 
Mit Shift+Insert kann ich noch immer Text reinkopieren.

Ausserdem find ichs nicht so toll, wenn man den Benützer derart einschränkt. Copy/Paste sollte mit Ctrl+C etc. für Zahlen schon noch funktionieren find ich...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.09.05 00:03 
user profile iconGregor_B hat folgendes geschrieben:
Wie sorge ich dafür, dass man in meine Edit-Box z.B. nur Zahlen eingeben kann ?

Ums Einfügen über die Zwiswchenablage ging es ihm auch gar nicht, zu mindest würde ich so eine Frage interpretieren.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 16.09.05 08:39 
Moin!

@user profile iconLuckie: Du hängst doch immer die "haltet euch an die Standards"-Fahne hoch, und ich finde es absoluter Standard, mit Strg+V etwas in ein Editfeld einfügen zu können, das muss man nicht extra erwähnen. :wink:

Zugegeben, man könnte den Result-String vorher auf die gleiche Länge setzen, wie den Parameter und dann bei Bedarf Zeichen kopieren und am Ende die korrekte Länge setzten, das wäre Ressourcen-sparender. So ist´s aber für den Anfänger klarer.

cu
Narses