Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Minuszeichen abfangen? (https://www.delphipraxis.net/54585-minuszeichen-abfangen.html)

Tau 7. Okt 2005 00:46


Minuszeichen abfangen?
 
Hi zusammen

Ich glaub ich stehe momentan am schlauch. habe schon einiges :oops:
gesucht aber leider kein vernünftige Lösung gefunden.

Ich versuche gerade im onChange von einem TEdit

StrToFloat(TEdit(Sender).Text) umzuwandeln.

beim eingaben von einem Minuszeichen kommt logischerweise der Fehler.
Ist ja noch kein Gleitkomma Wert.

Solte aber nicht in einer anderen Procedur sein
( OnKeyPress oder so sondern nur im onChange )

Wie kann ich das verhindern? :gruebel:

Tau
:hi:

Grishnak 7. Okt 2005 00:50

Re: Minuszeichen abfangen?
 
1. Fehlermeldung mit try...finally abfangen und Wert auf 0.0 setzten, oder
2. Prüfungen erst bei vollständiger Eingabe vornehmen (OnExit)

Tau 7. Okt 2005 01:12

Re: Minuszeichen abfangen?
 
Hallo Grishnak

1) try...finally ist glaube ich nicht das gelbe vom ei es muss noch besser Lösungen geben.

2)
Zitat:

( OnKeyPress oder so sondern nur im onChange )
wer lesen kann ist klar im Vorteil!

Der Grund ist das ich diese Lösung auch für ein bar andere fälle brauchen würde.

Hatte auch schon mal was im Forum gefunden aber kann es leider nicht mehr finden.

Tau
:hi:

ripper8472 7. Okt 2005 01:14

Re: Minuszeichen abfangen?
 
strtofloatdef koennte es eventuell geben

Tau 7. Okt 2005 01:21

Re: Minuszeichen abfangen?
 
Die Exeption wird trotzdem ausgelöst

Tau
:hi:

Luckie 7. Okt 2005 01:48

Re: Minuszeichen abfangen?
 
Zitat:

Zitat von Tau
Die Exeption wird trotzdem ausgelöst

Auch außerhalb der IDE?

ripper8472 7. Okt 2005 02:59

Re: Minuszeichen abfangen?
 
strtofloatdef hat bisher immer funktioniert.
wenns immernoch crasht, dann liegts aber nicht an strtofloatdef.

Der_Unwissende 7. Okt 2005 06:43

Re: Minuszeichen abfangen?
 
Hi,
auch wenn es nicht weit vom try ... except weg liegt (das eh für falsche Eingaben drum rum sollte), schau dir doch einfach den gesetzten Wert direkt an. Also beim OnChange mal was wie
Delphi-Quellcode:
if self.EditDasMichInteressiert.Text = '-' then
  begin
    exit;
  end; // if self.EditDasDichInteressiert.Text = '-'
try
  self.DeinFloatValue := StrToFloat(self.EditDasDichInteressiert.Text);
except
 // oops
end;

ripper8472 7. Okt 2005 06:59

Re: Minuszeichen abfangen?
 
strtofloatdef() versteht auch minuszeichen.

loest euch mal von den try-excepts, wenn die funktionen das selber schon ordentlich behandeln.

chrisw 7. Okt 2005 07:18

Re: Minuszeichen abfangen?
 
wie wäre es mit "TryStrToFloat", das versteht optional auch + und - und gibt eine exception, falls doch etwas anderes als Ziffern eingegeben werden .


Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr.
Seite 1 von 2  1 2      

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