<?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[Vector: Problem beim auslesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>irgendwie hab ich ein Verständnisproblem mit Vectoren.</p>
<p>Also ich habe eine Struktur angelegt</p>
<pre><code class="language-cpp">// in .h
struct TagesProg
{
	// int TagesProgID;
	CStringArray m_strEvent;
	CStringArray m_strTime;
	CStringArray m_strSender;
	CStringArray m_strChannel;
	CStringArray m_strOnAir;
};
</code></pre>
<p>Dann habe ich einen Vector draufgelegt.</p>
<pre><code class="language-cpp">// in .cpp
#include &lt;vector&gt;
#include &lt;algorithm&gt;

vector&lt;TagesProg *&gt; myVectorTagesprog;
</code></pre>
<p>Dieser Vector wird in einer Funktion gefüllt.</p>
<pre><code class="language-cpp">while(j &lt; strAEvent.GetSize())
{
	TagesProg *pTProg = new TagesProg;	
      myVectorTagesprog.push_back(pTProg);	
	while( -1 != (pos = strAEvent[j].Find(';',pos)))
	{
		switch (n_Trenner)
		{
		case 0:
			pTProg-&gt;m_strTime.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 1:
			pTProg-&gt;m_strEvent.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 2:
			pTProg-&gt;m_strSender.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 3:
			pTProg-&gt;m_strChannel.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 4:
		pTProg-&gt;m_strOnAir.Add(strAEvent[j].Mid(old, pos - old));
			break;
		}
		old = ++pos;
		n_Trenner++;
	}
	j++;
	old = 0;
	pos = 0;
	n_Trenner = 0;
}
</code></pre>
<p>Jetzt möchte ich den Vector auslesen und in einem CListCtrl packen.<br />
Mit nem normalen CStringArray habe ich das auch schon geschaft, aber irgendwie klappt das mit dem Vector nicht. pTProg erkennt er irgendwie nicht. Wohl weil pTProg erst in der while-Schleife lokal deklariert wird, aber global läßt der sich nicht anlegen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wie kann ich die Daten des Vectors wieder auslesen <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/topic/73620/vector-problem-beim-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 22:03:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/73620.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 May 2004 09:00:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 09:33:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>irgendwie hab ich ein Verständnisproblem mit Vectoren.</p>
<p>Also ich habe eine Struktur angelegt</p>
<pre><code class="language-cpp">// in .h
struct TagesProg
{
	// int TagesProgID;
	CStringArray m_strEvent;
	CStringArray m_strTime;
	CStringArray m_strSender;
	CStringArray m_strChannel;
	CStringArray m_strOnAir;
};
</code></pre>
<p>Dann habe ich einen Vector draufgelegt.</p>
<pre><code class="language-cpp">// in .cpp
#include &lt;vector&gt;
#include &lt;algorithm&gt;

vector&lt;TagesProg *&gt; myVectorTagesprog;
</code></pre>
<p>Dieser Vector wird in einer Funktion gefüllt.</p>
<pre><code class="language-cpp">while(j &lt; strAEvent.GetSize())
{
	TagesProg *pTProg = new TagesProg;	
      myVectorTagesprog.push_back(pTProg);	
	while( -1 != (pos = strAEvent[j].Find(';',pos)))
	{
		switch (n_Trenner)
		{
		case 0:
			pTProg-&gt;m_strTime.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 1:
			pTProg-&gt;m_strEvent.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 2:
			pTProg-&gt;m_strSender.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 3:
			pTProg-&gt;m_strChannel.Add(strAEvent[j].Mid(old, pos - old));
			break;
		case 4:
		pTProg-&gt;m_strOnAir.Add(strAEvent[j].Mid(old, pos - old));
			break;
		}
		old = ++pos;
		n_Trenner++;
	}
	j++;
	old = 0;
	pos = 0;
	n_Trenner = 0;
}
</code></pre>
<p>Jetzt möchte ich den Vector auslesen und in einem CListCtrl packen.<br />
Mit nem normalen CStringArray habe ich das auch schon geschaft, aber irgendwie klappt das mit dem Vector nicht. pTProg erkennt er irgendwie nicht. Wohl weil pTProg erst in der while-Schleife lokal deklariert wird, aber global läßt der sich nicht anlegen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wie kann ich die Daten des Vectors wieder auslesen <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/518729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/518729</guid><dc:creator><![CDATA[Trikor]]></dc:creator><pubDate>Wed, 12 May 2004 09:33:52 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 09:08:02 GMT]]></title><description><![CDATA[<p>1. ich seh kein push_back in deinem code oben, wo genau füllst du denn den vector??<br />
2.</p>
<blockquote>
<p>Mit nem normalen CStringArray habe ich das auch schon geschaft, aber irgendwie klappt das mit dem Vector nicht. pTProg erkennt er irgendwie nicht.</p>
</blockquote>
<p><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="😕"
    /> <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="😕"
    /><br />
zeig mal wie du aus dem vector liest</p>
]]></description><link>https://www.c-plusplus.net/forum/post/518737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/518737</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 12 May 2004 09:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 09:39:00 GMT]]></title><description><![CDATA[<p>CMatt schrieb:</p>
<blockquote>
<p>1. ich seh kein push_back in deinem code oben, wo genau füllst du denn den vector??<br />
2.</p>
<blockquote>
<p>Mit nem normalen CStringArray habe ich das auch schon geschaft, aber irgendwie klappt das mit dem Vector nicht. pTProg erkennt er irgendwie nicht.</p>
</blockquote>
<p><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="😕"
    /> <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="😕"
    /><br />
