Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - StringGrid - floattostr - strtofloat - Fehler durch Komma


loriot - Mi 29.10.08 16:24
Titel: StringGrid - floattostr - strtofloat - Fehler durch Komma
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 !!!


Delete - 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 - 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!