AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: VCL / WinForms / Controls Delphi Real-Edit, in dem man nur gültige Eintragungen machen kann
Thema durchsuchen
Ansicht
Themen-Optionen

Real-Edit, in dem man nur gültige Eintragungen machen kann

Ein Thema von Nikolas · begonnen am 27. Jul 2004
Antwort Antwort
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Real-Edit, in dem man nur gültige Eintragungen machen kann

  Alt 27. Jul 2004, 14:26
Da die Frage, wie man in Edit nur Zahlen zulassen kann, recht häufig auftaucht und ich einen passenden Code mal für ein Projekt geschrieben hab, veröffentlich ich den mal hier:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  string1: string;
begin
  string1:=edit1.text;

  //allgemeine Sperrung von allen Zeichen ausser
  //backspace, (-) , (,) und Zahlen
  if not (key in[#8,#44,#45,#48..#57]) then key:=#0;

  // das Minus darf nur am Anfang benutzt werden
  if (edit1.selstart <> 0) and( key=#45) then key:=#0;

  // nur ein Komma
  if (pos(#44,string1)>0) and (key=#44) then key:=#0;

  // kein Komma am Anfang
  if (edit1.SelStart=0) and (key= #44) then key:=#0;

  // Kein -,xxx
  if (edit1.selstart=1) and
     (string1[1]='-') and
     (key=#44) then
       key:=#0;
end;
Leider kann man sich nicht immer darauf verlassen dass eine strtofloat funktioniert, da
- auch nur ein Komma oder - eingegeben werden könnte
- Copy & Paste nicht abgefangen werden kann. Hier könnte man vielleicht Buchstaben rausnehmen, aber bei mehreren Kommata kann man nichts mehr machen.

[edit=Matze]Code formatiert. Mfg, Matze[/edit]
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz