vorweg wünsche ich euch allen erst mal ein gesundes neues 2024.
Ich bin im Moment ein der Überarbeitung eines Programmes und musste beim testen eben feststellen, das die Übergabe zur Registy wohl ein Bug aufweist.
Vielleicht habe ich auch nur einen Denkfehler, den auch ich nicht ausschließen möchte.
In der FormCreate schaue ich, ob Grundlegende Daten vorhanden sind, wenn nein, da das Programm zum ersten mal läuft, sollen die Daten angelegt werden.
Soweit im ersten Moment auch kein Thema.
Daten werden geschrieben.
Beim Blick in meine Reg.xml musste ich jedoch feststellen, das 3 Testwerte fehlerhaft eingetragen werden.
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<XMLReg>
<Key Name="HKEY_CURRENT_USER">
<Key Name="Software">
<Key Name="Morbis Addison">
<Key Name="Mastersettings">
<Value Name="Global Master File Settings" Type="2">Gesundheit</Value>
<Value Name="Test" Type="1">70</Value> <-- [b]Integer[/b] erwartet
<Value Name="GMD_Set" Type="1">1</Value> <-- [b]Boolean[/b] erwartet
<Value Name="Gewicht" Type="3">9A99999999395140</Value> <-- soll ein [b]Float[/b] sein
</Key>
</Key>
</Key>
</Key>
</XMLReg>
Code: Alles auswählen
Reg := TRegistry.Create;
try
Reg.RootKey := HKEYUSER;
if Reg.KeyExists(ProgKey + PathDelim + 'Mastersettings') = true then begin
Reg.ReadString('Global Master File Settings');
Reg.ReadInteger('Test');
Reg.ReadFloat('Gewicht');
Reg.ReadBool('GMD_Set');
end else begin
Reg.OpenKey(ProgKey + PathDelim + 'Mastersettings', True);
Reg.WriteString('Global Master File Settings', MFD[1]);
Reg.WriteBool('GMD_Set', True);
Reg.WriteInteger('Test', 70);
Reg.WriteFloat('Gewicht', 68.9);
end;
finally
Reg.Free;
end;