QSettings und spezielle Zeichen
QSettings und spezielle Zeichen
Hallo,
ich bin ziemlich neu in QT. Ich möchte eine INI-Datei auslesen und habe das auch leidlich mit QSettings geschafft. Ich kann mich auch damit abfinden das der Backslash ("\") innerhalb eines Keys Probleme macht.
aber ist es nicht möglich ";" (Semikolon) oder "," (Komma) in einem Key zu verwenden? Bei einem Semikolon wird der Key nur bis genau dahin gelesen und bei einem Komma wird der gesamte Key ignoriert.
Ist das änderbar und wenn ja, wie?
Danke und Grüße,
Willi
ich bin ziemlich neu in QT. Ich möchte eine INI-Datei auslesen und habe das auch leidlich mit QSettings geschafft. Ich kann mich auch damit abfinden das der Backslash ("\") innerhalb eines Keys Probleme macht.
aber ist es nicht möglich ";" (Semikolon) oder "," (Komma) in einem Key zu verwenden? Bei einem Semikolon wird der Key nur bis genau dahin gelesen und bei einem Komma wird der gesamte Key ignoriert.
Ist das änderbar und wenn ja, wie?
Danke und Grüße,
Willi
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Du schreibst Daten mit QSettings und kannst sie später nicht mehr damit einlesen? Oder möchtest Du eine nicht mit QSettings erstellt ini-Datei einlesen?
Die von Dir erwähnten Zeichen müssen escaped werden damit sie korrekt als Zeichen und nicht als Separator usw. erkannt werden.
Die von Dir erwähnten Zeichen müssen escaped werden damit sie korrekt als Zeichen und nicht als Separator usw. erkannt werden.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
spannend... ich dachte bisher immer, dass nur nur (back)slash betroffen sind:
wie z.B.
http://trolltech.com/developer/task-tra ... &id=131818
Alle weiteren Zeichen sind IMHO Bugs..Do not use slashes ('/' and '\') in key names; the backslash character is used to separate sub keys (see below). On windows '\' are converted by QSettings to '/', which makes them identical.
wie z.B.
http://trolltech.com/developer/task-tra ... &id=131818
Hm, ich nutze aber 4.4 und da ist der Bug mit dem Semikolon immer noch (oder wieder?) vorhanden? Und das mit dem Komma finde ich noch verwunderlicher. Sollte ich da einen Bug melden?solarix hat geschrieben:spannend... ich dachte bisher immer, dass nur nur (back)slash betroffen sind:Alle weiteren Zeichen sind IMHO Bugs..Do not use slashes ('/' and '\') in key names; the backslash character is used to separate sub keys (see below). On windows '\' are converted by QSettings to '/', which makes them identical.
wie z.B.
http://trolltech.com/developer/task-tra ... &id=131818
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Also
funktioniert einwandfrei... in der Config-File wird
eingetragen... ich denke jetzt ist klar, wie du die Daten zu speichern hast..
Code: Alles auswählen
#include <QCoreApplication>
#include <QSettings>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication::setOrganizationName("MySoft");
QCoreApplication::setOrganizationDomain("mysoft.com");
QCoreApplication::setApplicationName("Star Runner");
{
QSettings settings;
settings.setValue("test;1", ";string;test");
settings.setValue("test,2", ",string,test");
}
{
QSettings settings;
qDebug() << settings.value("test;1");
qDebug() << settings.value("test,2");
}
}
Code: Alles auswählen
[General]
test%2C2=",string,test"
test1="string;test"
test2="string,test"
test%3B1=";string;test"