<?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[[ERLEDIGT] Maximale X - Cursorposition bei Konsole ermitteln funzt nicht ...]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir eine kleine Klasse für einfache Grafikausgaben unter der Win32 Konsole geschrieben, und dabei u.A. folgende Funktion zur Ermittlung der maximalen X - Cursorposition implementiert, die jedoch einen viel zu hohen Wert zurückliefert:</p>
<p>Deklaration des typedefs und der CSBI Struktur:</p>
<pre><code class="language-cpp">class ConsoleGraphics
{
    private:
    //...
    typedef unsigned int UINT;
    CONSOLE_SCREEN_BUFFER_INFO CSBI;
}
</code></pre>
<p>Und nun die Definition der fehlerhaften Funktion:</p>
<pre><code class="language-cpp">UINT ConsoleGraphics :: GetConsoleCursorPosX () const
{
    return CSBI.dwCursorPosition.X;
}
</code></pre>
<p>Sobald ich mir den Returnwert dieser Funktion ansehe, kommt dabei folgender Wert raus, obwohl der Cursor auf x = 0 steht:</p>
<pre><code>4294967064
</code></pre>
<p>Was habe ich falsch gemacht ??</p>
<p>Danke schonmal im Voraus,</p>
<p>MfG mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174782/erledigt-maximale-x-cursorposition-bei-konsole-ermitteln-funzt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 18:48:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174782.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Mar 2007 17:22:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ERLEDIGT] Maximale X - Cursorposition bei Konsole ermitteln funzt nicht ... on Sat, 03 Mar 2007 22:57:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir eine kleine Klasse für einfache Grafikausgaben unter der Win32 Konsole geschrieben, und dabei u.A. folgende Funktion zur Ermittlung der maximalen X - Cursorposition implementiert, die jedoch einen viel zu hohen Wert zurückliefert:</p>
<p>Deklaration des typedefs und der CSBI Struktur:</p>
<pre><code class="language-cpp">class ConsoleGraphics
{
    private:
    //...
    typedef unsigned int UINT;
    CONSOLE_SCREEN_BUFFER_INFO CSBI;
}
</code></pre>
<p>Und nun die Definition der fehlerhaften Funktion:</p>
<pre><code class="language-cpp">UINT ConsoleGraphics :: GetConsoleCursorPosX () const
{
    return CSBI.dwCursorPosition.X;
}
</code></pre>
<p>Sobald ich mir den Returnwert dieser Funktion ansehe, kommt dabei folgender Wert raus, obwohl der Cursor auf x = 0 steht:</p>
<pre><code>4294967064
</code></pre>
<p>Was habe ich falsch gemacht ??</p>
<p>Danke schonmal im Voraus,</p>
<p>MfG mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1238584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1238584</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Sat, 03 Mar 2007 22:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Maximale X - Cursorposition bei Konsole ermitteln funzt nicht ... on Sat, 03 Mar 2007 22:27:59 GMT]]></title><description><![CDATA[<p>mikey schrieb:</p>
<blockquote>
<p>Was habe ich falsch gemacht ??</p>
</blockquote>
<p>Zuwenig Code. Prüfe mal ob &quot;CSBI&quot; korrekt initialisiert ist wenn &quot;ConsoleGraphics::GetConsoleCursorPosX ()&quot; aufgerufen wird.</p>
<p>mikey schrieb:</p>
<blockquote>
<p>4294967064</p>
</blockquote>
<p>Der Datentyp von &quot;CSBI.dwCursorPosition.X&quot; ist ein &quot;short&quot; -&gt; X = -232.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1238702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1238702</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 03 Mar 2007 22:27:59 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Maximale X - Cursorposition bei Konsole ermitteln funzt nicht ... on Sat, 03 Mar 2007 22:42:25 GMT]]></title><description><![CDATA[<p>Ich tippe auch ganz stark darauf, dass CSBI noch nicht initialisiert wurde. In GetConsoleCursorPosX() fehlt eindeutig eine Zuweisung dieser Art:</p>
<pre><code class="language-cpp">CSBI = GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE));
</code></pre>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1238706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1238706</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 03 Mar 2007 22:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Maximale X - Cursorposition bei Konsole ermitteln funzt nicht ... on Sat, 03 Mar 2007 22:52:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<blockquote>
<p>Zuwenig Code. Prüfe mal ob &quot;CSBI&quot; korrekt initialisiert ist wenn &quot;ConsoleGraphics::GetConsoleCursorPosX ()&quot; aufgerufen wird.</p>
</blockquote>
<p>Ohje, danke hab's gerade gecheckt ... Ich habe die CONSOLE_SCREEN_BUFFER_INFO Struktur tatsächlich nicht mit dem Handle der Konsole initialisiert, sondern nur deklariert. Folglich war die Struktur auch 'etwas' leer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Danke für beide Hinweise, nun returnt meine Funktion auch nur noch einen short Wert, somit dürften alle Schwierigkeiten aus dem Weg geräumt sein ...</p>
<p>EDIT:</p>
<blockquote>
<p>Ich tippe auch ganz stark darauf, dass CSBI noch nicht initialisiert wurde. In GetConsoleCursorPosX() fehlt eindeutig eine Zuweisung dieser Art:</p>
</blockquote>
<p>Jop, genau das war's, danke an euch beide <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>MfG mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1238708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1238708</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Sat, 03 Mar 2007 22:52:55 GMT</pubDate></item></channel></rss>