![]() |
Gleitkommazahl
Hallo erst einmal.
Ich bin auch wie viele andere hier neu und Anfänger auf dem Gebiet der Delphi Programmierung. Ich hoffe, dass mir einer von euch bei meinem kleinen Problem helfen kann. Und zwar bekomme ich bei der suche nach einem Max-Wert in einer StringGrid immer die Fehlermeldung "ist kein gültiger Gleitkommawert". Auch das lesen hier im Forum bringt mich erlich gesagt nicht viel weiter vielleicht weiß einer von euch noch einen Rat den ich probieren könnte. hier einmal meine Procedure.
Delphi-Quellcode:
hierbei sei gesagt, dass der Wert Fmax zwischen -0,04 bis 7000,00 alles annehmen kann.
procedure TForm2.Fmax; // maximal auftretende Kraft
var i: integer; x,max: real; Fmax : string; begin DecimalSeparator := ','; with StringGrid1 do for i:= 1 to 360 do begin FMax:= StringGrid1.Cells[3,i]; x:= StrToFloat(FMax); //if x > max then max := x; end end; ich hoffe einer von euch kann mir ein wenig weiter helfen. Gruß und Danke Murdock |
Re: Gleitkommazahl
Delphi-Quellcode:
Hier läuft was Falsch!
// ...
x := StrToFloat( FMax ); // ... kann das sein, dass n einem der Felder kein Wert steht? Wenn das der fall ist, kann der ja ß sein, also teste mal:
Delphi-Quellcode:
Auch kann es an dem DecimalSeparator liegen, vielleicht ist es ja kein "," sondern ein "." ???
// ...
x := StrToFloatDef( FMax, 0 ); // ... Bye |
Re: Gleitkommazahl
Hai Murdock,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS" :hi: Wie Kedariodakon schon geschrieben hat wird der Fehler wohl bei der Umwadlung von dem String aus dem TStringGrid in die Variabel X kommen. Du hast jetzt zwei Möglichkeiten:
In jedem Fall würde ich an deiner Stelle vermeiden den ![]() Nicht der Benutzer muss sich an dein Programm anpassen sondern dein Programm an den Benutzer ;-) |
Re: Gleitkommazahl
Hallo ihr alle beide :-D
Ich danke euch für eure schnellen Antworten und es beweist sich schon wieder einmal, dass wenn man sich austauscht das Problem nur noch halb so groß ist. Ich habe den Fehler jetzt gefunden. Und zwar lag es wirklich daran, dass es kein gültiger Wert war. Ich hatte beim einschreiben der Werte in die Tabelle eine Einheit in Form von 'N' gehängt und dies nicht weiter bedacht. Und somit war es auch kein gültiger Wert mehr. Ich danke euch nochmal für die schnelle Antwort und komme gerne wieder. Gruß Murdock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 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