Problem mit lesen aus ini-Datei
-
Hi @alle,
ich schreibe mehrere Werte aus verschiedenen Steuerelementen in eine ini-Datei, was auch klappt. In der ini-Datei stehen Daten zu verschiedenen Kunden, die ähnlich eines Adressbuchs in einem Dialog eingegeben und auch wieder passend zum Kunden ausgegeben werden. Was mir Probleme bereitet ist das Laden der Daten eines mehrzeiligen Eingabefelds. Ich speichere die Daten des mehrzeiligen Eingabefelds so:
WritePrivateProfileString(strName, "Besonderheiten", m_strBesonderheiten , strPath + "\\Kundendaten.nds");
Das klappt. Ich versuche die Daten so wieder in das Eingabefeld zu laden:
GetPrivateProfileString(strName, "Besonderheiten", NULL, m_strBesonderheiten.GetBuffer(513),512, strPath + "\\Kundendaten.nds"); m_strBesonderheiten.ReleaseBuffer();
Von einer mehrzeiligen Eingabe erscheint aber nur eine Zeile im Eingabefeld. Gebe ich die Daten ohne 'Return' zu drücken ein und benutze die 'Space'-Taste, um in die nächste Zeile zu gelangen klappt das Auslesen aus der ini-Datei.
Weiss jemand wie ich die mehrzeiligen Daten aus der ini-Datei in das Eingabefeld bekomme, so das alle Zeilen angezeigt werden?
-
Geht meines Wissens auch so ohne Weiteres nicht. Andererseits kann die Zeile ziemlich lang sein. Warum wandelst Du nicht die Zeilenschaltungen in irgendeine Kombination (z. B. "\\n") um und nach dem Einlesen wieder zurück?
Eine andere, aber vermutlich komplizierte Möglichkeit ist es, die Besonderheiten als Bereich anzulegen und diesen komplett auszulesen.
-
Weil man manchmal aufm Schlauch steht
Ich danke dir für den Klapps auf den Hinterkopf
Ich werde den Zeilenumbruch abfangen und später zurückwandeln
-
Ich hab da auch Probleme mit. Habe hier mehrere Eingabefelder die mehrzeilig sind und gespeichert werden müssen. Ich habe noch keinen Weg gefunden die zu sichern und wieder zu laden. Hab hier das erwähnte direkt getestet, aber wenn ich die Zeilenschaltung abfange und an den String aus einem Eingabefeld "\\n" dran hänge, dann funktiioniert die Zeilenschaltung nicht mehr und bei jedem "Return" steht da im Eingabefeld \n. Hab ich da irgendwas falsch verstanden?
-
eine ini-datei ist für kundendaten nicht geeignet.
darum nennt man sie ja auch ini-datei. initialisierungsdatei.
hier stehen einstellungen und diese ist keine datenbank.
-
Jörg B. schrieb:
Hab ich da irgendwas falsch verstanden?
Ja, aus "\\n" macht C++ natürlich "\n". Beim Lesen mußt Du "\\n" wieder in "\n" zurückverwandeln.
Ansonsten hat
Unix-Tom schrieb:
eine ini-datei ist für kundendaten nicht geeignet.
darum nennt man sie ja auch ini-datei. initialisierungsdatei.
hier stehen einstellungen und diese ist keine datenbankWobei ich mich nur anschließen kann. Aber auch Konfigurationsdaten können mehrzeilig sein, wenn man es nicht unbedingt vermeiden kann.