Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Textfeld auf Zahl prüfen (https://www.delphipraxis.net/182639-textfeld-auf-zahl-pruefen.html)

DeddyH 6. Nov 2014 13:56

AW: Textfeld auf Zahl prüfen
 
TryStrToFloat, da ist String wohl der falsche Datentyp für die Variable Zahl.

himitsu 6. Nov 2014 14:01

AW: Textfeld auf Zahl prüfen
 
Zitat:

Zitat von Chemiker (Beitrag 1278931)
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.)

AblukaAlarm 6. Nov 2014 14:05

AW: Textfeld auf Zahl prüfen
 
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?

baumina 6. Nov 2014 14:07

AW: Textfeld auf Zahl prüfen
 
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;

mkinzler 6. Nov 2014 14:08

AW: Textfeld auf Zahl prüfen
 
StrToFloat = String To Float als einen String in eine Fließkommazahl, da würde isch eine Fließkommavariable ( Single, Double, Extended) anbieten

DeddyH 6. Nov 2014 14:09

AW: Textfeld auf Zahl prüfen
 
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.

AblukaAlarm 6. Nov 2014 14:18

AW: Textfeld auf Zahl prüfen
 
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

baumina 6. Nov 2014 14:22

AW: Textfeld auf Zahl prüfen
 
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;

mkinzler 6. Nov 2014 14:24

AW: Textfeld auf Zahl prüfen
 
Außerdem
Delphi-Quellcode:
if RadioButtonFlussdichte.Checked then

DeddyH 6. Nov 2014 14:24

AW: Textfeld auf Zahl prüfen
 
Delphi-Quellcode:
if RadioButtonFlussdichte.Checked {= true} then
Nicht mit true vergleichen, das kann ins Auge gehen.

[edit] *Gnarf* zu spät :( [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz