<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ComboBox Select in Ini-Datei speichern und auslesen]]></title><description><![CDATA[<p>Hallo.<br />
Ich möchte gerne die letzte Auswahl meiner ComboBox in einer Ini-Datei speichern,<br />
bzw. beim Starten des Programms die letzte Auswahl einlesen und setzen.<br />
Mit WritePrivateProfileString bzw. ReadPrivateProfileString komme ich soweit klar.<br />
Mein Problem ist, dass ich die MemberVariable von CComboBox, m_combo, nicht direkt als Parameter in WritePrivateProfileString einbinden kann.<br />
Kann man das irgendwie wandeln?<br />
Im Moment behelfe ich mir mit Umwegen über Integer beim Einlesen,<br />
aber beim Schreiben habe ich noch nicht getestet über String zu gehen.<br />
Aber generell ist mir das eigentlich zu Umständlich, da ich einige ComboBoxen<br />
verwende und für jede dann 3 Variablen hätte.<br />
Geht das einfacher?<br />
Danke.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188614/combobox-select-in-ini-datei-speichern-und-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 00:47:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188614.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Aug 2007 11:48:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 11:48:19 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich möchte gerne die letzte Auswahl meiner ComboBox in einer Ini-Datei speichern,<br />
bzw. beim Starten des Programms die letzte Auswahl einlesen und setzen.<br />
Mit WritePrivateProfileString bzw. ReadPrivateProfileString komme ich soweit klar.<br />
Mein Problem ist, dass ich die MemberVariable von CComboBox, m_combo, nicht direkt als Parameter in WritePrivateProfileString einbinden kann.<br />
Kann man das irgendwie wandeln?<br />
Im Moment behelfe ich mir mit Umwegen über Integer beim Einlesen,<br />
aber beim Schreiben habe ich noch nicht getestet über String zu gehen.<br />
Aber generell ist mir das eigentlich zu Umständlich, da ich einige ComboBoxen<br />
verwende und für jede dann 3 Variablen hätte.<br />
Geht das einfacher?<br />
Danke.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337211</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 11:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:00:35 GMT]]></title><description><![CDATA[<p>Zeig doch mal den Code, dann fällt es einem leichter. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Hast du GetCurSel und SetCurSel schon gefunden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337225</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:00:35 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:02:49 GMT]]></title><description><![CDATA[<p>Was für einen Typ hat denn m_combo? Und was steht dort drin?</p>
<p>Wenn du die Selektion speichern willst, solltest du lieber über GetCurSel() die Position bestimmen und per WritePrivateProfileInt() schreiben (umgekehrt ReadPrivateProfileInt() und SetCurSel()). (und die Hilfsvariablen brauchst du noch nicht mal in der Klasse - die kannst du lokal in der Ende- bzw. Start-Methode anlegen und wiederverwenden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337230</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:02:49 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:10:26 GMT]]></title><description><![CDATA[<p>SetCurSel und GetCursel verwende ich. Trotzdem Danke.<br />
Also es sieht ungefähr so aus:</p>
<pre><code class="language-cpp">//Beim Starten
GetPrivateProfileString(&quot;Decoder Control&quot;,&quot;Bitstream Detect&quot;,&quot;NULL&quot;,start_loader,destSize,&quot;c:\\DM200\\config.ini&quot;);
iBitstreamDetect = atoi(start_loader); // so lese ich das ein
.
.
m_BitstreamDetect.SetCurSel(iBitstreamDetect); //Wert beim Starten setzen
.//Umweg über int würde ich mir gerne sparen
.
//Beim Beenden
WritePrivateProfileString(&quot;Decoder Control&quot;, &quot;Bitstream Detect&quot;, m_BitstreamDetect, &quot;c:\\DM200\\config.ini&quot;);
</code></pre>
<p>So ungefähr würde ich das gerne speichern aber meckert er wie beschrieben<br />
&quot;Konvertierung von CComboBox in LPCSTR nicht möglich&quot;</p>
<p>Ist mir ja klar. Aber wie konvertiere ich möglichst einfach?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337239</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:10:26 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:14:16 GMT]]></title><description><![CDATA[<p>m_Combo oder in meinem Fall m_BitstreamDetect ist vom Variablentyp CComboBox.<br />
Kategorie: Control<br />
In der Variable steht die aktuelle Selection der ComboBox.<br />
Die Frage ich über CBN_SELCHANGE ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337244</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:18:20 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Wenn du die Selektion speichern willst, solltest du lieber über GetCurSel() die Position bestimmen und per WritePrivateProfileInt() schreiben (umgekehrt ReadPrivateProfileInt() und SetCurSel()). (und die Hilfsvariablen brauchst du noch nicht mal in der Klasse - die kannst du lokal in der Ende- bzw. Start-Methode anlegen und wiederverwenden)</p>
</blockquote>
<p>WritePrivateProfileInt kennt er bei mir nicht. Nur String, Section oder Struct.<br />
Muss ich was includen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337248</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:18:20 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:30:58 GMT]]></title><description><![CDATA[<p>Wenn du mit einem String arbeiten willst, kannst du dir auch mal GetWindowText und SelectString absehen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337263</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:36:54 GMT]]></title><description><![CDATA[<p>estartu schrieb:</p>
<blockquote>
<p>Wenn du mit einem String arbeiten willst, kannst du dir auch mal GetWindowText und SelectString absehen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich weiss nicht ob ich das möchte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Aber ich glaube nicht.<br />
Ich würde gerne möglichst direkt die aktuelle Auswahl der ComboBox (in dem Fall den Zahlenwert der aktuellen Selection) speichern.<br />
Verstehe ich Dich richtig, dass Du vorschlägst nicht den Zahlenwert der Selection,<br />
sondern den Text der sich hinter dieser Selection verbirgt zu speichern?<br />
Werde ich mal bissle probieren. Wobei ich mir das mit den Zahlenwerten einfacher vorstelle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>PS: Falls in diesem Zusammenhang der Begriff Zahlenwert unklar ist:</p>
<p>CComboBox<br />
0 = ComboBox Eintrag1<br />
1 = ComboBox Eintrag2<br />
.<br />
.<br />
.<br />
Das meine ich mit Zahlenwert oder Selection, den ich gerne speichern möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337265</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:36:54 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:39:48 GMT]]></title><description><![CDATA[<p>Mackie1980 schrieb:</p>
<blockquote>
<p>SetCurSel und GetCursel verwende ich. Trotzdem Danke.<br />
Also es sieht ungefähr so aus:</p>
<pre><code class="language-cpp">//Beim Starten
GetPrivateProfileString(&quot;Decoder Control&quot;,&quot;Bitstream Detect&quot;,&quot;NULL&quot;,start_loader,destSize,&quot;c:\\DM200\\config.ini&quot;);
iBitstreamDetect = atoi(start_loader); // so lese ich das ein
.
.
m_BitstreamDetect.SetCurSel(iBitstreamDetect); //Wert beim Starten setzen
.//Umweg über int würde ich mir gerne sparen
.
//Beim Beenden
</code></pre>
<p>So ungefähr würde ich das gerne speichern aber meckert er wie beschrieben<br />
&quot;Konvertierung von CComboBox in LPCSTR nicht möglich&quot;</p>
<p>Ist mir ja klar. Aber wie konvertiere ich möglichst einfach?</p>
</blockquote>
<p>Warum wendest du das Verfahren zum Einlesen nicht umgekehrt an?</p>
<pre><code class="language-cpp">WritePrivateProfileString(&quot;Decoder Control&quot;, &quot;Bitstream Detect&quot;, itoa(m_BitstreamDetect.GetCurSel()), &quot;c:\\DM200\\config.ini&quot;);
</code></pre>
<p>(itoa() als Umkehrung zu atoi müsstest du dir selber schreiben - z.B. mit sprintf() oder CString::Format())</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337270</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:39:48 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:44:20 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Was für einen Typ hat denn m_combo? Und was steht dort drin?</p>
<p>Wenn du die Selektion speichern willst, solltest du lieber über GetCurSel() die Position bestimmen und per WritePrivateProfileInt() schreiben (umgekehrt ReadPrivateProfileInt() und SetCurSel()). (und die Hilfsvariablen brauchst du noch nicht mal in der Klasse - die kannst du lokal in der Ende- bzw. Start-Methode anlegen und wiederverwenden)</p>
</blockquote>
<p>Also das mit dem Wandeln in Int und ne Hilfsvariable, die ich wiederverwenden kann,<br />
hab ich gecheckert. Aber WritePrivateProfileInt frisste er bei mir nicht.<br />
Und ohne den Befehl machts keinen Spaß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Wäre aber Lösung mit der ich leben könnte über int zu gehen.<br />
Daher wie komme ich an WritePrivateProfileInt?<br />
Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337275</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 12:55:25 GMT]]></title><description><![CDATA[<p>Ich dachte wirklich, die Funktion gibt's - aber die MSDN hat mich da (leider) eines besseren belehrt. Du mußt wohl doch über zwei (möglicherweise temporäre) Zwischenvariablen gehen, indem du den Rückgabewert von GetCurSel() in einen String schreibst und diesen dann an WritePrivateProfileString weitergibst (siehe mein voriger Beitrag).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337290</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 13:13:25 GMT]]></title><description><![CDATA[<p>Auch Moderatoren können/dürfen sich mal irren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Also das Schreiben habe ich jetzt so gelöst:</p>
<pre><code class="language-cpp">WritePrivateProfileString(&quot;Decoder Control&quot;, &quot;Bitstream Detect&quot;, itoa(m_BitstreamDetect.GetCurSel(), start_loader, 10), &quot;c:\\DM200\\config.ini&quot;);
</code></pre>
<p>Super! Danke.<br />
Aber das Lesen macht mir noch Sorgen:</p>
<pre><code class="language-cpp">GetPrivateProfileString(&quot;Decoder Control&quot;,&quot;Bitstream Detect&quot;,&quot;NULL&quot;,start_loader,destSize,&quot;c:\\DM200\\config.ini&quot;);
iBitstreamDetect = atoi(start_loader);
//start_loader ist Variable die für alle eingelesenen Werte und beim Beenden
//für alle geschriebenen Werte genutzt wird
</code></pre>
<p>Geht das nicht noch einfacher? Einzeiler?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337303</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 13:13:25 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 13:16:52 GMT]]></title><description><![CDATA[<p>Bau dir die fehlende Funktion doch einfach selber.<br />
Wenn ich dich richtig verstanden habe, hast du ja noch mehr Werte zu speichern. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337309</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 02 Aug 2007 13:16:52 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 13:19:48 GMT]]></title><description><![CDATA[<p>Hmm, du könntest dir die ..Int()-Varianten auch selber schreiben und dort drin die Umwandlungen atoi() bzw. itoa() gleich kapseln.</p>
<p>Bei deinem Code kannst du auf jeden Fall die Zwischenspeicherung weglassen und direkt <code>m_BitStreamDetect.SetCurSel(atoi(start_loader));</code> schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337311</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Aug 2007 13:19:48 GMT</pubDate></item><item><title><![CDATA[Reply to ComboBox Select in Ini-Datei speichern und auslesen on Thu, 02 Aug 2007 14:15:44 GMT]]></title><description><![CDATA[<p>Also vielen Dank für die Hilfe.<br />
Habe mir jetzt, wie CStoll vorgeschlagen hat, den Zwischenschritt gespart und so komme ich gut hin.<br />
Mit einem Zweizeiler beim Einlesen kann ich leben.<br />
Bleibt halt einfach eine Menge an Daten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Nochmal vielen Dank für Eure Hilfe.</p>
<p>Nach dem Problem ist vor dem Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Habe die nächste Frage.<br />
Weiss nicht ob ich jetzt einen neuen Thread hätte eröffnen sollen, aber ich probiere es mal so da es noch mit dem Thema zu tun hat.</p>
<p>Wenn in meinem Programm in einer ComboBox eine Selection ausgewählt wird,<br />
wird diese natürlich ausgewertet und damit ist eine Befehlsausgabe an der RS232<br />
verbunden. Der PC ist mit einer Messkarte verbunden, die dann angesteuert wird und<br />
irgendwelche Settings verändert werden.<br />
Jetzt aber mein Problem:<br />
Wie bekomme ich es hin, dass wenn ich das Programm starte und die ComboBoxen auf die letzten Einträge wieder eingestellt werden (config.ini auslesen), auch alle diese Befehle nacheinander, die jeweils mit einem Eintrag in den ComboBoxen verknüpft sind, an der RS232 ausgegeben werden.<br />
Es sollen also alle Settings der letzten Messung wieder hergestellt werden.<br />
Die Werte werden ja in meine config.ini gespeichert.<br />
Gibt es dafür auch ein Ereignishandle oder sowas?<br />
Hab keine Idee. Vielleicht sitze ich auch schon einfach zu lange vor der Kiste <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337371</guid><dc:creator><![CDATA[Mackie1980]]></dc:creator><pubDate>Thu, 02 Aug 2007 14:15:44 GMT</pubDate></item></channel></rss>