AGB  ·  Datenschutz  ·  Impressum  







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

Textfeld auf Zahl prüfen

Ein Thema von AblukaAlarm · begonnen am 6. Nov 2014 · letzter Beitrag vom 6. Nov 2014
Antwort Antwort
Seite 1 von 3  1 23      
AblukaAlarm

Registriert seit: 6. Nov 2014
6 Beiträge
 
#1

Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:15
Hallo zusammen,

habe das Problem ein Eingabefeld (sollte nur für Zahlen sein, sonst keine Berechnung möglich) auf Zahlen zu prüfen.
Der Anfang des Programms sieht so aus:
Delphi-Quellcode:
type

  { TForm1MSP }

   TForm1MSP = class(TForm)
    ...
    Edit1Masse: TEdit;
....(die anderen Felder)

  procedure Edit1MasseChange(Sender: TObject);
....(die anderen Felder)
Nun in dem Feld wo die Zahl rein kommen soll:
Delphi-Quellcode:
procedure TForm1MSP.Edit1MasseChange(Sender: TObject);

....
hiernach habe ich alles mögliche versucht, aber habe immer Fehlermeldungen bekommen.

Mein Ziel ist es, einfach dieses Feld auf Zahlen (mit Komma oder ohne ist egal) zu prüfen und falls dort eine Buchstabe eingegeben wird soll showmessage('Bitte geben Sie eine Zahl ein') rauskommen
Konnte das Problem nicht lösen und bitte um Hilfe
Vielen Dank
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:18
Z.B. mit TryStrToFloat()
Markus Kinzler
  Mit Zitat antworten Zitat
AblukaAlarm

Registriert seit: 6. Nov 2014
6 Beiträge
 
#3
  Alt 6. Nov 2014, 13:36
Delphi-Quellcode:
VAR
zahl:string
Delphi-Quellcode:
try
zahl :=TryStrToFloat(Edit1Masse.text);
except
 showmessage('Geben Sie bitte eine Zahl ein');
end;
habe das hier mal versucht aber das programm starten dann nicht
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:38
if not TryStrToFloat(Edit1Masse.text, zahl) then ...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#5

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:39
aber das programm starten dann nicht
Wie bitte?
PS: Die Fehlermeldung kann man kopieren (Strg+C) oder notfals halbwegs abschreiben.

Und jetzt schau mal bitte in die OH (Delphi-Referenz durchsuchenTryStrToFloat) und prüfe was du falsch gemacht hast.

Ach ja, TryStrTo... lösen keine Exceptions aus.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:42
Hallo,

oder mit KeyPress-Event nur Zahlen zulassen.

if not (Key in [#48..#57] then Key:=0;

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:44
Dann kriegst Du aber auch kein Komma rein. Nimmst Du das mit in die Menge auf, kann es mehrfach oder an unsinniger Stelle vorkommen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AblukaAlarm

Registriert seit: 6. Nov 2014
6 Beiträge
 
#8

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:53
Delphi-Quellcode:
procedure TForm1MSP.RadioGroup1Click(Sender: TObject);
begin

end;


Var
zahl:string;

procedure TForm1MSP.Edit1MasseChange(Sender: TObject);
 begin
    if not TryStrToFloat(Edit1Masse.text, zahl)
       then showmessage('FEHLER')
 end;

nun siehts so aus und so kommt die Fehlermeldung:
unit1.pas(127,47) Error: Call by var for arg no. 2 has to match exactly: Got "AnsiString" expected "Extended"

Geändert von AblukaAlarm ( 6. Nov 2014 um 13:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:55
Hallo DeddyH,

Zitat von AblukaAlarm:
(mit Komma oder ohne ist egal)
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 13:55
Na dann schau dich mal was zahl für einen Typen hat und welcher Typ wohl erwartet wird?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:41 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