AGB  ·  Datenschutz  ·  Impressum  







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

Ein String auf numerisch Testen

Ein Thema von Progger2005 · begonnen am 10. Okt 2006 · letzter Beitrag vom 10. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Progger2005

Registriert seit: 10. Okt 2006
Ort: Hohenleuben
11 Beiträge
 
#1

Ein String auf numerisch Testen

  Alt 10. Okt 2006, 17:57
Hallo Leutz!

Ich übergebe mir aus einen EditFeld den Inhalt an eine Variable(integer). Durch StrToInt lasse ich es umwandeln...
Wenn man Zaheln eingibt alles schön und gut.. nur was wenn man plötzlich mal einen Buchstabe eingibt? -> Logischer weiße eine Fehler! Nun möchte ich vor dem Umwandeln testen ob im Textfeld nur Ziffern eingegeben wurden?? Wie geht das? Unter VB mit IsNumeric ... aber unter Delphi keine Ahnung? Gibt es etwas vorgefertigtes??


Danke Schonmal

MfG
Progger2005
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 17:59
Probiere es mal mit TryStrToInt!


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Progger2005

Registriert seit: 10. Okt 2006
Ort: Hohenleuben
11 Beiträge
 
#3

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 18:55
Servus!

Ich habe es versucht jedoch ohne Ergebnis geblieben??
Ich will ja möglichst auch noch eine Ausgabe tätigen um den Benutze mitzuteilen was er falsch gemacht hat..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:07
Zeig mal etwas Code, dann kann man die u.U. sagen, warum das gewünschte Ergebnis ausgeblieben ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Progger2005

Registriert seit: 10. Okt 2006
Ort: Hohenleuben
11 Beiträge
 
#5

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:14
Hier der CODE
Habe es jedoch mit TryStrToFloat gemacht...sollte ja aber trotzdem gehen..

Also ich will herausfiltern wenn ein Buchstabe eingegeben wurde...das da net gerechnet wird...
Delphi-Quellcode:
procedure Tmain.cmdBerechnenClick(Sender: TObject);
  var F,A,p:Real;
begin
  F:=TryStrToFloat(txtF.Text);
  A:=TryStrToFloat(txtA.Text);
  If A=0 Then
    //Ausgabe das Falsche Werte eingegeben wurden
    txtp.text:='Falsche Werte'
  Else
    begin
    //Weiterrechnen
    p:=F/A;
    txtp.Text:=FloatToStr(p);
    end;

end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:21
Du hast die Funktion falsch angewandt.
Als Rückgabewert erhälst du ein Boolean, der aussagt, ob die Konvertierung erfolgreich war. Den Wert erhälst du per var-Parameter.
Markus Kinzler
  Mit Zitat antworten Zitat
Progger2005

Registriert seit: 10. Okt 2006
Ort: Hohenleuben
11 Beiträge
 
#7

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:52
Also um es mal darzulegen das Problem.
b:=TryStrToFloat(txtA.Text,A); also:
b - boolean Wert
A- Float Wert


Hab ich das richtig verstanden?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:55
Zitat:
Hab ich das richtig verstanden?
Ja.

also:

Delphi-Quellcode:
if not TryStrToFloat(txtF.Text, F) then
   //Ausgabe das Falsche Werte eingegeben wurden
Markus Kinzler
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#9

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 19:59
Ja, richtig. Man könnte es auch so machen:
Delphi-Quellcode:
procedure Tmain.cmdBerechnenClick(Sender: TObject);
var
  F, A: Real;
begin
  if TryStrToFloat(txtF.Text, F) and TryStrToFloat(txtA.Text, A) then
  begin
    //Weiterrechnen
    p := F/A;
    txtp.Text := FloatToStr(p);
  end
  else
    txtp.text := 'Falsche Werte'
end;
//Edit: Und denk dran A auf <> 0 zu überprüfen sonst gibt es evtl. ne nette Division durch null
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Ein String auf numerisch Testen

  Alt 10. Okt 2006, 20:01
Dann würde ich aber noch überprüfen, ob A <> 0 ist!
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:21 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