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 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 14:56
TryStrToFloat, da ist String wohl der falsche Datentyp für die Variable Zahl.
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
Benutzerbild von himitsu
himitsu

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:01
oder mit KeyPress-Event nur Zahlen zulassen.
Wieder hat jemand vergessen, daß es auch einige ShortCuts und das Kontextmenü gibt .... vorallem das "Einfügen".


Und was haben alle gegen existierende Funktionen? (TMaskEdit, TEdit.NumbersOnly usw.)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Nov 2014 um 15:03 Uhr)
  Mit Zitat antworten Zitat
AblukaAlarm

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:05
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;

 begin
    if RadioButtonFlussdichte.Checked = true then
     Label7.Caption := Edit1Spannung.Text
  else Label5.Caption := Edit1Flussdichte.Text;

  end;

was muss ich den für zahl eine Variable geben?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:07
Die Variable "Zahl" würde ich
1. in die Procedure mit reinnehmen, damit ist sie nur lokal innerhalb der procedure gültig und
2. als Extended oder Double deklarieren, denn eine Zahl ist eine Zahl und kein String

Das Ganze würde dann so aussehen:

Delphi-Quellcode:
procedure TForm1MSP.Edit1MasseChange(Sender: TObject);
Var
 zahl:Extended;

begin
  if not TryStrToFloat(Edit1Masse.text, zahl)
     then showmessage('FEHLER')
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:08
StrToFloat = String To Float als einen String in eine Fließkommazahl, da würde isch eine Fließkommavariable ( Single, Double, Extended) anbieten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:09
http://docwiki.embarcadero.com/Libra....TryStrToFloat
Zitat:
Delphi-Quellcode:
function TryStrToFloat(const S: string; out Value: Extended): Boolean;
function TryStrToFloat(const S: string; out Value: Extended; const AFormatSettings: TFormatSettings): Boolean;
function TryStrToFloat(const S: string; out Value: Double): Boolean;
function TryStrToFloat(const S: string; out Value: Double; const AFormatSettings: TFormatSettings): Boolean;
function TryStrToFloat(const S: string; out Value: Single): Boolean;
function TryStrToFloat(const S: string; out Value: Single; const AFormatSettings: TFormatSettings): Boolean;
Such Dir einen der 3 Datentypen aus.
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
 
#17

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:18
Delphi-Quellcode:
procedure TForm1MSP.Edit1MasseChange(Sender: TObject);
Var zahl:Extended;
 
begin
    if not TryStrToFloat(Edit1Masse.text,zahl)
       then showmessage('FEHLER');
 end;

 begin
    if RadioButtonFlussdichte.Checked = true then
     Label7.Caption := Edit1Spannung.Text
  else Label5.Caption := Edit1Flussdichte.Text;
  end;

In diesem Zustand bleibt er bei RadioButtenFlussdichte.Checked hängen
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:22
Weil deine Begins und Ends komplett durcheinander gekommen sind.

Ein letztes mal *Code vorkau*

Delphi-Quellcode:
procedure TForm1MSP.RadioGroup1Click(Sender: TObject);
begin
  if RadioButtonFlussdichte.Checked = true then
    Label7.Caption := Edit1Spannung.Text
  else Label5.Caption := Edit1Flussdichte.Text;
end;

procedure TForm1MSP.Edit1MasseChange(Sender: TObject);
Var
  zahl:Extended;

begin
   if not TryStrToFloat(Edit1Masse.text, zahl)
      then showmessage('FEHLER')
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:24
Außerdem
if RadioButtonFlussdichte.Checked then
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#20

AW: Textfeld auf Zahl prüfen

  Alt 6. Nov 2014, 15:24
if RadioButtonFlussdichte.Checked {= true} then Nicht mit true vergleichen, das kann ins Auge gehen.

[edit] *Gnarf* zu spät [/edit]
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
Antwort Antwort
Seite 2 von 3     12 3      


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 07:38 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