<?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[Suchfunktion wie bei Visual Studio Help]]></title><description><![CDATA[<p>Hi</p>
<p>strcmp vergleicht ob beide strings gleich sind und strstr ob ein teilstring im string enthalten ist. Mit welcher String Funktion kann ich das hier machen was ich vor hab ?</p>
<p>ich möchte eine Suchfunktion schreiben welche bei jeder Tasteneingabe in ein TextEdit Feld, denn Inhalt einer Listbox durchsucht und bei Übereinstimmung die Zeile in meiner Listbox (CListCtrl) markiert. <strong>So funktioniert auch doch die Suchfunktion bei von Visual Studio NET Help wenn man nach dem Index sucht.</strong></p>
<p>Ich weiss nur nicht wie ich denn vergleich machen soll. Gibt es überhaubt eine String Vergleichs Funktion bei der ich sagen auf welcher postition verglichen werden muss ?</p>
<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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/75209/suchfunktion-wie-bei-visual-studio-help</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 06:33:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/75209.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 28 May 2004 10:26:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 10:27:49 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>strcmp vergleicht ob beide strings gleich sind und strstr ob ein teilstring im string enthalten ist. Mit welcher String Funktion kann ich das hier machen was ich vor hab ?</p>
<p>ich möchte eine Suchfunktion schreiben welche bei jeder Tasteneingabe in ein TextEdit Feld, denn Inhalt einer Listbox durchsucht und bei Übereinstimmung die Zeile in meiner Listbox (CListCtrl) markiert. <strong>So funktioniert auch doch die Suchfunktion bei von Visual Studio NET Help wenn man nach dem Index sucht.</strong></p>
<p>Ich weiss nur nicht wie ich denn vergleich machen soll. Gibt es überhaubt eine String Vergleichs Funktion bei der ich sagen auf welcher postition verglichen werden muss ?</p>
<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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/528876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528876</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 10:27:49 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 11:18:05 GMT]]></title><description><![CDATA[<p>Ok, vielleicht hilft's weiter:</p>
<p>Wenn du z.B. nach dem Wort <strong>string</strong> suchst, dann ist die Eingabe:<br />
s<br />
st<br />
str<br />
stri.. usw.</p>
<p>Um das Problem relativ leicht zu lösen fällt mir momentan nur eins ein: <strong>Reguläre Ausdrücke</strong>.</p>
<p>1. Eine Schleife um deine Suchbegriffe<br />
2. Eine kleine Funktion, etwa so:</p>
<pre><code class="language-cpp">bool find(const TCHAR *s)
{    
	//   \ wird als \\ notiert!	
	static const boost::regex e(&quot;[0-9][0-9]\\:[0-9][0-9]\\.[0-9][A|B]&quot;); // hier dein regulärer Ausdruck, z.B. s*, st*, str*, usw.
	return regex_match(s,e);
}
</code></pre>
<p>3. Wenn find == true, dann Suchbegriff anzeigen.</p>
<p>Hier noch ein Link:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=61159&amp;highlight=boost+regex" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=61159&amp;highlight=boost+regex</a></p>
<p>Ich hoffe es hilft ein bißchen..<br />
MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528909</guid><dc:creator><![CDATA[EdiRitter]]></dc:creator><pubDate>Fri, 28 May 2004 11:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 11:28:13 GMT]]></title><description><![CDATA[<p>wenn ich mich nicht täusche... ist das ne abfrage auf ein bestimmte eingabe bzw. ob die eingabe richtig eingegeben wurde.</p>
<p>der string kann ja beliebig lang werden .. abhängig auch von dem string in der listbox.</p>
<p>ich möchte lediglich einen String eingeben das bei jedem tastendruck einen string in der listbox vergleicht und bei jeder tasteneingabe die zeile solange der eingebene string übereinstimmt in der listbox markiert.</p>
<p>ich verstehe ausserdem regex nicht. VC help steht nichts darüber</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528919</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 11:28:13 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 11:37:21 GMT]]></title><description><![CDATA[<p>du shcon wieder <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>
<p>ich denke du programmierst in c++ und nicht in c</p>
<p>schon mal was von klassen, objekten etc gehört. sorry das musste jetzt sein.</p>
<p>die klasse CString bietet doch alles an, was man so gebrauchen kann.<br />
also warum machst du dir das alles so schwer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528930</guid><dc:creator><![CDATA[miss c++]]></dc:creator><pubDate>Fri, 28 May 2004 11:37:21 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 11:58:18 GMT]]></title><description><![CDATA[<p>lol</p>
<p>ich probiers ja mit CString .. dachte es gibt eine Funktion welche mir erlaubt character postions bedingt zu suchen.<br />
sowas z.B.</p>
<p>Wenn ich im Textfeld &quot;C&quot; drücke... dann musst in der Listbox das erste Item bzw. zeile markiert werden die mit &quot;C&quot; anfängt. Tippe ich &quot;Cm&quot; dann halt zum ersten wort welches mit &quot;Cm&quot; anfängt und diese dann auch markiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528951</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 11:58:18 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 12:04:04 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>hatte ich mal in meinen ersten C++ Programmen geschrieben:</p>
<pre><code class="language-cpp">CString strFind, strCopy;
	int iPos = -1;
	BOOL bExist = FALSE;
	CArray &lt;int, int&amp;&gt; arrPos;

	m_ctrEdit.GetWindowText(strFind);
	m_ctrListSearch.SelItemRange(0, 0, m_ctrListSearch.GetCount());

	if (strFind.IsEmpty())
		return;

	iPos = m_ctrListSearch.FindString(iPos, strFind);
	while (!bExist)
	{
		//Ist der Punkt schon vorhanden dann markiere ihn nicht
		for (int i = 0; i &lt; arrPos.GetCount(); i++)
		{
			if (arrPos[i] == iPos)
			{
				bExist = TRUE;
				break;
			}
		}

		if (!bExist)
		{
			arrPos.Add(iPos);
			m_ctrListSearch.SetSel(iPos);
			iPos = m_ctrListSearch.FindString(iPos, strFind);
		}
	}
</code></pre>
<p>m_ctrListSearch = Member von der ListBox<br />
m_ctrEdit = Member vom Edit</p>
<p>Listbox muss auf Selection-&gt;Multiple in den Properties gestellt werden. Der Rest erklärt sich von alleine....</p>
<p>Viel Spass<br />
*winke*<br />
Hellsgore</p>
<p>EDIT:</p>
<p>Achso, du solltest den Kram in das OnChange Ereignis von deinem Edit schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528954</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Fri, 28 May 2004 12:04:04 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 12:14:05 GMT]]></title><description><![CDATA[<p>du hast ne listbox benutzt ich hab eine leider eine CListCtrl benutzt <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/528970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528970</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 12:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 12:18:12 GMT]]></title><description><![CDATA[<p>CString::Find kann das doch <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/528973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528973</guid><dc:creator><![CDATA[miss c++]]></dc:creator><pubDate>Fri, 28 May 2004 12:18:12 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 12:29:48 GMT]]></title><description><![CDATA[<p>alder schwede <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>
<p>ich hätte mal auf der hilfe drauf clicken sollen. da steht</p>
<p>Searches this string for the <strong>first match</strong> of a character or substring.</p>
<p>na ich hoffe es wirkt so wie ich es mir vorstelle. jedoch habe ich es bis jetzt noch nicht geschaft eine Reihe in der CListCtrl zu markieren. Muss ich das noch irgendwas setzten ein Flag, ne Variable. damit das möglich ist ?</p>
<p>Was ist mit meinem Thréad dem exitcode <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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/528983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528983</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 12:29:48 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 12:34:10 GMT]]></title><description><![CDATA[<p>single selection in den properties auf false setzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/528993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/528993</guid><dc:creator><![CDATA[miss c++]]></dc:creator><pubDate>Fri, 28 May 2004 12:34:10 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Fri, 28 May 2004 13:41:12 GMT]]></title><description><![CDATA[<p>also ... ich denke das find denn zu suchenden string bzw character im gesamten string sucht und findet. ich glaube du hast nich verstanden was ich sagen wollte.</p>
<p>Ich tippe &quot;B&quot; dann wird das in der Listbox gesucht welcher String mit &quot;B&quot; anfängt, dieser wird dann markiert <strong>und nicht der String soll markiert werden der nicht mit &quot;B&quot; anfängt aber irgendwo sonst ein &quot;B&quot; entählt.</strong></p>
<p>Ausserdem wird immer meine IF schleife ausgeführt, egal ob der string enthalten ist oder nicht. In der Listbox ist ein String welcher denn namen &quot;Auto&quot; enthält ich tippe &quot;Z&quot; und die if schleife wird trotzdem ausgeführt obwohl kein Z in Auto vorkommt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<pre><code>void CListAllDlg::OnEnChangeSearch()
{
	CString m_Item=&quot;&quot;, m_Search=&quot;&quot;;
	int length=0;
	int pos=1;
	int i=0;

	length=GetDlgItemText(IDC_SEARCH,m_Search);//GetDlgItem return the length of the text
	while(i&lt;length)
	{
		m_Item=m_list_all.GetItemText(pos,1);
		if((m_Item.Find(m_Search),0))!=-1)
		{
			m_list_all.SetSelectionMark(5);
		}
		i++;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/529047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/529047</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Fri, 28 May 2004 13:41:12 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Tue, 01 Jun 2004 09:38:43 GMT]]></title><description><![CDATA[<p>also das liegt ja wohl an deinem algorythmus</p>
<p>du solltest dir glaub ich angewöhnen dein coding vorher richtig zu durchdenken</p>
<p>Text &quot;Auto&quot;</p>
<p>eingabe &quot;B&quot;</p>
<p>//eine while schleife die z.b. auf länge der einträge der liste prüft</p>
<p>//string aus liste lesen<br />
CString str = &quot;Auto&quot;; //das soll nur ein ersatz sein zur erklärung</p>
<p>int iStelle = str.Find(&quot;B&quot;, 0);</p>
<p>//nur prüfen ob es an der ersten stelle steht<br />
if (iStelle==0)<br />
{<br />
//makieren</p>
<p>}</p>
<p>/ende while schleife</p>
]]></description><link>https://www.c-plusplus.net/forum/post/530755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/530755</guid><dc:creator><![CDATA[miss c++]]></dc:creator><pubDate>Tue, 01 Jun 2004 09:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Wed, 02 Jun 2004 09:57:49 GMT]]></title><description><![CDATA[<p>hats geholfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/531480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/531480</guid><dc:creator><![CDATA[miss c++]]></dc:creator><pubDate>Wed, 02 Jun 2004 09:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Wed, 02 Jun 2004 15:47:13 GMT]]></title><description><![CDATA[<p>sorry,</p>
<p>habs anderst gelöst nur. schau mal <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="🙂"
    /> funktioniert wunderbar.</p>
<pre><code>void CListAllDlg::OnEnChangeSearch()
{
	CString m_ListItem=&quot;&quot;, m_Search=&quot;&quot;, m_String;
	int length = 0;
	int nItems=0;
	bool found = false;

	length = GetDlgItemText(IDC_SEARCH,m_Search);//GetDlgItem return the length of the text
	nItems = m_list_all.GetItemCount();

	for(int pos = 0; pos &lt; nItems; pos++)
	{
		m_String=&quot;&quot;;
		m_ListItem = m_list_all.GetItemText(pos,1);
		for(int i = 0; i &lt; length; i++)
		{
			m_String += m_ListItem.GetAt(i);
		}//end for

		if (strcmp(m_String,m_Search)==0)
		{
			m_list_all.SetItemState(pos, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
			break;
		}//end if
	}//end for

}//end OnEnChangeSearch()
</code></pre>
<p>Die selection springt bei übereinstimmung des strings schön in der listbox rum. Bei jedem Taseten schlag wird der String überprüft. Nur das die selection der Zeile in der Listbox ist grau, also es ist nicht standardmässig blau <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="🙄"
    /> .. Irgendwie nich fokusiert oder so.. als wäre die listbox im hintergrund. click ich auf die listbox dann wirds blau. hoffe ich habs irgendwie erklärt <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/531735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/531735</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Wed, 02 Jun 2004 15:47:13 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sat, 05 Jun 2004 18:02:08 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>ich habe ein ähnliches Problem, welches ich mit euren Tipps leider nicht lösen kann...</p>
<p>Ich habe ein CListCtrl und ein Edit Control, in welches die Suche eineggeben wird. Bei jeder Änderung der Suche soll überprüft werden, ob in der Liste in Feld Nr. 0 (&quot;Kunde&quot;) ein Eintrag existiert, der mit den Suchbuchstaben anfängt und den ersten Eintrag davon selektieren.</p>
<p>Hier ein Bild dazu (ca. 9kb):<br />
<a href="http://www.liveonstage.de/uploads/tool.gif" rel="nofollow">Tool</a></p>
<p>Meine Funktion selektiert leider nur, wenn in der Suche der komplette Eintrag eingegeben wird...</p>
<p>Hier die Funktion:</p>
<pre><code>void CToolDlg::OnEnChangeEsuche()
{
	UpdateData(true);
	if(m_strVersionSuche == &quot;&quot;)
	{
		m_ctlVersionen.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, -1);
		m_ctlVersionen.EnsureVisible(0,TRUE);
	}
	else
	{
		// LISTE DURCHSUCHEN!!!
		int spKunde = 0; // Spaltennummer für Kunde
		for(int i=0; i&lt;m_ctlVersionen.GetItemCount(); i++)
		{
			CString strVergleichen = m_ctlVersionen.GetItemText( i, spKunde);
			if(strVergleichen.MakeLower() == m_strVersionSuche.MakeLower())
			{
				m_ctlVersionen.SetItemState(i, LVIS_SELECTED | LVIS_FOCUSED, -1);
				m_ctlVersionen.EnsureVisible(i,TRUE);
			}
		}
	}
}
</code></pre>
<p>Wäre nett, wenn mir jemand dabei helfen könnte, ich hab heute Nacht das komplette Forum nach CListCtrl durchgesucht (11 Seiten).</p>
<p>Mit freundlichen Grüßen, Manuel. <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/533846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/533846</guid><dc:creator><![CDATA[Ellek]]></dc:creator><pubDate>Sat, 05 Jun 2004 18:02:08 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sat, 05 Jun 2004 21:28:23 GMT]]></title><description><![CDATA[<p>lol</p>
<p>meine funktion macht genau das was du machst.</p>
<p>jedoch sind die einträge in meiner CListCtrl schon alphabetisch aus der Datenbank ausgelesen worden. Deshalb wird automatisch der erste Eintrag markiert. Tipp ich &quot;E&quot; wird das erste wort mit &quot;E&quot; selektiert. &quot;Ei&quot; dann wird das nächste wort mit das mit&quot;Ei&quot; anfängt selektiert.</p>
<p>hoffe es hat dir geholfen. Ansonsten würde ich dir raten die einträge zuerst mal in der listbox zu selektieren und dann so ähnlich wie ich das gemacht habe zu suchen und zu selektieren.</p>
<p>gruss<br />
indian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/533951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/533951</guid><dc:creator><![CDATA[Indian]]></dc:creator><pubDate>Sat, 05 Jun 2004 21:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sun, 06 Jun 2004 03:01:26 GMT]]></title><description><![CDATA[<p>Ich habe, bevor ich mit C++ angefangen habe, mir sehr gute PHP-Kenntnisse angelernt. Dort gibt es, wie bei C++ auch, die Funktion substr(). Leider gilt die Funktion substring() nicht für CString-Variablen... Sonst wäre das Vergleichen ziemlich einfach!</p>
<pre><code>&lt;?php
  $suche = &quot;Hallo&quot;;
  $liste_wert = &quot;Hallo_du&quot;;
  $suche_anzahl_buchstaben = strlen($suche);
  if($suche == substr($liste_wert, 0, $suche_anzahl_buchstaben))
  {
    // Den Eintrag in der Liste markieren
  }
?&gt;
</code></pre>
<p>Und genau sowas brauche ich für C++. <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/534035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534035</guid><dc:creator><![CDATA[Ellek]]></dc:creator><pubDate>Sun, 06 Jun 2004 03:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sun, 06 Jun 2004 04:33:02 GMT]]></title><description><![CDATA[<p>Also mit Find() habe ich es schon mal hinbekommen, dass in der Liste die Einträge durchsucht werden und ein Eintrag selektiert wird, der die Suche enthält...</p>
<p>Jetzt brauche ich aber trotzdem noch eine Funktion wie substr(), mit der ich den Text des Eintrags auf die Anzahl der Such-Buchstaben verkürzen kann, damit nur die Einträge selektiert werden, die nur am Anfang des Strings den Suchstring enthalten...</p>
<pre><code class="language-cpp">void CToolDlg::OnEnChangeEsuche()
{
	UpdateData(true);
	if(m_strVersionSuche == &quot;&quot;)
	{
		m_ctlVersionen.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, -1);
		m_ctlVersionen.EnsureVisible(0,TRUE);
	}
	else
	{
		// TODO: Suchfunktion erweitern
		int spKunde = 0; // Spaltennummer für Kunde
		CString strVergleichen;
		for(int i = 0; i &lt; m_ctlVersionen.GetItemCount(); i++)
		{
			strVergleichen = m_ctlVersionen.GetItemText(i, spKunde);
			if(strVergleichen.MakeLower().Find(m_strVersionSuche.MakeLower()) != -1)
			{
				m_ctlVersionen.SetItemState(i, LVIS_SELECTED | LVIS_FOCUSED, -1);
				m_ctlVersionen.EnsureVisible(i, TRUE);
				break;
			}
		}
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/534037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534037</guid><dc:creator><![CDATA[Ellek]]></dc:creator><pubDate>Sun, 06 Jun 2004 04:33:02 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sun, 06 Jun 2004 08:26:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ellek schrieb:</p>
<blockquote>
<p>Jetzt brauche ich aber trotzdem noch eine Funktion wie substr(),</p>
</blockquote>
<p>schon gesehen, daß CString Member-Funktionen wie Left, Right und Mid besitzt (mit denen man das problemlos nachbauen kann)?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/534047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534047</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sun, 06 Jun 2004 08:26:21 GMT</pubDate></item><item><title><![CDATA[Reply to Suchfunktion wie bei Visual Studio Help on Sun, 06 Jun 2004 10:06:45 GMT]]></title><description><![CDATA[<p>Das hab ich natürlich nicht gewusst. :p</p>
<p>Aber danke, jetzt hab ich die Funktion genauso, wie ich sie haben wollte. <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>
<pre><code class="language-cpp">void CToolDlg::OnEnChangeEsuche()
{
	UpdateData(true);
	if(m_strVersionSuche == &quot;&quot;)
	{
		m_ctlVersionen.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, -1);
		m_ctlVersionen.EnsureVisible(0,TRUE);
	}
	else
	{
		// TODO: Suchfunktion erweitern
		int spKunde = 0; // Spaltennummer für Kunde
		CString strVergleichen;
		for(int i = 0; i &lt; m_ctlVersionen.GetItemCount(); i++)
		{
			strVergleichen = m_ctlVersionen.GetItemText(i, spKunde);
			int nStringLaenge = CString::StringLength(m_strVersionSuche);
			strVergleichen = strVergleichen.Left(nStringLaenge);
			if(strVergleichen.MakeLower().Find(m_strVersionSuche.MakeLower()) != -1)
			{
				m_ctlVersionen.SetItemState(i, LVIS_SELECTED | LVIS_FOCUSED, -1);
				m_ctlVersionen.EnsureVisible(i, TRUE);
				break;
			}
		}
	}
}
</code></pre>
<p>Vielen Dank an alle die mir geholfen haben! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/534102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534102</guid><dc:creator><![CDATA[Ellek]]></dc:creator><pubDate>Sun, 06 Jun 2004 10:06:45 GMT</pubDate></item></channel></rss>