Problem bei ini Lesen (GetPrivateProfileString)

testaaa

Grünschnabel
array -> Combobox zuweisung

Hallo Leute,
so, mein bisheriges Problem mit dem Einlesen der ini File hat sich erledigt.
Aber nun schaffe ich es nicht, die in ein Array (device[50]) eingelesenen Daten aus dem ini mit der Combobox zu Verknuepfen.
Ich habe gelesen dass ich diese Variable (device) als Steuerelement erstellen soll, dann kann ich sie der Combobox als Datenquelle
hinzufuegen. Aber wenn ich ueber den Klassenexplorer eine neue Variable hinzufuege, dann ist das Kaestchen "Control Variable" deaktiviert.

Ich hoffe dass mir einer sagen kann wie ich die Verknuepfung zwischen meinem Array und der Combobox schaffe... Zumal ja die Daten
zwischen 2 Dokumenten hin und her muessen wenn ich das richtig verstanden habe -> also zwischen meiner .cpp und der .h in der die
Definitionen fuer die Fenster und Dropdowns usw stehen.
 
Zuletzt bearbeitet:
So Hallo nochmal,
ich habe es inzwischen geschafft die ini File einzulesen, allerdings bekomme ich ständig Fehler, dass er einen reinterpret_cast benötigt um arbeiten zu können, etc.

Hier mal ein Codeausschnitt:

Code:
	TCHAR ComboDevKeys[10]; 
	TCHAR ComboDevVal[10];


	//Einlesen aller Keys aus Section DEVICE
	GetPrivateProfileString(TEXT("Device"), NULL, NULL, ComboDevKeys, sizeof(ComboDevKeys), TEXT("C:\\Tank.ini"));

        //Einlesen der zu den Keys gehörenden Daten
	for(int i=0; i<sizeof(ComboDevKeys); i++)
	{
		char key = ComboDevKeys[i];
		GetPrivateProfileString(TEXT("Device"),key, NULL, ComboDevVal, sizeof(ComboDevVal), TEXT("C:\\Tank.ini"));
	}

Wenn ich die Arrays nicht als TCHAR deklariere kommen schon die ersten Fehler. Jetzt wenn ich es so habe kommen aber dann Fehler beim zweiten GetPrivate... bei der Variable key. Nämlich:
error C2664: 'GetPrivateProfileStringW': Konvertierung des Parameters 2 von 'char' in 'LPCWSTR' nicht möglich
1> Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat


Ich weiß dass es bissl umständlich ist um an die Einträge zu kommen, aber wenn ich es mit GetPrivateProfileSection einlese, dann liest er die Keys auch mit ein und die stehen dann im Array wo ich sie nicht brauchen kann.
Auf :google: und Konsorten werde ich leider nach wie vor nicht fündig, deshalb hoffe ich dass mir hier jemand weiterhelfen kann... Falls ich es noch verständlicher Erklären soll, einfach sagen
 
So funktioniert's bei dir leider grundsätzlich nicht.

Die vorgesehenen Buffer(ComboDevKeys[10] und ComboDevVal[10]) sind mit 10 Zeichen etwas sehr klein bemessen. Da passt ja kaum ein Eintrag, geschweige denn alle Sections bzw. alle Einträge einer Section hinein. Außerdem solltest du dir noch mal die Beschreibung zu "GetPrivateProfileString()" anschauen: Bei mehreren Einträgen wird ein Eintrag jeweils mit einem Nullzeichen beendet und alles zusammen mit zwei Nullzeichen. Da musst du also noch etwas Mühe aufwenden, die einzelnen Einträge aus dem Buffer herauszuziehen.

Gruß
MCoder
 
Zurück