![]() |
Re: Problem Mit FloatToStr
Hm... manchmal frage ich mich wirklich was der bessere Weg ist. Neue Loesungen zu zeigen oder Fehler zu berichtigen ? Ist ja schoen und gut, wenn der Threadstarter nun eine Loesung bekommt, aber :
Delphi-Quellcode:
Ueber dieses sonderbare Konstrukt verliert niemand ein Wort. *gruebel*. Ist ja nicht schlimm, wenn man sowas mal verzapft, aber wenn nur fertige Loesungen angeboten werden anstatt mal ein
if erg1[i+3]='5' or if erg1[i+3]='6' or if erg1[i+3]='7' or if erg1[i+3]='8' or if erg1[i+3]='9' then
Delphi-Quellcode:
anzubieten, dann gibt's erst einmal ein Erfolgserlebnis -- die naechste or-Verknuepfung auf eigene Faust wird aber definitiv wieder in die Hose gehen. Ich selber finde das sehr viel hilfreicher, wenn man mir ERST erklaert, was ich auf jeden Fall verkehrt gemacht habe und DANN, wie ich's noch besser und eleganter loesen kann ;-)
if (erg1[i+3]='5') or (erg1[i+3]='6') or (erg1[i+3]='7') or (erg1[i+3]='8') or (erg1[i+3]='9') then
Gruesse, Lizzy |
Re: Problem Mit FloatToStr
Hallo inherited!
Auch wenn das Problem an sich gelöst ist, noch der Grund für die Fehlermeldung - damit beim nächsten Mal nicht wieder eine Frage nötig ist. Der Fehler liegt in dieser Zeile:
Delphi-Quellcode:
Das ist so syntaktisch falsch und verursacht die Fehlermeldung! Richtig ist:
if erg1[i+3]='5' or if erg1[i+3]='6' or if erg1[i+3]='7' or if erg1[i+3]='8' or if erg1[i+3]='9' then
Delphi-Quellcode:
Die Fehlermeldung bei einer tieferen Zeile kommt daher, daß Deine if-Zeile nicht korrekt ausgewertet werden kann und deshalb die nächste Zeile als zum Statement gehörend betrachtet wird.
if (erg1[i+3]='5') or (erg1[i+3]='6') or (erg1[i+3]='7') or (erg1[i+3]='8') or (erg1[i+3]='9') then
Dasselbe findet man ja auch bei einem vergessenen Semikolon am Ende der Anweisung - dann ist die Folgeanweisung angeblich fehlerhaft. Gruß Dietmar Brüggendiek Edit: Roter Kasten, wo bist du? |
Re: Problem Mit FloatToStr
Guten Morgen, Lizzy.
Zitat:
Es ist nicht immer leicht den Kenntnisstand des Hilfesuchenden korrekt einzuschätzen und auch die Probleme selbst werden oft diffus vorgetragen. Im konkreten Fall kam ich zu dem Schluss, dass es um das Rundungsergebnis geht. Ich hätte die D7 Signatur von Round (hallo alzaimar) posten können und fertig, aber leider konnte ich mit meinem löchrigen Gedächtnis nicht mit Bestimmtheit sagen, dass es in D3 schon den Datentyp Extended gab. Hätte ich den Eindruck gewonnen, es ginge mehr um den Weg als das Ziel, dann hätte ich aus didaktischen Gründen nicht bei der Klammerung aufgehört:
Delphi-Quellcode:
Und selbst hier darf dann nicht Schluss sein - aber ich muss meine Zeit einteilen. Sollte ich mich wieder einmal falsch entschieden haben, so tut es mir leid. Es wird noch öfter vorkommen. Ich werde damit leben müssen. Und die community auch.
// besser so
if (erg1[i+3]='5') or (erg1[i+3]='6') or (erg1[i+3]='7') or (erg1[i+3]='8') or (erg1[i+3]='9') then begin end; // und noch besser so if erg1[i+3] in ['5'..'9'] then begin end; Freundliche Grüße vom marabu |
Re: Problem Mit FloatToStr
Zitat:
Zitat:
Zitat:
|
Re: Problem Mit FloatToStr
ich brauche ja nicht mehr als 3 angezeigte stellen, mit der 4. wird gerundet, also sollten 8 mehr als genug sein.
Jetzt wo dus das mit den Klammern sagst... omfg bin ich dumm. blackout oder so (wo habt ihr eigentlich eure höheren delphi-versionen her) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr. |
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