<?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[Zifferncode prüfen]]></title><description><![CDATA[<p>ich hab mir eine Anwendung geschrieben die mir aus der DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion)<br />
einen zahlencode errechnet. diesen zahlencode vergleiche ich dann mit einem weiteren zahlencode der durch die eingabe von 5 Editfeldern errechnet wird.<br />
Die eingabe in den Editfeldern ist Hex. Da ich nicht selbst solange rumtippen bzw. rechnen will<br />
bis ich einen zahlencode gefunden hab der zu dem zahlencode aus der DigitalProductId passt. Lass ich mir<br />
per random in die 5 Editfelder Hexcode schreiben, lesen den aus &amp; errechne daraus den zahlencode und vergleiche.</p>
<p>ist der zahlencode gleich dem zahlencode aus der DigitalProductId, speicher ich den Hexcode aus den Editfeldern in einer Liste mit 5 Spalten</p>
<p>Liste sieht wie folgt aus.</p>
<blockquote>
<p>id |Edit1 |Edit2 |Edit3 |Edit4 |Edit5 |<br />
------------------------------------------------|<br />
0 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|<br />
1 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|<br />
2 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|</p>
</blockquote>
<p>bis hierhin funzt das soweit alles problemlos<br />
mein problem ist nun das mir nichts einfällt wie ich geschickt alle Hexcodes aus der liste mit dem<br />
gerade erstellten Hexcode aus den Editfeldern vergleichen kann, wenn alle gleich sind wird der<br />
Hexcode aus den Editfeldern verworfen ist auch nur ein Editfeld anderst als sein gegenstück in der Liste<br />
will ich es in der liste haben.</p>
<p>bislang mach ich so, das wenn 2 codes gleich sind eine variable auf true gesetzt wird ist das nächste feld nichtmehr gleich dann wird die variable wieder False<br />
das problem dabei ist nur das wenn alle 4 vorderen Felder nichtgleich sind (also False) und nur das letzte feld gleich seinem gegenstück (Editfeld) ist, wird True zurückgegeben und der Hexcode<br />
verworfen obwohl 4 Felder davon nicht identisch sind.<br />
weis da jemand ne lösung für das probelem??</p>
<pre><code>BOOL C...Dlg::IsCodeInList()
{
	int nCount = ((CListCtrl*)GetDlgItem(IDC_LIST))-&gt;GetItemCount();

	BOOL bTorF = FALSE;
	for(int nloop=0;nloop&lt;=nCount;nloop++)//Durchlaufe die Zeilen der Liste
	{
		int nSize = sizeof(EDITFELDLIST);

		for(int nx=0;nx&lt;=nSize;nx++)//Durchlaufe die Spalten der Liste
		{
			CString sEditHex,sListHex;
			GetDlgItemText(EDITFELDLIST[nloop],sEditHex);//Hol den Hexcode aus dem Editfeld

			sListHex = ((CListCtrl*)GetDlgItem(IDC_LIST))-&gt;GetItemText(nloop,nx);//Hol Hexcode aus der Liste
			if(sListHex == sEditHex)//Vergleiche beide codes miteinander
				bTorF = !bTorF;
		}
	}
	return bTorF;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/166495/zifferncode-prüfen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 02:06:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166495.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Nov 2006 19:05:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zifferncode prüfen on Wed, 29 Nov 2006 19:05:10 GMT]]></title><description><![CDATA[<p>ich hab mir eine Anwendung geschrieben die mir aus der DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion)<br />
einen zahlencode errechnet. diesen zahlencode vergleiche ich dann mit einem weiteren zahlencode der durch die eingabe von 5 Editfeldern errechnet wird.<br />
Die eingabe in den Editfeldern ist Hex. Da ich nicht selbst solange rumtippen bzw. rechnen will<br />
bis ich einen zahlencode gefunden hab der zu dem zahlencode aus der DigitalProductId passt. Lass ich mir<br />
per random in die 5 Editfelder Hexcode schreiben, lesen den aus &amp; errechne daraus den zahlencode und vergleiche.</p>
<p>ist der zahlencode gleich dem zahlencode aus der DigitalProductId, speicher ich den Hexcode aus den Editfeldern in einer Liste mit 5 Spalten</p>
<p>Liste sieht wie folgt aus.</p>
<blockquote>
<p>id |Edit1 |Edit2 |Edit3 |Edit4 |Edit5 |<br />
------------------------------------------------|<br />
0 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|<br />
1 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|<br />
2 |Hexcode|Hexcode|Hexcode|Hexcode|Hexcode|<br />
------------------------------------------------|</p>
</blockquote>
<p>bis hierhin funzt das soweit alles problemlos<br />
mein problem ist nun das mir nichts einfällt wie ich geschickt alle Hexcodes aus der liste mit dem<br />
gerade erstellten Hexcode aus den Editfeldern vergleichen kann, wenn alle gleich sind wird der<br />
Hexcode aus den Editfeldern verworfen ist auch nur ein Editfeld anderst als sein gegenstück in der Liste<br />
will ich es in der liste haben.</p>
<p>bislang mach ich so, das wenn 2 codes gleich sind eine variable auf true gesetzt wird ist das nächste feld nichtmehr gleich dann wird die variable wieder False<br />
das problem dabei ist nur das wenn alle 4 vorderen Felder nichtgleich sind (also False) und nur das letzte feld gleich seinem gegenstück (Editfeld) ist, wird True zurückgegeben und der Hexcode<br />
verworfen obwohl 4 Felder davon nicht identisch sind.<br />
weis da jemand ne lösung für das probelem??</p>
<pre><code>BOOL C...Dlg::IsCodeInList()
{
	int nCount = ((CListCtrl*)GetDlgItem(IDC_LIST))-&gt;GetItemCount();

	BOOL bTorF = FALSE;
	for(int nloop=0;nloop&lt;=nCount;nloop++)//Durchlaufe die Zeilen der Liste
	{
		int nSize = sizeof(EDITFELDLIST);

		for(int nx=0;nx&lt;=nSize;nx++)//Durchlaufe die Spalten der Liste
		{
			CString sEditHex,sListHex;
			GetDlgItemText(EDITFELDLIST[nloop],sEditHex);//Hol den Hexcode aus dem Editfeld

			sListHex = ((CListCtrl*)GetDlgItem(IDC_LIST))-&gt;GetItemText(nloop,nx);//Hol Hexcode aus der Liste
			if(sListHex == sEditHex)//Vergleiche beide codes miteinander
				bTorF = !bTorF;
		}
	}
	return bTorF;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1184034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184034</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Wed, 29 Nov 2006 19:05:10 GMT</pubDate></item></channel></rss>