<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Freak-und-Informatiker &#187; C#</title>
	<atom:link href="http://www.freak-und-informatiker.de/category/programmierung/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freak-und-informatiker.de</link>
	<description>Debugger sind was für Memmen! Echte Männer kompilieren direkt auf die Master CD ...</description>
	<lastBuildDate>Wed, 29 Sep 2010 16:00:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Windows.Forms &#8211; Enum in Combobox</title>
		<link>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/</link>
		<comments>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 09:09:28 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Windows.Forms]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1514</guid>
		<description><![CDATA[Eine Combobox mit vorgegebenen Werten zu füllen ist etwas, dass fast Jedem Interfaceentwickler mal unterkommen wird. Meist liegen die Werte dabei schon im Code vor, oft als enum. Es gibt nun mindestens zwei &#8220;automatisierte&#8221; Möglichkeiten diese Werte in die Combobox zu füllen: // Yeah, händisch iterieren und zufügen! foreach &#40;SomeEnum val in Enum.GetValues&#40;typeof&#40;SomeEnum&#41;&#41;&#41; &#123; myComboBox.Items.Add&#40;val&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Combobox mit vorgegebenen Werten zu füllen ist etwas, dass fast Jedem Interfaceentwickler mal unterkommen wird. Meist liegen die Werte dabei schon im Code vor, oft als enum. Es gibt nun mindestens zwei &#8220;automatisierte&#8221; Möglichkeiten diese Werte in die Combobox zu füllen:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// Yeah, händisch iterieren und zufügen!</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span>SomeEnum val <span style="color: #0600FF;">in</span> <span style="color: #FF0000;">Enum</span>.<span style="color: #0000FF;">GetValues</span><span style="color: #000000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #000000;">&#40;</span>SomeEnum<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	myComboBox.<span style="color: #0000FF;">Items</span>.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>val<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #008080; font-style: italic;">// Whoops, was macht denn die DataSource Eigenschaft ;)</span>
myComboBox.<span style="color: #0000FF;">DataSource</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">Enum</span>.<span style="color: #0000FF;">GetValues</span><span style="color: #000000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #000000;">&#40;</span>SomeEnum<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Leider kann man die DataSource Eigenschaft nicht schon im Designer mit beliebigen Ausdrücken versehen, die Zuweisung muss also im Quellcode erfolgen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buildkonfiguration im C# Visual Studio Express</title>
		<link>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/</link>
		<comments>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 06:17:11 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1206</guid>
		<description><![CDATA[Wer wie ich mal mit den Express Editionen und mal mit den &#8220;echten&#8221; Versionen des Visual Studio arbeitet merkt mit der Zeit dann doch, welche Kleinigkeiten ihm in der abgespeckten Version fehlen. Erstmal natürlich die Addins, aber dann sind da noch andere Kleinigkeiten. Nicht in diese Kategorie fällt die fehlende Buildkonfiguration. Die scheint zwar auch [...]]]></description>
			<content:encoded><![CDATA[<p>Wer wie ich mal mit den Express Editionen und mal mit den &#8220;echten&#8221; Versionen des Visual Studio arbeitet merkt mit der Zeit dann doch, welche Kleinigkeiten ihm in der abgespeckten Version fehlen. Erstmal natürlich die Addins, aber dann sind da noch andere Kleinigkeiten.</p>
<p>Nicht in diese Kategorie fällt die fehlende Buildkonfiguration.</p>
<p style="text-align: center;"><img class="size-full wp-image-1207 aligncenter" title="Fehlende Buildkonfiguration im Visual Studio" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/04/vsmissingbuildconfig.png" alt="Fehlende Buildkonfiguration im Visual Studio" width="369" height="88" /></p>
<p>Die scheint zwar auch zu fehlen, ist aber nur versteckt. Ich habe hier gerade die englische Version vom Visual Studio, das Vorgehen bei der deutschen Version ist aber naheliegenderweise ähnlich:</p>
<ul>
<li>&#8220;Tools&#8221; Menü öffnen</li>
<li>&#8220;Options&#8221; Eintrag auswählen</li>
<li>Im Optionsdialog ein Häkchen bei &#8220;Show all settings&#8221; setzen</li>
<li>Unter &#8220;Projects and Solutions -&gt; General&#8221; einen Haken bei der &#8220;Show advanced build configurations&#8221; setzen</li>
</ul>
<p style="text-align: center;"><img class="size-full wp-image-1208 aligncenter" title="Voila, die Buildkonfiguration" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/04/vsexistingbuildconfig.png" alt="Voila, die Buildkonfiguration" width="369" height="88" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peinlich &#8230;</title>
		<link>http://www.freak-und-informatiker.de/2008/10/15/peinlich/</link>
		<comments>http://www.freak-und-informatiker.de/2008/10/15/peinlich/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 11:39:00 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Tile Library]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=795</guid>
		<description><![CDATA[Ich komme in letzter Zeit definitv viel zu wenig zum Programmieren &#8230; Zwar hatte ich vor dem Zivildienst auch &#8220;nur&#8221; ein Projekt wirklich aktiv forciert, aber es nervt schon dafür momentan so ungefähr gar keine Zeit mehr zu finden Ich hoffe ja inständig, dass sich das noch bessert! Wenn einem dann aber Leute plötzlich noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ich komme in letzter Zeit definitv viel zu wenig zum Programmieren &#8230; Zwar hatte ich vor dem Zivildienst auch &#8220;nur&#8221; ein Projekt wirklich aktiv forciert, aber es nervt schon dafür momentan so ungefähr gar keine Zeit mehr zu finden <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ich hoffe ja inständig, dass sich das noch bessert!</p>
<p>Wenn einem dann aber Leute plötzlich noch Ergänzungen, Wünsche oder sogar fertige Plugins zu einem schon etwas länger nicht mehr angeschauten Projekt schicken wirds dann doch etwas peinlich &#8230; Aber stimmt, es gibt da ja ein schon länger vor sich hin schlummerndes (überarbeitetes) Framework einer Tilelibrary. Ich werd da wohl mal wieder reinschauen!</p>
<p>Aus irgendwelchen Gründen hatte ich darüber nie so recht gebloggt, aber wenn man sich die Liste der bisherigen nicht erfolgreichen Projekte mal so ansieht ist das vllt auch besser so &#8230;</p>
<p>Naja, das &#8220;aktuelle&#8221; Framework hat mit den <a href="http://www.freak-und-informatiker.de/category/gurxite/tilelib/">bisher hier zu sehenden Sachen</a> nur am Rande was zu tun. Optisch mag es sich stark ähneln (zumindest der Editor), unter der Haube ist aber einiges passiert. Der ganze Editor wird momentan über Plugins aufgebaut und bietet ohne diese Plugins eigentlich nichts weiter als einen Projektbrowser (der nichtmal was anzeigt, weil &#8230; siehe oben). Dadurch kann (in der Theorie) jeder den Editor an seine Bedürfnisse anpassen.</p>
<p>In der Praxis existieren momentan nur zwei Plugins: jene für Tilesets und Gebiete. Und um nun auf den in der Überschrift angedeuteten Peinlichkeitsfaktor zu kommen &#8230; Es hat mir jemand noch ein drittes Plugin (Animationen) und viele Anregungen zu der Allgemeinen Architektur. Danke! Ich werds einpflegen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/10/15/peinlich/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>foreach und C++</title>
		<link>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/</link>
		<comments>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 19:20:05 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/</guid>
		<description><![CDATA[Irgendwie wurde ich nun schon zweimal innerhalb von wenigen Tagen auf die Problematik angesprochen, wie man in C++ Arrays andere Container durchlaufen kann. Die meisten Leute verweisen dann auf Sprachen wie C# oder PHP, wo das mittels der foreach Schleife ja auch wirklich sehr einfach geht. string&#91;&#93; strings = &#123;&#34;Foo&#34;, &#34;Bar&#34;, &#34;Foobar&#34;&#125;; foreach &#40;string s [...]]]></description>
			<content:encoded><![CDATA[<p>Irgendwie wurde ich nun schon zweimal innerhalb von wenigen Tagen auf die Problematik angesprochen, wie man in C++ Arrays andere Container durchlaufen kann. Die meisten Leute verweisen dann auf Sprachen wie C# oder PHP, wo das mittels der foreach Schleife ja auch wirklich sehr einfach geht.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> strings <span style="color: #008000;">=</span> <span style="color: #000000;">&#123;</span><span style="color: #666666;">&quot;Foo&quot;</span>, <span style="color: #666666;">&quot;Bar&quot;</span>, <span style="color: #666666;">&quot;Foobar&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> s <span style="color: #0600FF;">in</span> strings<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>s<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Der obige Quellcode in C# würde nun einfach das Array <em>strings</em> in der Konsole ausgeben. Wenn es nun an C++ geht, findet man bei vielen Leuten ungefähr den folgenden Code:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> strings<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;Foo&quot;</span>, <span style="color: #FF0000;">&quot;Bar&quot;</span>, <span style="color: #FF0000;">&quot;Foobar&quot;</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> strings<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Und jo, wenn man das auf die gezeigte Art und Weise macht, dann muss man leider weiterhin per Indexoperator auf die einzelnen Strings zugreifen. Aber mal im Ernst, Arrays sind doch <em>sehr</em> C <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>C++ kommt im Verbund mit der STL und die STL bietet einen Ausweg aus diesem Dilemma: Iteratoren. Per Iterator lässt sich eine foreach Schleife in C++ ungefähr so darstellen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">typedef</span> std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #000080;">&gt;</span> stringvector<span style="color: #008080;">;</span>
&nbsp;
stringvector strings<span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Foo&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Bar&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Foobar&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>stringvector<span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it <span style="color: #000080;">=</span> strings.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> strings.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Da es sich bei std::vector nicht um ein Sprachelement von C++ handelt, müssen wir ihn in diesem Fall mit der push_back Methode füllen, aber das ist sowieso realitätsnaher <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Spannender ist die for Schleife. Anstatt wie gewohnt einen integer zum Zählen zu benutzen, machen wir uns das Verhalten von Iteratoren zunutze. Diese lassen sich wie integer vergleichen und inkrementieren bzw. dekrementieren. Wir initialisieren unseren Iterator mit dem ersten Element unseres Vektors, prüfen in der Bedinung ob wir schon am Ende angelangt sind und inkrementieren den Iterator nach jedem Durchlauf.</p>
<p>Wichtig ist aber, dass man den Iterator, wenn man auf seinen Inhalt zugreifen möchte, mit dem * oder -> Operator dereferenzieren muss.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Truly Freaky</title>
		<link>http://www.freak-und-informatiker.de/2007/12/15/truly-freaky/</link>
		<comments>http://www.freak-und-informatiker.de/2007/12/15/truly-freaky/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 15:09:40 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[GurXite]]></category>
		<category><![CDATA[Dateien Auflisten]]></category>
		<category><![CDATA[Fachidiotie]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2007/12/15/truly-freaky/</guid>
		<description><![CDATA[Gibt es unter Windows eine Option, alle Dateienamen eines Ordners aufzulisten? Oder in einer Textdatei abzuspeichern? Wenn ja hab ich mich tierisch blamiert *g* Und wenn nicht &#8230; dann eigentlich auch. Ich habe mich eben gefragt, wie ich es am besten anstelle, einem Gesprächspartner in ICQ eine Liste aller Dateien in einem Ordner zukommen zu [...]]]></description>
			<content:encoded><![CDATA[<p>Gibt es unter Windows eine Option, alle Dateienamen eines Ordners aufzulisten? Oder in einer Textdatei abzuspeichern? Wenn ja hab ich mich tierisch blamiert *g*</p>
<p>Und wenn nicht &#8230; dann eigentlich auch. Ich habe mich eben gefragt, wie ich es am besten anstelle, einem Gesprächspartner in ICQ eine Liste aller Dateien in einem Ordner zukommen zu lassen. Das Ergebnis sieht so aus &#8230;</p>
<p style="text-align: center"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2007/12/folderenumerator.png" rel="lightbox[pics-1197730793]" title="So schauts aus …"><img src="http://www.freak-und-informatiker.de/wp-content/uploads/2007/12/folderenumerator.thumbnail.png" alt="So schauts aus …" class="imageframe imgaligncenter" height="404" width="468" /></a></p>
<p>Immerhin mach ich dem &#8220;neuen&#8221; Titel dieses Blogs alle Ehre. Das Programm hat keine Features, die man an dem Screen nicht sowieso erkennen würde, daher spare ich mir langes Gehudel. Sollte dafür tatsächlich jemand Verwendung haben, kann er das Programm gerne runterladen: <a href="http://www.freak-und-informatiker.de/wp-content/uploads/2007/12/folder-enumeration.exe" title="folder-enumeration.exe">folder-enumeration.exe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/12/15/truly-freaky/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Waiting for XNA 2.0</title>
		<link>http://www.freak-und-informatiker.de/2007/11/08/waiting-for-xna-20/</link>
		<comments>http://www.freak-und-informatiker.de/2007/11/08/waiting-for-xna-20/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 07:39:32 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.marcus.gurxite.de/2007/11/08/waiting-for-xna-20/</guid>
		<description><![CDATA[Ich habe mich nun ja schon vor längerer Zeit mehr und mehr mit der Programmierung in C# und den damit verbundenen Technologien beschäftigt. Primär weil C++ verdammt viel arbeitsaufwändiger ist und mein Zeitplan grad keine großen Sprünge neben der Schule erlaubt. Weitestgehend hängengeblieben bin ich in Sachen C# bei XNA und mittlerweile auch ein wenig [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich nun ja schon vor längerer Zeit mehr und mehr mit der Programmierung in C# und den damit verbundenen Technologien beschäftigt. Primär weil C++ verdammt viel arbeitsaufwändiger ist und mein Zeitplan grad keine großen Sprünge neben der Schule erlaubt.</p>
<p>Weitestgehend hängengeblieben bin ich in Sachen C# bei <a href="http://msdn2.microsoft.com/de-de/directx/Aa937793.aspx" target="_blank">XNA</a> und mittlerweile auch ein wenig <a href="http://www.asp.net" target="_blank">ASP.net</a>. Ersteres soll &#8220;Ende diesen Jahres&#8221; in Version 2.0 vorliegen und damit für mich sehr spannende Änderungen einbringen:</p>
<ul>
<li>XNA soll sich nahtlos in Windows Forms einfügen. Dafür gibt es zwar auch schon heute ein <a href="http://www.nuclex.org/news/2007/05/14/xna-windows-forms-usercontrol" target="_blank">funktionierendes UserControl</a>, aber damit hatte ich so meine Probleme (das ist eine andere Geschichte &#8230;)</li>
<li>Einen Netzwerkpart, der sowohl PCs als auch die XBOX unterstützt!</li>
<li>Unterstützung für jede Version des Visual Studio! Endlich keine seperate Installation von der C# Express Edition &#8230; Endlich!</li>
</ul>
<p>Hoffentlich wird da jetzt nichts verschoben &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/11/08/waiting-for-xna-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Index Operator überladen</title>
		<link>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/</link>
		<comments>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 15:47:11 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.marcus.gurxite.de/2007/09/15/index-operator-uberladen/</guid>
		<description><![CDATA[Praktischerweise erlaubt es C# auch Operatoren zu überladen. Das geht meistens genau so wie in C++. Mit einer Ausnahme: Den Indexoperator [] überlädt man in C++ folgendermaßen: int operator &#91;&#93; &#40;const std::string&#38; s&#41; &#123; return &#40;this-&#62;GetSomeInt&#40;s&#41;&#41;; &#125; In C# ist der Syntax ein wenig anders: public int this&#91;string s&#93; &#123; get &#123; return &#40;GetSomeInt&#40;s&#41;; &#125; [...]]]></description>
			<content:encoded><![CDATA[<p>Praktischerweise erlaubt es C# auch Operatoren zu überladen. Das geht meistens genau so wie in C++. Mit einer Ausnahme: Den Indexoperator [] überlädt man in C++ folgendermaßen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> operator <span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #000040;">&amp;</span> s<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span>this<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>GetSomeInt<span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>In C# ist der Syntax ein wenig anders:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> <span style="color: #0600FF;">this</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">string</span> s<span style="color: #000000;">&#93;</span>
<span style="color: #000000;">&#123;</span>
     get <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>GetSomeInt<span style="color: #000000;">&#40;</span>s<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Soo, von nun an muss ich nur noch ins Blog gucken wenn ich den &#8220;C# Weg&#8221; mal wieder vergessen haben sollte <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>U-Turn</title>
		<link>http://www.freak-und-informatiker.de/2007/08/30/u-turn/</link>
		<comments>http://www.freak-und-informatiker.de/2007/08/30/u-turn/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 07:11:37 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[GurXite]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/08/30/u-turn/</guid>
		<description><![CDATA[Die &#8220;neue&#8221; Version der GurXite Library entsteht nicht mehr in C++, sondern in C#. Wer mich kennt (und das noch nicht wusste &#8230;), kann diese Aussage ja mal auf sich wirken lassen. Nein, das ist kein Scherz, vielmehr Arbeitserleichterung. C# ist einfacher zu schreiben als C++, ich pack allerdins noch was obendrauf und nutze auch [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Die &#8220;neue&#8221; Version der GurXite Library entsteht nicht mehr in C++, sondern in C#.</p></blockquote>
<p>Wer mich kennt (und das noch nicht wusste &#8230;), kann diese Aussage ja mal auf sich wirken lassen. Nein, das ist kein Scherz, vielmehr Arbeitserleichterung. C# <strong>ist</strong> einfacher zu schreiben als C++, ich pack allerdins noch was obendrauf und nutze auch XNA. Die absolute Arbeitserleichterung also.</p>
<p>Die Gründe dafür sind relativ vielfältig. Hier mal ein Auszug:</p>
<ul>
<li>Es wäre schön  mal ein Spieleprojekt fertigzustellen, da die Programmierung mit C# und XNA drastisch erleichtert wird, steigen die Chancen dafür beträchtlich.</li>
<li>Ich habe nicht vor, irgend ein &#8220;Über 3D Grafik&#8221; Spiel zusammenzustecken. Es soll nur eine kleine Tile Engine für etwas Zelda &#8211; A Link To The Past mäßiges werden. Da sollte die schlechtere Performance nicht so schlimm sein.</li>
<li>Ich kann eine Menge Code aus dem Editor für die Engine &#8220;recyceln&#8221;.</li>
</ul>
<p>Und eine Bitte: Wenn ich jemals davon reden sollte, dieses Projekt für jemand Anderen zu öffnen &#8230; Haltet mich davon ab!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/08/30/u-turn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GX Quickstart &#8211; Reloaded</title>
		<link>http://www.freak-und-informatiker.de/2007/08/04/gx-quickstart-reloaded/</link>
		<comments>http://www.freak-und-informatiker.de/2007/08/04/gx-quickstart-reloaded/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 17:41:51 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Quickstart]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/08/04/gx-quickstart-reloaded/</guid>
		<description><![CDATA[Am GX Quickstarter hat sich so einiges getan, eine kurze Übersicht: Ein neues Design, made by Andreas. Definitiv schicker als das vorherige! Ein Optionsmenü, hier kann man die Transparenz des Programmes einstellen und den Skin wählen. Exakte Maße für den Skin werde ich nochmal nachreichen. &#160; Die Möglichkeit, Einträge aus dem Startmenü zu übernehmen: Und [...]]]></description>
			<content:encoded><![CDATA[<p>Am GX Quickstarter hat sich so einiges getan, eine kurze Übersicht:</p>
<p>Ein neues Design, made by Andreas. Definitiv schicker als das vorherige!</p>
<p style="text-align: center"><img src="http://marcus.gurxite.de/wp-content/uploads/2007/08/gxquickstartreloaded.png" alt="Neues Theme" class="imageframe imgaligncenter" height="100" width="150" /></p>
<p align="left">Ein Optionsmenü, hier kann man die Transparenz des Programmes einstellen und den Skin wählen. Exakte Maße für den Skin werde ich nochmal nachreichen.</p>
<p style="text-align: center"><img src="http://marcus.gurxite.de/wp-content/uploads/2007/08/gxquickstartrconfig.png" alt="Die Konfiguration" class="imageframe" height="294" width="299" /></p>
<p align="left">&nbsp;</p>
<p align="left">Die Möglichkeit, Einträge aus dem Startmenü zu übernehmen:</p>
<p style="text-align: center"><a href="http://marcus.gurxite.de/wp-content/uploads/2007/08/gxquickstartfrommenu.png" rel="lightbox[pics300]" title="Einträge aus dem Startmenü übernehmen."><img src="http://marcus.gurxite.de/wp-content/uploads/2007/08/gxquickstartfrommenu.thumbnail.png" alt="Einträge aus dem Startmenü übernehmen." class="imageframe imgaligncenter" height="448" width="468" /></a></p>
<p>Und dann sind hoffentlich noch ein, zwei kleinere Bugs rausgeflogen.</p>
<p>Gut, mal schauen was mir dann noch so für den Quickstarter einfällt, viel ist es vermutlich nicht mehr. Dann werd ich dafür wohl demnächst mal ne eigene Seite einhergehend mit einem &#8220;ordentlichem&#8221; Release einrichten.</p>
<p>Alles klar? Dann mal ab zum Download =&gt;<a href="http://marcus.gurxite.de/wp-content/uploads/2007/08/gx-quickstart.exe" title="gx-quickstart.exe"> gx-quickstart.exe</a></p>
<p>(!! <strong>ACHTUNG</strong>, diese Version ist nicht mehr aktuell, die jeweils aktuelleste Version findet sich unter <a href="http://marcus.gurxite.de/category/gurxite/quickstart/">marcus.gurxite.de/category/gurxite/quickstart</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/08/04/gx-quickstart-reloaded/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>String != string</title>
		<link>http://www.freak-und-informatiker.de/2007/07/19/string-string/</link>
		<comments>http://www.freak-und-informatiker.de/2007/07/19/string-string/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 08:12:17 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/07/19/string-string/</guid>
		<description><![CDATA[Nur als Randnotiz für alle die mit C# und .Net programmieren Ich für meinen Teil habe mich immer über die Existenz der beiden Stringklassen gewundert, im allerersten Augenblick dachte ich sogar C# wäre nicht case-sensitive. Die Lösung ist naheliegenderweise eine Andere. Die Klasse String ist die Stringklasse des .Net Frameworks, string ist der eingebaute Stringtyp [...]]]></description>
			<content:encoded><![CDATA[<p>Nur als Randnotiz für alle die mit C# und .Net programmieren <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Ich für meinen Teil habe mich immer über die Existenz der beiden Stringklassen gewundert, im <em>allerersten</em> Augenblick dachte ich sogar C# wäre nicht case-sensitive. Die Lösung ist naheliegenderweise eine Andere.</p>
<p>Die Klasse <strong>S</strong>tring ist die Stringklasse des .Net Frameworks, <strong>s</strong>tring ist der eingebaute Stringtyp für C#. Die beiden Varianten sind allerdings beliebig austauschbar, soweit ich weiß als einziger &#8220;doppelter&#8221; Typ.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/07/19/string-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GX Quickstart &#8211; Testballon</title>
		<link>http://www.freak-und-informatiker.de/2007/07/19/gx-quickstart-testballon/</link>
		<comments>http://www.freak-und-informatiker.de/2007/07/19/gx-quickstart-testballon/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 07:58:43 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Quickstart]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/07/19/gx-quickstart-testballon/</guid>
		<description><![CDATA[Wer hier und da mal mit KDE unterwegs ist kennt wahrscheinlich das sehr praktische Programm Katapult. Dabei handelt es sich um eine vereinfachte und vor allem sehr schnelle Art und Weise andere Programme zu starten. Der Quickstarter macht eigentlich das Gleiche, nur eben unter Windows. Das schaut dann so aus: Das sind die einzigen beiden [...]]]></description>
			<content:encoded><![CDATA[<p>Wer hier und da mal mit KDE unterwegs ist kennt wahrscheinlich das sehr praktische Programm <a href="http://katapult.kde.org/" target="_blank">Katapult</a>. Dabei handelt es sich um eine vereinfachte und vor allem sehr schnelle Art und Weise andere Programme zu starten.</p>
<p>Der Quickstarter macht eigentlich das Gleiche, nur eben unter Windows. Das schaut dann so aus:</p>
<p style="text-align: center"><a href="http://marcus.gurxite.de/wp-content/uploads/2007/07/gxquickstart_shortcuts.png" rel="lightbox[pics-1184830879]" title="Verwaltung der Shortcuts"><img src="http://marcus.gurxite.de/wp-content/uploads/2007/07/gxquickstart_shortcuts.thumbnail.png" alt="Verwaltung der Shortcuts" class="imageframe imgaligncenter" height="468" width="373" /></a></p>
<p style="text-align: center"><img src="http://marcus.gurxite.de/wp-content/uploads/2007/07/gxquickstart_starts.png" alt="Das Interface zum Programmstart" class="imageframe imgaligncenter" height="100" width="154" /></p>
<p align="left">Das sind die einzigen beiden relevanten Fenster, besonders gut ersichtlich: Ich tauge nichts als Grafiker. Dieses blaue Irgendwas, das den Hintergrund für die Benutzereingabe darstellen soll, ist eine png Datei, eigens von mir erstellt *g*.</p>
<p><strong>Features:</strong></p>
<ul>
<li>Anlegen und Verwalten von eigenen Shortcuts</li>
<li>Shortcuts können Programme oder Internetseiten sein</li>
<li>Textvervollständigung bei der Benutzereingabe</li>
</ul>
<p><strong>Kurzanleitung:</strong></p>
<ul>
<li>Nach dem Start des Quickstarters werdet ihr im System Tray (links neben der Windowsuhr) einen kleinen Infoballon aufploppen sehen, der euch auf das Fehlen einer Konfiguration hinweist.</li>
<li>Um diese Konfiguration anzulegen klickt ihr einfach mit der linken Maustaste auf das Quickstart Icon.</li>
<li>Dort legt ihr einen Shortcut eurer Wahl an, der Name bezeichnet die Zeichenfolge, welche ihr dann später zum Starten des Programms eingeben müsst.</li>
<li>Nun solltet ihr die neuen Shortcuts noch abspeichern <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Drückt nun die Tasten <strong>Strg + Leer</strong>, dann ploppt das Eingabeinterface auf.</li>
<li>Gebt den Namen des vorhin gestarteten Programmes ein und drückt Enter.</li>
</ul>
<p>Das ist noch keine finale Version, etwaige Bugs können sicherlich noch auftauchen. In einem solchen Fall würde ich mich über einen Hinweis freuen.<a href="http://marcus.gurxite.de/wp-content/uploads/2007/07/gx-quickstart.exe" title="Der Quickstarter"></a></p>
<p align="center"><a href="http://marcus.gurxite.de/wp-content/uploads/2007/07/gx-quickstart.exe" title="Der Quickstarter">Download des Quickstarter</a><br />
(!! <strong>ACHTUNG</strong>, diese Version ist nicht mehr aktuell, die jeweils aktuelleste Version findet sich unter <a href="http://marcus.gurxite.de/wp-content/uploads/2007/07/gx-quickstart.exe" title="Der Quickstarter"></a><a href="http://marcus.gurxite.de/category/gurxite/quickstart/">marcus.gurxite.de/category/gurxite/quickstart</a>)<a href="http://marcus.gurxite.de/wp-content/uploads/2007/07/gx-quickstart.exe" title="Der Quickstarter"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/07/19/gx-quickstart-testballon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Forms &#8211; Minimize Mistery</title>
		<link>http://www.freak-und-informatiker.de/2007/04/15/windows-forms-minimize-mistery/</link>
		<comments>http://www.freak-und-informatiker.de/2007/04/15/windows-forms-minimize-mistery/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 20:29:52 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/04/15/windows-forms-minimize-mistery/</guid>
		<description><![CDATA[Windows Forms sind eine tolle Sache. Innerhalb von wenigen Minuten klatsche ich ganze Programmlayouts hin, hooke einige Events und habe ein voll funktionsfähiges User Interface. Kein Hickhack mit Windowsnachrichten, kein rumärgern mit *** Fensterhandles (ich werde sie definitiv nicht vermissen &#8230;) und keine Programme mehr die sich nicht &#8220;windowstypisch&#8221; verhalten. Ein Segen &#8230; Aber gestern [...]]]></description>
			<content:encoded><![CDATA[<p>Windows Forms sind eine tolle Sache. Innerhalb von wenigen Minuten klatsche ich ganze Programmlayouts hin, hooke einige Events und habe ein voll funktionsfähiges User Interface. Kein Hickhack mit Windowsnachrichten, kein rumärgern mit *** Fensterhandles (ich werde sie definitiv nicht vermissen &#8230;) und keine Programme mehr die sich nicht &#8220;windowstypisch&#8221; verhalten. Ein Segen &#8230;</p>
<p>Aber gestern fiel zum ersten mal ein Schatten auf die schöne, heile .Net Welt &#8230; Die Situation war eigentlich ganz einfach. Ein Programm verfügt über ein Haupt und vier (optionale) Subfenster. Wenn ich nun das Hauptfenster minimiere sollen die Subfenster dies gleichtun. Maximieren führt das ganze eben andersrum. Also, suchen wir mal das &#8220;Minimize / Maximize&#8221; oder ein ähnliches Event.</p>
<p>Nun, wer hats erraten? Richtig! Das Event gibt es schlichtweg nicht. Nach einer längeren Kuschelei mit Google dann die Lösung. Das gesuchte Event ist <strong>Resize</strong>. Grosse Klasse Microsoft &#8230; Nun sieht mein Eventhandling von Resize also folgendermaßen aus &#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #008080; font-style: italic;">// We hook into this to grab the Minimize / Maximise Events</span>
&nbsp;
<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> Form_Draw_Resize<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #000000;">&#123;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// Is the window minimized?</span>
&nbsp;
    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">WindowState</span> <span style="color: #008000;">==</span> FormWindowState.<span style="color: #0000FF;">Minimized</span><span style="color: #000000;">&#41;</span>
&nbsp;
    <span style="color: #000000;">&#123;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Handling</span>
&nbsp;
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">else</span> <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">WindowState</span> <span style="color: #008000;">==</span> FormWindowState.<span style="color: #0000FF;">Normal</span><span style="color: #000000;">&#41;</span>
&nbsp;
    <span style="color: #000000;">&#123;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Handling</span>
&nbsp;
    <span style="color: #000000;">&#125;</span>    <span style="color: #008080; font-style: italic;">// Resize handling</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Ganz grosses Kino. Damit ist also genau das passiert, was durch diese vordefinierten Events verhindert werden sollte. Ein Event &#8220;versteckt&#8221; mehrere Andere. Und der dumme Programmierer darf sich da durchsuchen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/04/15/windows-forms-minimize-mistery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

