AGB  ·  Datenschutz  ·  Impressum  







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

Minuszeichen abfangen?

Offene Frage von "Tau"
Ein Thema von Tau · begonnen am 7. Okt 2005 · letzter Beitrag vom 8. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

Minuszeichen abfangen?

  Alt 7. Okt 2005, 01:46
Hi zusammen

Ich glaub ich stehe momentan am schlauch. habe schon einiges
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?

Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#2

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 01:50
1. Fehlermeldung mit try...finally abfangen und Wert auf 0.0 setzten, oder
2. Prüfungen erst bei vollständiger Eingabe vornehmen (OnExit)
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 02:12
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
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#4

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 02:14
strtofloatdef koennte es eventuell geben
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 02:21
Die Exeption wird trotzdem ausgelöst

Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 02:48
Zitat von Tau:
Die Exeption wird trotzdem ausgelöst
Auch außerhalb der IDE?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#7

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 03:59
strtofloatdef hat bisher immer funktioniert.
wenns immernoch crasht, dann liegts aber nicht an strtofloatdef.
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 07:43
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;
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#9

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 07:59
strtofloatdef() versteht auch minuszeichen.

loest euch mal von den try-excepts, wenn die funktionen das selber schon ordentlich behandeln.
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#10

Re: Minuszeichen abfangen?

  Alt 7. Okt 2005, 08:18
wie wäre es mit "TryStrToFloat", das versteht optional auch + und - und gibt eine exception, falls doch etwas anderes als Ziffern eingegeben werden .


Chris
Christian Wahl
me, myself and I, die lustigen Drei !!
  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 17:24 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