Linux Preference . , Problem

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
mbvwt4
Beiträge: 18
Registriert: 17.11.2006 10:33
Wohnort: bei Siegen

Linux Preference . , Problem

Beitrag von mbvwt4 »

Hallo,

ich habe folgendes Problem unter Linux bemerkt: Wenn man eine Preference Datei erzeugt, in der eine Float oder Double Varriable abgelegt wird, so wie in folgenden Beispiel:

Code: Alles auswählen

  If CreatePreferences("/home/marcus/sen1.ini")
    PreferenceGroup("Window")
    WritePreferenceLong ("WindowX", 123)
    WritePreferenceLong ("WindowY", 124)
    WritePreferenceDouble("Double", 11.12345)
    WritePreferenceFloat("Float", -123.54321)
    ClosePreferences()
  EndIf
Diese dann wieder einliest aber mit den Zusatz eines MessageRequester:

Code: Alles auswählen

  If OpenPreferences("/home/marcus/sen1.ini")
    PreferenceGroup("Window")
    Debug ReadPreferenceLong ("WindowX", 0)
    Debug ReadPreferenceLong ("WindowY", 0)
    Debug ReadPreferenceDouble("Double", 0)
    Debug ReadPreferenceFloat("Float", 0)
    ClosePreferences()
  EndIf
  MessageRequester("Test","Test")
dann erscheinen die Float und Double Varriable ohne Nachkommastellen.

Umgekehrt beim erstellen der INI Datei mit Zusatz eines MessageRequester und anschließenden einlesen, aber hier dann ohne MessageRequester, erscheinen die Float und Double Varriable wieder ohne Nachkommastellen.
Wenn man dann die INI Datei mit einem Editor betrachtet sind die Float und Double Varriable nicht mit einen Punkt als Dezimaltrennung aufgeführt sondern mit einen Komma. :shock:
Man hat den Eindruck, dass man mit dem MessageRequester einstellen kann, das ein Punkt oder ein Komma als Dezimaltrennung verwendet werden soll.

Ich habe dies auf zwei Rechnen unter Ubuntu 10.04LTS bemerkt. Ich bin mir nicht sicher ob dies ein Bug ist oder ob dies einen anderen Grund hat, vieleicht kann jemand weiterhelfen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Linux Preference . , Problem

Beitrag von ts-soft »

Bestätigt!

Sehr merkwürdiger bug, kann ihn aber bestätigen und habe ihn im engl. Forum gemeldet:
http://www.purebasic.fr/english/viewtop ... 45#p425045

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
mbvwt4
Beiträge: 18
Registriert: 17.11.2006 10:33
Wohnort: bei Siegen

Re: Linux Preference . , Problem

Beitrag von mbvwt4 »

Ich habe festgestellt das dieses Problem mit allen Requestern in Verbindung steht. Welche Möglichkeiten habe ich nun, alle INI - Dateien auf Komma umstellen?
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Linux Preference . , Problem

Beitrag von HeX0R »

Du könntest es als String speichern via StrF und StrD.

Oder, falls Du die Ini nicht in einem Editor betrachten/verändern möchtest, als Long

Code: Alles auswählen

WritePreferenceLong("DeinFloat", PeekL(@DeinFloat.f))
oder Quad

Code: Alles auswählen

WritePreferenceQuad("DeinDouble", PeekQ(@DeinDouble.d))
und dann wieder als Long bzw Quad einlesen und in eine Variable "poken":

Code: Alles auswählen

PokeL(@DeinFloat.f, ReadPreferenceLong("DeinFLoat", 0))
bzw.

Code: Alles auswählen

PokeQ(@DeinDouble.d, ReadPreferenceQuad("DeinDouble", 0))
Ist natürlich alles eine Krücke, aber solange der Fehler besteht...
Antworten