zeig mal wie du aus dem vector liest</p>
</blockquote>
<p>Zu 1:<br />
Sorry, hab ich vergessen. Hatte die Funktion mal geschrieben, aber dann wieder gelöscht und es mit CStringArray´s versucht. Ich komm aber anscheinend nicht um Vector herum. Die push_back habe ich jetzt im ersten Posting eingefügt.</p>
<p>Zu 2:<br />
Im Augenblick lese ich den Vector noch gar nicht aus. Das ist ja mein Problem. Ich hatte es bisher mit CStringArray´s gemacht.</p>
<pre><code class="language-cpp">int nItem;
	int nAnzahlEintraege = j;
	if( nAnzahlEintraege &gt; 11)
		m_lcProgramm.SetWindowPos(NULL, 10, 50, 522, 200, SWP_NOZORDER);

	for(int i = 0; i &lt; nAnzahlEintraege; i++)
	{
		nItem = m_lcProgramm.GetItemCount();
		nItem = m_lcProgramm.InsertItem(nItem, &amp;m_strTime.ElementAt(i),-1); 
		m_lcProgramm.SetItem(nItem,0, (DWORD) &amp;m_strTime[0],NULL,0,0,0,NULL);
		m_lcProgramm.SetItemText(nItem, 1, m_strEvent.ElementAt(i));
		m_lcProgramm.SetItem(nItem,0, (DWORD) &amp;m_strEvent[0],NULL,0,0,0,NULL);
		m_lcProgramm.SetItemText(nItem, 2, m_strSender.ElementAt(i)); 
		m_lcProgramm.SetItem(nItem,0, (DWORD) &amp;m_strSender[0],NULL,0,0,0,NULL);
		m_lcProgramm.SetItemText(nItem, 3, m_strStart.ElementAt(i));	
		m_lcProgramm.SetItem(nItem, (DWORD) &amp;m_strStart[0],NULL,0,0,0,NULL);
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/518758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/518758</guid><dc:creator><![CDATA[Trikor]]></dc:creator><pubDate>Wed, 12 May 2004 09:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 14:10:22 GMT]]></title><description><![CDATA[<p>***mach aktuell***</p>
<p>Wie kann ich denn jetzt ein Vector auslesen? <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/519020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519020</guid><dc:creator><![CDATA[Trikor]]></dc:creator><pubDate>Wed, 12 May 2004 14:10:22 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 15:29:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// zugriff aufs erste element im vector
myVectorTagesprog[0]-&gt;m_strEvent;
myVectorTagesprog[0]-&gt;m_strTime;
// zugriff aufs zweite ..
myVectorTagesprog[1]-&gt;m_strEvent;
myVectorTagesprog[1]-&gt;m_strTime;
...
</code></pre>
<p>versteht leider immer noch net wo es eigentlich hängt <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/519088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519088</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 12 May 2004 15:29:31 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Wed, 12 May 2004 18:09:56 GMT]]></title><description><![CDATA[<p>Hi CMatt,</p>
<p>mein Hauptproblem ist, das ich im Moment eigentlich noch nicht genau weiß, wie ich mein Softwareproblem angehen soll. Mal ne kurze Erklärung dazu.<br />
Ich bekomme von einer Website x-Datensätze.<br />
D.h.<br />
x mal m_strTime, m_strEvent, m_strSender, m_strChannel und m_strOnAir.</p>
<p>Hiermit muß ich eine CListCtrl füllen und dieses muß anschließend sortiert werden.</p>
<p>Nach dem es sortiert wurde muß ich aber noch irgendwie die richtigen Datensätze ansprechen können. Also z.B.</p>
<p>Ich bekomme von der Webseite Daten, die so angezeigt werden müssen.</p>
<p>Uhrzeit____Event________Streamer_________Channel____OnAir</p>
<p>20:15______Skat_________Michael__________30_________Ja<br />
20:15______Skat_________Frank____________33_________Ja<br />
20:15______Skat_________Andreas__________35_________Nein<br />
21:15______Doppelkopf____Sepp_____________42_________Nein<br />
21:15______Doppelkopf____Jupp_____________45_________Nein<br />
21:15______Doppelkopf____Michaela_________65_________Nein<br />
21:15______Doppelkopf____Ellen____________543________Nein<br />
21:15______Skat_________Jack_____________47_________Nein<br />
21:15______Skat_________Fritz____________87_________Nein</p>
<p>Wenn der User jetzt die Spalte</p>
<p>20:15_________Skat_________Frank_________33_________Ja</p>
<p>anklickt, müssen die Daten für das Event 20:15 Skat an das Hauptfenster übergeben werden. Dann soll im Hauptfenster ein Editfeld das Wort Skat kriegen<br />
und in einer ComboBox die Auswahl zwischen Michael, Frank und Andreas (wobei Frank in der Liste ganz oben ist.</p>
<p>Ich hatte das ganze erst mit CStringArray versucht (siehe oben), kriege das aber nicht so hin wie ich will.<br />
Wie sollte ich dabei jetzt vorgehen? <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="😕"
    /> <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="😕"
    /><br />
Sollte ich in der Struktur mit CStringArray arbeiten und nur einen Vector drauflegen, oder mit CStringArray arbeiten und für jedes Event ein neues Vectorelement anlegen, oder nur CString und kein CStringArray in der Struktur haben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Und wenn ich mit Vector arbeite, wie setze ich dann das SetItem, damit das CListCtrl anschließend sortiert werden kann?</p>
<p>Fragen über Fragen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/519203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519203</guid><dc:creator><![CDATA[Trikor]]></dc:creator><pubDate>Wed, 12 May 2004 18:09:56 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Thu, 13 May 2004 06:42:57 GMT]]></title><description><![CDATA[<blockquote>
<p>mein Hauptproblem ist, das ich im Moment eigentlich noch nicht genau weiß, wie ich mein Softwareproblem angehen soll.</p>
</blockquote>
<p>Einen groben Plan sollte man schon vorher haben... IMHO</p>
<blockquote>
<p>Ich bekomme von einer Website x-Datensätze.<br />
D.h.<br />
x mal m_strTime, m_strEvent, m_strSender, m_strChannel und m_strOnAir.</p>
</blockquote>
<p>Na prima, dann legst Du 5 Vektoren an und machst per empfagenen Datensatz<br />
5x pushback (je vektor 1x :-))</p>
<blockquote>
<p>Hiermit muß ich eine CListCtrl füllen und dieses muß anschließend sortiert werden.</p>
</blockquote>
<p>Das ListCtrl kannst Du aus den vektoren füttern.</p>
<blockquote>
<p>Nach dem es sortiert wurde muß ich aber noch irgendwie die richtigen Datensätze ansprechen können. Also z.B.</p>
</blockquote>
<p>Hint: über &quot;Index&quot; zugreifen.</p>
<blockquote>
<p>Wenn der User jetzt die Spalte</p>
<p>20:15_________Skat_________Frank_________33_________Ja</p>
<p>anklickt, müssen die Daten für das Event 20:15 Skat an das Hauptfenster übergeben werden. Dann soll im Hauptfenster ein Editfeld das Wort Skat kriegen<br />
und in einer ComboBox die Auswahl zwischen Michael, Frank und Andreas (wobei Frank in der Liste ganz oben ist.</p>
</blockquote>
<p>Wie gesagt, Du ermittelst _einen_ entsprechenden Index und kannst<br />
dann alle beleibigen Daten dieses Datensatzes weiterverarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/519421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519421</guid><dc:creator><![CDATA[MSDN_Hasser]]></dc:creator><pubDate>Thu, 13 May 2004 06:42:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Thu, 13 May 2004 08:10:49 GMT]]></title><description><![CDATA[<p>MSDN_Hasser schrieb:</p>
<blockquote>
<p>mein Hauptproblem ist, das ich im Moment eigentlich noch nicht genau weiß, wie ich mein Softwareproblem angehen soll.</p>
<blockquote>
<p>Einen groben Plan sollte man schon vorher haben... IMHO</p>
</blockquote>
</blockquote>
<p>Nen groben Plan hab ich schon. Oben steht ja beschrieben, wie das Ergebnis aussehen soll. Der Weg ist nur noch nicht ganz klar.</p>
<p>MSDN_Hasser schrieb:</p>
<blockquote>
<p>Ich bekomme von einer Website x-Datensätze.<br />
D.h.<br />
x mal m_strTime, m_strEvent, m_strSender, m_strChannel und m_strOnAir.</p>
<blockquote>
<p>Na prima, dann legst Du 5 Vektoren an und machst per empfagenen Datensatz<br />
5x pushback (je vektor 1x :-))</p>
</blockquote>
</blockquote>
<p>Wie meinst Du das?<br />
**<br />
5 Vectoren =<br />
1 Vector CString m_strTime,<br />
1 Vector CString m_strEvent,<br />
1 Vector CString m_strSender,<br />
1 Vector CString m_strChannel und<br />
1 Vector CString m_strOnAir<br />
???<br />
**<br />
Wie soll ich denn da rauskriegen, welcher Eintrag zu welchen Event gehört?<br />
Und wie müsste ich SetItem setzten, damit die Ausgabe sortiert wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/519459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519459</guid><dc:creator><![CDATA[Trikor]]></dc:creator><pubDate>Thu, 13 May 2004 08:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Vector: Problem beim auslesen on Thu, 13 May 2004 08:50:27 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie meinst Du das?</p>
<p>5 Vectoren =<br />
1 Vector CString m_strTime,<br />
1 Vector CString m_strEvent,<br />
1 Vector CString m_strSender,<br />
1 Vector CString m_strChannel und<br />
1 Vector CString m_strOnAir<br />
???</p>
</blockquote>
<p>Ja, genau so. Diese dienen als Container, die das Abbild der Daten<br />
von Deiner Website enthalten.</p>
<blockquote>
<p>Wie soll ich denn da rauskriegen, welcher Eintrag zu welchen Event gehört?</p>
</blockquote>
<p>Wenn du jeden Datensatz nach und nach abspeicherst, müssen diese Daten<br />
konsistent bleiben. Egal von welchem vektor Du [5] ausgibst - es gehört<br />
dann immer zum 5. Datensatz.<br />
Klar, daß in diesen Vektoren nichts sortiert oder umhergeschoben werden darf,<br />
sonst ists vorbei mit der konsistenten Zuordnung.</p>
<blockquote>
<p>Und wie müsste ich SetItem setzten, damit die Ausgabe sortiert wird?</p>
</blockquote>
<p>Du nimmst den Vektor, der die Daten enthält, nach denen gesucht werden<br />
muß. Dann ermittelst Du die Reihenfolge (nicht den vektor verändern!) wie die Daten sortiert werden sollen, also die Indizes, und füllst dann anhand dieser die Lisbox.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/519481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/519481</guid><dc:creator><![CDATA[MSDN_Hasser]]></dc:creator><pubDate>Thu, 13 May 2004 08:50:27 GMT</pubDate></item></channel></rss>