AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen auf Zahl

Ein Thema von ByStones2 · begonnen am 15. Nov 2005 · letzter Beitrag vom 15. Nov 2005
Antwort Antwort
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#1

Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:17
Hi,

wie kann ich überprüfen ob die eingabe in Edit1 eine Zahl ist ???

ByStones2
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:19
Zitat von ByStones2:
...wie kann ich überprüfen ob die eingabe in Edit1 eine Zahl ist ....
Hai ByStones2,

schaue Dir einmal die Procedure Delphi-Referenz durchsuchenVal an.

Wenn Du aber das Edit nur für Zahlen brauchst solltest Du bei der Eingabe einfach verhindern das etwas falsches in dem Edit stehen kann.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:21
????????????????
Sorry, aber damit kann ich leider nichts anfangen
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:21
Zitat von Sharky:
Zitat von ByStones2:
...wie kann ich überprüfen ob die eingabe in Edit1 eine Zahl ist ....
Hai ByStones2,

schaue Dir einmal die Procedure Delphi-Referenz durchsuchenVal an.

Wenn Du aber das Edit nur für Zahlen brauchst solltest Du bei der Eingabe einfach verhindern das etwas falsches in dem Edit stehen kann.
Wie geht das ???????????
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:25
Ich hab ne Lösung gefunden !!!!!!!!!!!!
Danke
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#6

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:26
Du?
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:27
Hier mal ein kleines Beispiel:
[code=delphi]
procedure TForm1.btn_TestClick(Sender: TObject);
var
s: string;
zahl: real;
code: integer;
begin
s := edt_Edit1.Text;
Val(s, zahl, code);
if (code > 0) then
begin
ShowMessageFmt('An Position %d des Strings ' + #10 +
'ist ein Fehler beim konvertieren aufgetreten',
Code:
);
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:28
Hallo

schau dir dochh mal das TMaskEdit an

und bei dem die Property EditMask

dort kannst du angeben was eingegeben werden soll - z. B. nur Zahlen
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Überprüfen auf Zahl

  Alt 15. Nov 2005, 18:36
Hallo ByStones2,
wenn du eine Fehleingabe verhindern willst, würde ich folgendes empfehlen:
Delphi-Quellcode:
procedure TMyProg.InputAKeyPress(Sender: TObject;
  var Key: Char);
var
  string1: string;
begin
  string1:=Edit1.text;
if key in [',','.',':'] then key := DecimalSeparator;
 
  if not (key in[#8,#13,#45,#44,#48..#57]) then key:=#0; {allgemeine Sperrung von allen Zeichen ausser
                                                          backspace, Enter, (-) , (,) , (.) , (:) und alle Zahlen }
  
  
if (Edit1.selstart <> 0) and( key=#45) then key:=#0; // das Minus darf nur am Anfang benutzt werden

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

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

  if (Edit1.selstart=1) and // Kein Minus und anschließend ein Komma
     (string1[1]='-') and
     (key=#44) then
     key:=#0;
       if not (key in[#8,#13,#45,#44,#48..#57]) then begin
       Key:=#0;
       Windows.Beep(2500,80) ; // anstelle einer Fehlermeldung ein kurzer Beep?????
       end;
  end;
Das ganze dann dem OnKeyPress Ereignis zuordnen->fertig.
Fehlermeldungen können ganz schön nerven
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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 16:51 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