![]() |
Re: Fragen zum typ Float und ini.WriteFloat
Ich muss doch die Variable in eine FLoat deklarieren, damit ich den Wert
mit dem ini.Writefloat an die Ini Übergeben kann, oder habe ich da was falsch verstanden? |
Re: Fragen zum typ Float und ini.WriteFloat
Nein, als Real oder Double. Es gibt den Typ Float nicht.
|
Re: Fragen zum typ Float und ini.WriteFloat
Ich habe jetzt meine Variable i als Real deklariert.
In der ini Datei kommen aber keine Gleitkommazahlen an.
Delphi-Quellcode:
Hat vielleicht noch jemand einen Vorschlag?
Var
i:real begin edit1.Text:=FloatToStr(i); // Verzeichnispfad aus der Registry lesen Registry := TRegistry.Create; try Registry.RootKey := HKEY_LOCAL_MACHINE; Registry.OpenKey('SOFTWARE\Verzeichnis', False); iniFilePath := Registry.ReadString('iniDatei'); finally Registry.CloseKey; Registry.Free; End; ini.WriteFloat('Schlüssel','Schlüssel',i); ini.free; |
Re: Fragen zum typ Float und ini.WriteFloat
Hast Du überprüft, ob in i auch wirklich der Komma-Wert drin steht? Warum postest Du immer den Registry Code und lässt den Ini-Code ganz weg?
Das eigentliche Schreiben ist richtig. |
Re: Fragen zum typ Float und ini.WriteFloat
Du hast recht, in i steht garkeine Kommazahl drin.
Also jetzt versteh ich garnichts mehr nicht mehr :gruebel: Das Textfeld edit.text wird in eine Datenbank gespeichert.
Delphi-Quellcode:
In der Datenbank kommt der Wert als Kommazahl an und wird auch so wieder aus der Datenbank ausgelesen.
procedur InDBlesen();
SetTableFieldValue('i',Edit.Text); Und warum schreibt er in meine Ini den Wert ohne Komma. Vielleicht gibt es ja auch ganz andere Möglichkeiten meinen Wert als Gleitkommazahl weiter zu geben. Weiß jemand wie man mit der Funktion FormatFloat umgeht? |
Re: Fragen zum typ Float und ini.WriteFloat
Such deine Ini mal auf der Festplatte.
Delphi-Quellcode:
Wharscheinlich kuckst du immer noch in der alten. Dein Code sollte gehen, rein semantisch. Rein logisch ist er Blödsinn:
Registry := TRegistry.Create;
Delphi-Quellcode:
Wie soll hier der Wert von dem Edit in i abgelegt werden, wenn du dem Edit den Wert von i zuweist? :roll:
edit1.Text:=FloatToStr(i);
Wer weis, wo die gelandet ist. :gruebel: |
Re: Fragen zum typ Float und ini.WriteFloat
Du kannst nicht i unbelegt lassen und dann in ein feld schreiben. Wenn du den inhalt des feldes in der ini speichern willst, musst du schreiben:
Delphi-Quellcode:
wenn du einen str in eine real formatieren willst, dann:
ini.writestring(Section,Key,edit1.text);
Delphi-Quellcode:
:warn:
var i: real;
... i:=strtofloat(edit1.tzext); |
Re: Fragen zum typ Float und ini.WriteFloat
Bitte nicht real verwenden, da das in früheren Version eine andere Bedeutung hatte (real48).
sondern Single (das ist das float aus von dem hier gesprochen wurde) bzw. Double (entspricht übrigens real) |
Re: Fragen zum typ Float und ini.WriteFloat
Moin Cathleen,
kann es sein, dass die Nachkomma-Stellen Nullen sind? Dann wäre das, was in der ini steht korrekt. Aus z.B. 11,00 wird dann eben 11. |
Re: Fragen zum typ Float und ini.WriteFloat
Wenn Du nicht rausbekommst, warum in I der Wert schon ohne Komma ist, wird Dir FormatFloat auch nicht weiterhelfen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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