Autor Beitrag
loriot
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.10.08 16:24 
Hallo,
ich habe folgendes Problem

ich arbeite an folgendem kleinen Projekt:
2 Editfelder - in jedes der 2 müssen (float)Werte eingegeben werden.
Im Editfeld ist nur die Eingabe von z.B. 0,14 erlaubt - bei 0.14 kommt es zur bekannten Fehlermeldung
"0.14" ist kein gültiger Gleitkommawert.

Der größere der beiden wird an ein Stringgrid (hier:Zelle 3,j) übergeben. - bis hier alles i.O.(Wert ist im StringGrid zu sehen. Hier also 0,14 - mit Komma wohlgemerkt!)

Dort soll nun damit weitergearbeitet werden - Berechnung.
...
begin
stringgrid1.Cells[4,j]:=
floattostr(strtofloat(stringgrid1.Cells[3,j])*0.16);
end;
...

Wenn ich hier 0,16 eingebe - Fehler

[Fehler] Unit1.pas(105): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann

Also habe ich auf 0.16 geändert.
Hier kommt nun zur Laufzeit der Fehler "... '''ist kein gültiger Gleitkommawert!..."

Kann mir bitte jemand helfen?!
DANKE !!!
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 29.10.08 16:28 
Du könntest den Decimalseparator entsprechend setzen.

[edit] Andere Möglichkeit: Logik und Darstellung trennen, d.h. Zahl auslesen, damit rechnen und wieder im StringGrid ausgeben, das ist IMHO sauberer. [/edit]
loriot Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.10.08 23:29 
DANKE !!! - Mit dem Decimalseparator habe ich noch nie gearbeitet... Wäre sicher mal interessant und ein eignes Thema (oder wurde das schonmal besprochen...) - ich habe mich für die Trennung von Logik und Darstellung entschieden.

Sind zwar ein paar mehr var nötig - funzt aber sicher!

Danke nochmal!