<?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>Neysor.net &#187; Programming</title>
	<atom:link href="http://www.neysor.net/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neysor.net</link>
	<description>about everything i like :)</description>
	<lastBuildDate>Sun, 29 Jan 2012 15:31:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tooltips auf Webseiten</title>
		<link>http://www.neysor.net/2012/01/tooltips-auf-webseiten/</link>
		<comments>http://www.neysor.net/2012/01/tooltips-auf-webseiten/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:31:48 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Webprogramming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugin]]></category>
		<category><![CDATA[qTip]]></category>
		<category><![CDATA[Tooltip]]></category>

		<guid isPermaLink="false">http://www.neysor.net/?p=1043</guid>
		<description><![CDATA[Immer wieder wollte ich Tooltips auf Webseiten verwenden. Eigentlich kann man diese ja sehr einfach über Divboxen realisieren, doch so richtig schön waren die nie. Außerdem möchte man ja nicht für jeden Tooltip ein eigenes Div definieren und das dann ein-/ausblenden. Auf meiner Suche nach einer besseren Lösung bin ich dann auf qTip gestoßen. Mit [...]]]></description>
			<content:encoded><![CDATA[<p>Immer wieder wollte ich Tooltips auf Webseiten verwenden. Eigentlich kann man diese ja sehr einfach über Divboxen realisieren, doch so richtig schön waren die nie. Außerdem möchte man ja nicht für jeden Tooltip ein eigenes Div definieren und das dann ein-/ausblenden.</p>
<p>Auf meiner Suche nach einer besseren Lösung bin ich dann auf <a title="qTip2" href="http://craigsworks.com/projects/qtip2">qTip </a>gestoßen. Mit diesem <a title="Info über jQuery Plugins" href="http://docs.jquery.com/Plugins/Authoring">jQuery Plugin</a> sind die nicht nur schön, sondern auch total einfach zu verwenden!</p>
<p>Aktuell verwende ich dieses Plugin in <span style="text-decoration: underline;">3 unterschiedlichen Projekten</span>, und freue mich noch immer über die einfache Anpassbarkeit an Designs sowie auch auf unterschiedliche Elemente. Ob als Info bei einem Button oder auf einer Imagemap: <strong>mit qTip kann man das sehr einfach umsetzen.</strong></p>
<p>Besucht einfach mal <a href="http://craigsworks.com/projects/qtip2">http://craigsworks.com/projects/qtip2</a> und schaut euch die Demos an! Es wird sich lohnen <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>PS: Auf dem iPad funktionieren die Tooltips auch wunderbar!</p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2012/01/tooltips-auf-webseiten/' addthis:title='Tooltips auf Webseiten' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2012/01/tooltips-auf-webseiten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Historische Programme aus dem Hause Neysor</title>
		<link>http://www.neysor.net/2012/01/historische-programme-aus-dem-hause-neysor/</link>
		<comments>http://www.neysor.net/2012/01/historische-programme-aus-dem-hause-neysor/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 22:01:10 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi 7]]></category>
		<category><![CDATA[Kryptographie]]></category>
		<category><![CDATA[Notentrainer]]></category>
		<category><![CDATA[Uhr]]></category>

		<guid isPermaLink="false">http://www.neysor.net/?p=943</guid>
		<description><![CDATA[Bei meiner üblichen Datensicherung bin ich wieder einmal auf meinen alten Projektordner mit Dephiprogrammen gestoßen. Gelernt habe ich Delphi im Gymnasium als erste Programmiersprache (nach Q-Basic) und habe es auch danach nicht mehr verwendet. Dennoch sind in dieser Zeit (Ende 2003 &#8211; Anfang 2004) sehr lustige Programme entstanden!  Und weil ich es schade finde, dass [...]]]></description>
			<content:encoded><![CDATA[<p>Bei meiner üblichen Datensicherung bin ich wieder einmal auf meinen alten Projektordner mit <a title="Delphi auf Wikipedia" href="http://de.wikipedia.org/wiki/Embarcadero_Delphi" target="_blank">Dephiprogrammen</a> gestoßen. Gelernt habe ich Delphi im Gymnasium als erste Programmiersprache (nach <a title="QBasic auf Wikipedia" href="http://de.wikipedia.org/wiki/QBasic" target="_blank">Q-Basic</a>) und habe es auch danach nicht mehr verwendet. Dennoch sind in dieser Zeit (Ende 2003 &#8211; Anfang 2004) sehr lustige Programme entstanden! <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Und weil ich es schade finde, dass diese so einfach in dem Ordner verkümmern werde ich euch eine Auswahl vorstellen:</p>
<p><strong>Zu aller erst mein Notentrainer!</strong> Damals habe ich mit Gitarre spielen begonnen und hatte meine Probleme beim Notenlesen. Aufgrund meiner Feststellung, dass Tabs doch um einiges praktischer sind, kann ich auch heute nur Noten &#8220;buchstabieren&#8221; und nicht flüssig lesen, aber darum geht es hier ja nicht <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In der Standardstimmung besitzt die Gitarre das Notenintervall vom <strong>E</strong> bis zum <strong>a&#8221;</strong> weswegen ich diesen auch im <a title="Violinschlüssel auf Wikipedia" href="http://de.wikipedia.org/wiki/Violinschl%C3%BCssel#Violinschl.C3.BCssel" target="_blank">Violinschlüssel</a> darstellen wollte! Die Aufgabe war simpel: Eine Note sollte zufällig erscheinen und mit einen gewissen Zeitdruck sollte man dann das richtige Ergebnis ausführen. Bei einer richtigen Antwort soll sich die Note grün, bei einer falschen Antwort rot färben. Folgender Screenshot stellt das Interface dar:</p>
<p><a href="http://www.neysor.net/wp-content/uploads/2012/01/delphiuhr.png"><br />
</a><a href="http://www.neysor.net/wp-content/uploads/2012/01/notentrainer.png" rel="lightbox[943]" title="notentrainer"><img class="aligncenter size-medium wp-image-944" title="notentrainer" src="http://www.neysor.net/wp-content/uploads/2012/01/notentrainer-300x171.png" alt="" width="300" height="171" /></a></p>
<p>Funktioniert tadellos, vorausgesetzt man füllt auch wirklich etwas ins Textfeld aus. Ansonsten ist es leicht möglich eine ganze Spalte schwarz zu färben <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div>
<p><strong>Ein weiteres Programm ist meine tolle Uhr</strong> die ich programmiert habe <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich wollte erstmals Vektoren auch außerhalb vom Mathematikunterricht benutzen müssen und bin auf die Idee gekommen eine analoge Uhr zu zeichnen. Weil mir das nicht gereicht hat, habe ich auch eine Stoppuhr versucht! Funktioniert wunderbar, bis auf meine naive Annahme, dass durch den zeit-gesteuerten Auslöser eine korrekte Stoppzeit möglich ist. Leider braucht der Rechenvorgang so lange, dass eine Sekunde auf der Stoppuhr weit länger braucht als dies definiert wäre <img src='http://www.neysor.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div><a href="http://www.neysor.net/wp-content/uploads/2012/01/delphiuhr.png" rel="lightbox[943]" title="delphiuhr"><img class="aligncenter size-medium wp-image-947" style="border-style: initial; border-color: initial;" title="delphiuhr" src="http://www.neysor.net/wp-content/uploads/2012/01/delphiuhr-277x300.png" alt="" width="277" height="300" /></a></div>
<div></div>
<div><strong>Zu guter letzt war im Informatikunterricht die Thematik der Kryptographie gegeben</strong>. Deswegen entstand das dritte Programm. Nach 4 Methoden sollte ein geladener Text verschlüsselt und wieder entschlüsselt werden. Zu dieser Zeit habe ich auch Photoshop für mich entdeckt, weswegen vor allem die &#8220;About&#8221; Seite des Programms sehr farbenfroh ist <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Vom Hauptprogramm gebe ich euch auch hier wieder ein kleines Bildchen:</div>
<div></div>
<div><a href="http://www.neysor.net/wp-content/uploads/2012/01/krypto.png" rel="lightbox[943]" title="krypto"><img class="aligncenter size-medium wp-image-949" title="krypto" src="http://www.neysor.net/wp-content/uploads/2012/01/krypto-300x146.png" alt="" width="300" height="146" /></a></div>
<div></div>
<div>Naja, alles damals noch sehr amateurhaft, aber klein fängt man an! <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Den Quelltext der Programme könnt ihr gerne folgend downloaden und frei verwenden!</div>
<div></div>
<div></div>
<div><div class='et-box et-download'>
					<div class='et-box-content'> <strong><a title="Quelltext der Delphi Programme" href="http://www.neysor.net/files/Delphiprogramme_Auswahl.rar">Download des Quelltextes</a> </strong></div></div></div>
<div></div>
</div>
<div></div>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2012/01/historische-programme-aus-dem-hause-neysor/' addthis:title='Historische Programme aus dem Hause Neysor' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2012/01/historische-programme-aus-dem-hause-neysor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes DJ &#8211; Erster Versuch</title>
		<link>http://www.neysor.net/2011/07/itunes-dj-erster-versuch/</link>
		<comments>http://www.neysor.net/2011/07/itunes-dj-erster-versuch/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 14:18:42 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[COM-Interface]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[iTunes DJ]]></category>

		<guid isPermaLink="false">http://www.neysor.net/?p=897</guid>
		<description><![CDATA[Vor kurzem habe ich mich entschlossen, alle meine Lieder in iTunes zu verwalten. Eigentlich konnte ich diese Software nie leiden. Ich war der Typ der alles in selbstverwalteten Ordner gehortet hat Doch mittlerweile mit iPhone, iPad und co. habe ich mich irgendwie auch verleiten lassen alles in dieser Software zu verwalten. Dabei bin ich dann [...]]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich mich entschlossen, alle meine Lieder in iTunes zu verwalten. Eigentlich konnte ich diese Software nie leiden. Ich war der Typ der alles in selbstverwalteten Ordner gehortet hat <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Doch mittlerweile mit iPhone, iPad und co. habe ich mich irgendwie auch verleiten lassen alles in dieser Software zu verwalten. Dabei bin ich dann auch auf iTunes DJ gestoßen. Die Idee ist super. Ein shuffle Modus über die ganze Musik. Aber das beste ist das VOTING System für alle Benutzer. Leider auf iOS beschränkt.</p>
<p>Damit man aber wenigstens das aktuelle Lied auf einem anderen Gerät im Browser sehen kann, habe ich mich entschlossen mit der COM-Library zu spielen. Die Doku ist recht gut und mein erster Versuch hat auch sehr gut geklappt.</p>
<p>Nächstes und Vorheriges Lied sind 2-Zeiler:</p>
<pre class="brush: csharp; title: ; notranslate">

iTunesLib.iTunesApp app = new iTunesAppClass();
 app.PreviousTrack();
//app.NextTrack();
</pre>
<p>Aber auch das anzeigen der Playliste und des Covers des aktuellen Liedes ging sehr einfach. Hier der code:</p>
<pre class="brush: csharp; title: ; notranslate">

iTunesLib.iTunesApp app = new iTunesAppClass();

 String id = app.CurrentPlaylist.playlistID.ToString();
 String name = app.CurrentPlaylist.Name;
 IITTrackCollection c = app.CurrentPlaylist.Tracks;
 IITArtwork Art = c.get_ItemByPlayOrder(6).Artwork[1];
 pictureBox1.Image = null;
 pictureBox1.Invalidate();
 Art.SaveArtworkToFile(&quot;c:\\tmp\\Album.jpg&quot;);
 pictureBox1.Image = null;
 Stream stream = File.Open(&quot;c:\\tmp\\Album.jpg&quot;,FileMode.Open);
 Image temp = Image.FromStream(stream);
 stream.Close();
 pictureBox1.Image = temp;
 String s = &quot;&quot;;
 for (int i = 1; i &gt;= c.Count; i++)
      {
      IITTrack t = c.get_ItemByPlayOrder(i);
      if (t.trackID == app.CurrentTrack.trackID) {  s += &quot;&gt;&gt; &quot;;  }
      s += t.Name + &quot;\n&quot;;
 }
 richTextBox1.Text = &quot;Playlistname:&quot;+name+&quot;\nLieder&quot; + s;
</pre>
<p><a class="fancybox" href="http://www.neysor.net/wp-content/uploads/2011/07/screeny.png" rel="lightbox[897]" title="screeny"><img class="size-medium wp-image-904 aligncenter" title="screeny" src="http://www.neysor.net/wp-content/uploads/2011/07/screeny-300x174.png" alt="" width="300" height="174" /></a></p>
<p>Das war nur mein erster kruzer Versuch und ich hoffe ihr könnt damit was anfangen. Wenn ich dann mich zu einem schöneren Beispiel überwunden habe, werde ich natürlich bessere Erklärungen zu diesen Code liefern. Aber eigentlich sollte es eh recht klar sein was hier passiert <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2011/07/itunes-dj-erster-versuch/' addthis:title='iTunes DJ &#8211; Erster Versuch' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2011/07/itunes-dj-erster-versuch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FindMe</title>
		<link>http://www.neysor.net/2009/12/findme/</link>
		<comments>http://www.neysor.net/2009/12/findme/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 15:46:36 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[FindMe]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[JavaME]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Positionssoftware]]></category>
		<category><![CDATA[Sourceforge]]></category>

		<guid isPermaLink="false">http://blog.neysor.net/?p=223</guid>
		<description><![CDATA[FindMe Nicht mehr suchen, sondern finden! Kurzfassung: Das ist das Motto einer Positionssoftware für Mobiltelefone. Diese Software betreibt allerdings kein Map-Matching um den Nutzer selbst auf eine Karte zu finden. Nein vielmehr findet sie Freunde des Nutzers in der Umgebung. Dies soll den Nutzer ein nerviges Suchen von Freunden in großen Menschenmengen ersparen oder aber [...]]]></description>
			<content:encoded><![CDATA[<p><strong>FindMe<br />
</strong><em>Nicht mehr suchen, sondern finden!</em></p>
<p><em></em><span style="text-decoration: underline;"><strong>Kurzfassung:</strong></span><em><br />
</em></p>
<p>Das ist das Motto einer <strong>Positionssoftware für Mobiltelefone</strong>.<br />
Diese Software betreibt allerdings <strong>kein Map-Matching</strong> um den Nutzer selbst auf eine Karte zu finden. Nein vielmehr findet sie <strong>Freunde des Nutzers in der Umgebung</strong>.</p>
<p>Dies soll den Nutzer ein nerviges <strong>Suchen von Freunden in großen Menschenmengen</strong> ersparen oder aber auch Informationen geben, <strong>wie weit der jeweilige Freund entfernt ist</strong>, der einen abholen soll. Abgesehen von netten Informationen ist sicher ein gewisser Spaßfaktor in der Freizeit gegeben.</p>
<p><span style="text-decoration: underline;"><strong>Entstehungsgeschichte:</strong></span></p>
<p>Diese Software entstand in einem Unterrichtsfach des Studiengangs &#8220;<a title="Intelligente Verkehrssysteme" href="http://www.technikum-wien.at/studium/bachelor/intelligente_verkehrssysteme/" target="_blank">Intelligente Verkehrssysteme</a>&#8221; der <a title="FH Technikum Wien" href="http://www.technikum-wien.at/" target="_blank">FH Technikum Wien</a>. In diesem Unterrichtsfach musste ein Projekt bis zur Bachelorarbeit gestaltet werden. Das &#8220;FindMe&#8221; Team hatte dann die Idee dieser Applikation.</p>
<p>In 4 Semestern wurde sie dann umgesetzt und ist heute bei <a title="Findme bei Sourceforge" href="http://sourceforge.net/projects/findme/" target="_blank">Sourceforge</a> unter der <a title="GPL" href="http://de.wikipedia.org/wiki/GPL">GPL</a> zu finden.</p>
<p><strong><span style="text-decoration: underline;">Wie FindMe funktioniert:</span><br />
</strong></p>
<p>Um die Funktion von FindMe zu gewährleisten wurde das<strong> System in 3 Teile unterteilt</strong>. Dem GPS Empfänger, dem Server und dem Handy. Hier der Systemüberblick:<a href="http://www.neysor.net/wp-content/uploads/2009/12/sysueberblick.png" rel="lightbox[223]" title="Systemüberblick"><img class="aligncenter size-full wp-image-226" title="Systemüberblick" src="http://www.neysor.net/wp-content/uploads/2009/12/sysueberblick.png" alt="Systemüberblick" width="527" height="458" /></a>Das Handy erhält über die<strong> Bluetoothverbindung die GPS Daten</strong> und sendet Sie an den Server. Gleichzeitig kontrolliert das Handy ob neue<strong> Freundschaftsanfragen</strong> vorhanden sind und lädt die <strong>Positionsdaten von benötigten Freunden herunter</strong>.</p>
<p><strong>Freundschaftseinladungen sind analog den sozialen Netzwerken</strong> wie<a title="Facebook" href="http://www.facebook.com" target="_blank"> Facebook</a> und co. umgesetzt. Erst wenn beide Parteien die Freundschaft akzeptiert haben, können daten versendet werden.</p>
<p><span style="text-decoration: underline;"><strong>Aussehen der Applikation auf dem Mobiltelefon:</strong></span></p>
<p>Da das Projektteam wollte, dass es auf so gut wie jedem Mobiltelefon läuft, wurde das <strong>Design recht schlicht gestaltet.</strong> Ein <strong>Freund </strong>wird durch einen<strong> farbigen Punkt</strong> repräsentiert und man <strong>selbst </strong>ist immer der <strong>rote Punkt in der Mitte</strong>. Ein blauer Pfeil zeigt die berechnete <strong>Nordrichtung </strong>an. Das ganze funktioniert auch mit <strong>Fixpunkten</strong>.</p>
<p><a href="http://www.neysor.net/wp-content/uploads/2009/12/screens123.png" rel="lightbox[223]" title="screens123"><img class="aligncenter size-full wp-image-231" title="screens123" src="http://www.neysor.net/wp-content/uploads/2009/12/screens123.png" alt="screens123" width="558" height="238" /></a>Mehr Screenshots findet ihr im <a title="Benutzerhandbuch FindMe" href="http://sourceforge.net/projects/findme/files/Benutzerhandbuch/FindMe_Benutzerhandbuch.pdf/download" target="_blank">Benutzerhandbuch</a>!</p>
<p><span style="text-decoration: underline;"><strong>Kann man FindMe nun einfach downloaden und schon gehts los?</strong></span></p>
<p>Nein, das kann man<strong> leider derzeit nicht</strong>. Wie bereits erwähnt <strong>benötigt </strong>das System einen <strong>Server</strong>. Dieser ist derzeit <strong>inaktiv</strong> und wird nicht mehr verwendet. Da das Projekt allerdings <strong>unter GPL als OpenSource verfügbar</strong> ist, kann man es gerne downloaden auf seinem eigenen Server und Mobiltelefon installieren und dann loslegen.</p>
<p><span style="text-decoration: underline;">An dieser Stelle möchte ich mich noch einmal sehr bedanken bei meinen Kollegen die mit mir dieses Projekt damals umgesetzt haben!</span></p>
<ul>
<li>Christoph Chmela</li>
<li>Petrina Papazek</li>
<li>und Lucas Weiß</li>
</ul>
<p><strong>Mehr informationen?</strong></p>
<p><a title="Findme bei Sourceforge" href="http://sourceforge.net/projects/findme/" target="_blank">http://sourceforge.net/projects/findme/</a></p>
<p><strong>Dort findet ihr alles von Projektplänen bis Quelltext, JavaDoc bist Vortragsmaterialien!</strong><br />
Derzeit ist alles mal soweit hochgeladen, um optisch bessere Aufbereitung werde ich mich zukünftig kümmern. Falls irgendwer interesse hat dieses Projekt weiterzuführen, ist er herzlich eingeladen mich zu kontaktieren!</p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2009/12/findme/' addthis:title='FindMe' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2009/12/findme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gestreifte Tabelle mit JavaScript Teil 1</title>
		<link>http://www.neysor.net/2009/09/gestreifte-tabelle-mit-javascript-teil-1/</link>
		<comments>http://www.neysor.net/2009/09/gestreifte-tabelle-mit-javascript-teil-1/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 18:07:56 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Webprogramming]]></category>
		<category><![CDATA[gestreifte tabelle]]></category>
		<category><![CDATA[rgb hex js]]></category>
		<category><![CDATA[stripe]]></category>
		<category><![CDATA[striped table]]></category>
		<category><![CDATA[tabelle]]></category>

		<guid isPermaLink="false">http://blog.neysor.net/?p=172</guid>
		<description><![CDATA[Gestreifte Tabellen kennt jeder. Helfen sie doch sehr die richtige Tabelle nicht]]></description>
			<content:encoded><![CDATA[<p>Jeder kennt den Effekt der gestreiften Tabelle. Sind die Zeilen abwechselnd in unterschiedlichen Farben, verliert man nicht so einfach den Überblick. Oftmals wird diese nette optische Unterstützung serverseitig (z.B.: in PHP) gelöst, aber manchmal ist es doch einfacher es mit JavaScript zu erledigen.</p>
<p>Doch wie macht man das nun einfach in JavaScript? Ich werde nun erklären wie das geht und einige Erweiterungen dazu geben.</p>
<p>Ich möchte hier kurz erwähnen, dass ich auch einige Ideen aus dem Internet habe, jedoch die Quellen nicht mehr finden kann! Sollte ich die Seite finden die mir den Anstoß gegeben hat, werde ich sie natürlich als Quelle führen!</p>
<p><strong>Leider gibt es das Problem, dass CSS Eigenschaften auf der Tabellenreihe nicht ziehen. Deswegen färben wir jede Tabellendata (&lt;td&gt;)  einzeln.</strong></p>
<pre class="brush: jscript; title: ; notranslate">
/**
* Funktion zum streifen einer Tabelle
* @param id: Die Tabelle muss über eine ID verfügen und die wird hier übergeben
*/
function stripe(id) {
	//Variable fürs Farbwechseln
	var even = false;
	//Farbe für ungerade Zeilen
	var evenColor = &quot;#ffffff&quot;;
	//Farbe für gerade Zeilen
	var oddColor = &quot;#eeeeff&quot;;
	//Wir holen uns das Objekt der Tabelle
	var table = document.getElementById(id);
	//Wenn wir keine Tabelle erhalten haben, dann ist hier Ende
	if(! table) { return; }
	//Wir wollen nur den Tabllenbody streifen.
	var tbodies = table.getElementsByTagName(&quot;tbody&quot;);
	//Wichtig hier ist es, dass es laut Definition mehrere tbodys geben kann! Deswegen die Schleife
	for (var h = 0; h &lt; tbodies.length; h++) {
		//Wir holen uns die Reihen
		var trs = tbodies[h].getElementsByTagName(&quot;tr&quot;);
		//Wir laufen eine Reihe nach der anderen durch
		for (var i = 0; i &lt; trs.length; i++) {
			//Wir laufen nun alle Tabellendata durch
			for (var j = 0; j &lt; tds.length; j++) {
				//Jetzt noch schnell den Hintergrund färben
				tds[j].style.backgroundColor = even ? evenColor : oddColor;
			}
			//Farbwechsel realisieren
			even =  ! even;
		}
	}
}
</pre>
<p>Ist jetzt glaube ich nicht so schwer. Deswegen werden wir diese Funktion erweitern!</p>
<p>Nehmen wir einmal an, wir wollen über ein PHP Script <strong>bestimmte Zellen schon vorfärben die unsere Funktion nicht ändern soll.</strong> Das heißt es sollen <strong>nur die geändert werden die keine Hintergrundfarbe besitzten.</strong></p>
<p>Auch das ist noch relativ einfach gemacht. Wir müssen dazu nur eine if verzweigung vor dem färben hinzufügen <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: jscript; first-line: 25; highlight: [26]; title: ; notranslate">
for (var j = 0; j &lt; tds.length; j++) {
				if(!tds[j].style.backgroundColor){
					tds[j].style.backgroundColor = even ? evenColor : oddColor;
				}
			}
</pre>
<p>Das war einmal Teil I des Berichts. Im zweiten Teil zeige ich euch dann, wie man markierungen von Zeilen mit einer erweiterten Variante der Funktion realisieren kann.</p>
<p>Ebenso zeig ich euch eine Einfach variante mit der man auf unterschiedlichen Farben reagieren kann.</p>
<p>Denn leider ist es nicht möglich mit einem</p>
<pre class="brush: jscript; light: true; title: ; notranslate">
if(tds[j].style.backgroundColor == &quot;#FFFFFF&quot;)
</pre>
<p>zu vergleichen. Vor allem weil wenn man mit einem</p>
<pre class="brush: jscript; light: true; title: ; notranslate">
alert(tds[j].style.backgroundColor);
</pre>
<p>Im InternetExplorer den Hexwert erhält und im FireFox einen rgb wert.<br />
Freut euch schon auf Teil 2 <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2009/09/gestreifte-tabelle-mit-javascript-teil-1/' addthis:title='Gestreifte Tabelle mit JavaScript Teil 1' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2009/09/gestreifte-tabelle-mit-javascript-teil-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel mit C# lesen</title>
		<link>http://www.neysor.net/2009/05/excel-mit-c-sharp-lesen/</link>
		<comments>http://www.neysor.net/2009/05/excel-mit-c-sharp-lesen/#comments</comments>
		<pubDate>Mon, 25 May 2009 21:25:26 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Excel]]></category>

		<guid isPermaLink="false">http://blog.neysor.net/?p=121</guid>
		<description><![CDATA[In einem Ferialpraktikum hatte ich einmal das Problem, dass ich eine Exceldatei aus einer C# Anwendung lesen musste. Dazu habe ich mir 2 Klassen geschrieben. myExcelApplication, welches mir eine Instanz von Microsoft Excel öffnet und nach Beendigung wieder schließt. Und myWorkbook, welche mir den Zugriff auf ein Workbook ermöglicht. Wichtig sind vor allem die Referenzen. [...]]]></description>
			<content:encoded><![CDATA[<p>In einem Ferialpraktikum hatte ich einmal das Problem, dass ich eine Exceldatei aus einer C# Anwendung lesen musste. Dazu habe ich mir 2 Klassen geschrieben. <strong>myExcelApplication</strong>, welches mir eine Instanz von <a href="http://office.microsoft.com/de-at/excel/" title="Microsoft Excel" target="_blank">Microsoft Excel</a> öffnet und nach Beendigung wieder schließt. Und <strong>myWorkbook</strong>, welche mir den Zugriff auf ein Workbook ermöglicht.</p>
<p>Wichtig sind vor allem die Referenzen. Man muss <strong>Microsoft.Office.Core</strong> sowie <strong>Microsoft.Office.Interop.Excel</strong> einbinden, damit es sicher funktioniert <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: csharp; collapse: true; light: false; title: ; toolbar: true; notranslate">
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices; //Für DllImport!
using System.Diagnostics; //Für Process
</pre>
<p><strong>myExcelApplication:</strong></p>
<pre class="brush: csharp; collapse: true; light: false; title: ; toolbar: true; notranslate">
public class myExcelApplication : IDisposable
{
	#region user32 Funktionen
	// Windows OS Funktionen deklarieren
	[DllImport(&quot;user32&quot;)]
	private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

	[DllImport(&quot;user32.dll&quot;, SetLastError = true)]
	static extern uint GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);

	// Ende Os Funktionen
	#endregion

	public Excel.ApplicationClass ExApp; //Besitzt alle Excelfunktionen
	private string ApplicationID; //Ist meine Programmid
	private IntPtr hWnd; // Window Handle
	private int iProcID; // Prozess ID des markierten EXCELs
	private Process p = null; // entsprechendes Process object
	public myExcelApplication()
	{
		//defaulteinstellungen
		System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(&quot;en-US&quot;);
		this.ApplicationID = &quot;Excel_&quot; + System.Guid.NewGuid().ToString().ToUpper(); //ID erzeugen
		this.ExApp = new Excel.ApplicationClass(); //Excelklasse zuweisen
		this.ExApp.DisplayAlerts = false; //keine Warnmeldungen Anzeigen
		this.ExApp.AskToUpdateLinks = false; //Updateabfrage deaktivieren
		this.ExApp.Visible = false; //unsichtbar
		this.ExApp.Caption = this.ApplicationID; //Id zuweisen

	}
	~myExcelApplication()
	{
		this.Dispose();
	}

	#region IDisposable Members

	public void Dispose()
	{
		/*
		 * Folgendes funktioniert nicht:
		 * ExApp.Application.Quit(); oder this.ExApp.Quit();
		 * Leider weiß ich nicht mehr woher ich das habe.
		 * Aber deswegen haben wir die EXCEL Applikation markiert
		 */
		hWnd = FindWindow(null, ApplicationID);
		if (hWnd == IntPtr.Zero) return;
		// zu dem Fenster holen wir uns die Prozess-ID ...
		GetWindowThreadProcessId(hWnd, out iProcID);
		if (iProcID == 0) return;
		// erzeugen ein entsprechendes .NET Prozess Objekt ..
		p = Process.GetProcessById((int)iProcID);
		if (p == null) return;
		// jetzt ist Feierabend ...
		p.CloseMainWindow();    // schliesse Fenster
		p.Refresh();            // gebe alle Prozess-Informationen frei
		if (p != null)
		{
			p.Kill();               // und tschuess ...
		}
	}

	#endregion
}
</pre>
<p><strong>myWorkbook:</strong></p>
<pre class="brush: csharp; collapse: true; light: false; title: ; toolbar: true; notranslate">
public class myWorkbook
{
	public Excel.Workbook myWb;
	public string Datei;
	public myExcelApplication ExApp;
	public bool schreibschutz = false;
	private bool _calculation;
	public bool calculation
	{
		get { return this._calculation; }
		set
		{
			this._calculation = value;
			this.calculate();
		}
	}
	public string aktivsheet;

	public myWorkbook(string datei, myExcelApplication EApp)
	{
		this.Datei = datei;
		this.ExApp = EApp;
	}
	public myWorkbook()
	{
		//leerer konstruktor
	}
	public void open()
	{
		try
		{
			this.myWb = ExApp.ExApp.Workbooks.Open(this.Datei, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
		}
		catch (Exception e)
		{
			//
		}
		//this.myWb = ExApp.ExApp.Workbooks.Open(this.Datei, 0, true, 5, &quot;&quot;, &quot;&quot;, true,Excel.XlPlatform.xlWindows, &quot;t&quot;, false, false, 0, true, false, false);

		if (this.myWb.ReadOnly) { this.schreibschutz = true; }
		this.calculation = false; //Abschalten der automatischen Berechnung
	}
	public void close()
	{
		object Save = Excel.XlSaveAction.xlSaveChanges; //Speichern oder nicht speichern Variable hier setzen
		this.calculation = true; //Noch einmal schnell rechnen lassen vorm schließen
		this.myWb.Close(Save, Type.Missing, Type.Missing); //schließen
	}
	private void calculate()
	{
		//Schaltet automatische Berechnung ab bzw. aktiviert sie wieder
		if (!this.calculation)
		{
			this.ExApp.ExApp.Calculation = Excel.XlCalculation.xlCalculationManual;
		}
		else
		{
			this.ExApp.ExApp.Calculation = Excel.XlCalculation.xlCalculationAutomatic;
			this.ExApp.ExApp.Calculate();
		}
	}
	public Excel.Range Zelle(int Zeile, int Spalte)
	{
		return (Excel.Range)((Excel.Worksheet)this.myWb.Worksheets[this.aktivsheet]).Cells[Zeile, Spalte];
	}
	public Excel.Range Zelle(int Zeile, int Spalte, string Worksheet)
	{
		return (Excel.Range)((Excel.Worksheet)this.myWb.Worksheets[Worksheet]).Cells[Zeile, Spalte];
	}
}
</pre>
<p>Hier ein Beispiel, wie man mit diesen Klassen, die Erste Zelle des Blattes &#8220;Tabelle1&#8243; auslesen kann:</p>
<pre class="brush: csharp; title: ; notranslate">
//Applikation starten
myExcelApplication EApp = new myExcelApplication();
//Workbook erzeugen
myWorkbook ExcelFile = new myWorkbook(&quot;c:\test.xls&quot;, EApp);
//Excelfile öffnen
ExcelFile.open();
//Sheet wählen
ExcelFile.aktivsheet = &quot;Tabelle1&quot;;
//Zeile auslesen
String zelle1 = ExcelFile.Zelle(1, 1).Value2;
//Workbook schließen
ExcelFile.close();
//Applikation schließen
EApp.Dispose();
</pre>
<p><em><strong>Tipp:</strong></em> Schaltet die automatische Berechnung von Zellen ab und erst kurz vorm speichern wieder an. Das spart oftmals wertvolle Rechenzeit <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2009/05/excel-mit-c-sharp-lesen/' addthis:title='Excel mit C# lesen' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2009/05/excel-mit-c-sharp-lesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX light &#8211; Kleine Abfragen ohne großes Framework</title>
		<link>http://www.neysor.net/2009/05/ajax-light-kleine-abfragen-ohne-groses-framework/</link>
		<comments>http://www.neysor.net/2009/05/ajax-light-kleine-abfragen-ohne-groses-framework/#comments</comments>
		<pubDate>Fri, 22 May 2009 18:37:57 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Webprogramming]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Quick and Dirty]]></category>

		<guid isPermaLink="false">http://blog.neysor.net/?p=106</guid>
		<description><![CDATA[AJAX ist eine nette Sache! Dieses Akronym steht für „Asynchronous JavaScript and XML“ und ermöglicht unter anderem dynamisches Nachladen von Inhalten in die HTML Seite. Wer sich ganz genau dafür interessiert, kann ja auf WIKIPEDIA nachschauen Natürlich findet man jetzt eine große Menge an Bibliotheken die man nutzen kann und sollte, aber hier möchte ich [...]]]></description>
			<content:encoded><![CDATA[<p>AJAX ist eine nette Sache! Dieses Akronym steht für „Asynchronous JavaScript and XML“ und ermöglicht unter anderem dynamisches Nachladen von Inhalten in die HTML Seite. Wer sich ganz genau dafür interessiert, kann ja auf <a title="AJAX auf Wikipedia" href="http://de.wikipedia.org/wiki/AJAX" target="_blank">WIKIPEDIA</a> nachschauen <img src='http://www.neysor.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Natürlich findet man jetzt eine große Menge an Bibliotheken die man nutzen kann und sollte, aber hier möchte ich euch eine <a title="Quick and Dirty" href="http://en.wikipedia.org/wiki/Quick-and-dirty" target="_blank">Quick and Dirty</a> Lösung zeigen.</p>
<pre class="brush: jscript; title: ; notranslate">
//AJAX Initialisieren und Funktionen zur Handhabung
var request = false;

// Request senden
function setRequest(url,send,irfunction) {
	// Request erzeugen
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} catch (e) {
			try {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} catch (e) {}
		}
	}
		// überprüfen, ob Request erzeugt wurde
	if (!request) {
		alert(&quot;Kann keine XMLHTTP-Instanz erzeugen&quot;);
		return false;
	} else {
		// Request öffnen
		request.open('post', url, true);
		// Requestheader senden
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
		// Request senden
		request.send(send);
		// Request auswerten
		request.onreadystatechange = function() {
			interpretRequest(irfunction);
		}
	}
}
// Request auswerten
function interpretRequest(irfunction) {
	switch (request.readyState) {
		// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
		case 4:
			if (request.status != 200) {
				alert(&quot;Der Request wurde abgeschlossen, ist aber nicht OKnFehler:&quot;+request.status);
			} else {
				irfunction();
			}
			break;
		default:
			break;
	}
}
//ENDE AJAX Funktionen
</pre>
<p>Wie verwendet man diese Funktionen nun richtig?</p>
<p>Angenommen wir haben eine Formular bei dem sich ein User registrieren muss und wir wollen checken ob der Nick schon vorhanden ist.</p>
<p>Dazu verwenden wir eine PHP Datei, die auf im selben Ordner liegt und abfrage.php heißt. Diese macht uns eine MYSQL Abfrage und liefert uns dann false zurück, wenn der Nickname schon vorhanden ist. Die 2 JavaScript Funktionen die wir zusätzlich noch in der HTML Datei brauchen sind folgende:</p>
<pre class="brush: jscript; title: ; notranslate">
function check_name(nick) {
	//Request abschicken mit Post Variable Nickname
	setRequest(&quot;/abfrage.php&quot;,&quot;nickname=&quot;+nick,check_name_finish);
}
function check_name_finish() {
	var content = request.responseText;
	//Do something
}
</pre>
<p>Die Funktion <em>check_name(nick)</em> <strong>wird vom Inputfeld aufgerufen</strong>, wenn dieses nicht mehr beschrieben wird.  (siehe Code vom Inputfeld). Ist Funktion <em>check_name(nick)</em> <strong>mit der Ausführung fertig</strong>, wird Funktion <em>check_name_finish()</em> <strong>aufgerufen und ausgeführt</strong>. Diese hat nun in der Variable <strong>content</strong> die Antwort der Abfrage und kann nun darauf reagieren.</p>
<p>Und das Inputfeld würde so aussehen:</p>
<pre class="brush: xml; light: true; title: ; notranslate">
&lt;input type=&quot;text&quot; name=&quot;nickname&quot; value=&quot;&quot; onblur=&quot;check_name(this.value)&quot;&gt;
</pre>
<p>Wie bereits erwähnt ist das hier nur Quick and Dirty! Getestet habe ich es mit den neuesten Versionen von IE und FireFox. Viel Spass damit!</p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2009/05/ajax-light-kleine-abfragen-ohne-groses-framework/' addthis:title='AJAX light &#8211; Kleine Abfragen ohne großes Framework' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2009/05/ajax-light-kleine-abfragen-ohne-groses-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Variable Variablennamen in PHP</title>
		<link>http://www.neysor.net/2009/05/variable-variablennamen-in-php/</link>
		<comments>http://www.neysor.net/2009/05/variable-variablennamen-in-php/#comments</comments>
		<pubDate>Sat, 09 May 2009 20:32:39 +0000</pubDate>
		<dc:creator>Neysor</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Webprogramming]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[variablennamen]]></category>

		<guid isPermaLink="false">http://blog.neysor.net/?p=52</guid>
		<description><![CDATA[Ofmals kann es sehr Hilfreich sein, wenn man die Variablennamen variabel angeben kann. Dies ist in PHP sehr einfach möglich indem man noch ein zusätzliches $ vorransetzt. Dieses Beispiel liefert ein schönes &#8220;Hallo&#8221; zurück. Das ganze kann man sogar noch besser nutzen! Besitzt man zum Beispiel mehrere Variablen die sich nur am Schluss durch eine [...]]]></description>
			<content:encoded><![CDATA[<p>Ofmals kann es sehr Hilfreich sein, wenn man die <strong>Variablennamen variabel angeben kann.</strong> Dies ist in PHP sehr einfach möglich indem man noch ein<strong> zusätzliches $ vorransetzt.</strong></p>
<pre class="brush: php; title: ; notranslate">
$var = &quot;test&quot;;
$test = &quot;Hallo&quot;;
echo $$var;
</pre>
<p>Dieses Beispiel liefert ein schönes &#8220;Hallo&#8221; zurück.</p>
<p>Das ganze kann man sogar noch besser nutzen!<br />
Besitzt man zum Beispiel mehrere Variablen die sich nur am Schluss durch eine Zahl unterscheiden  (z.b.: Feld1, Feld2, Feld3, Feld4) so kann man diese schnell in ein Array umwandeln!</p>
<pre class="brush: php; title: ; notranslate">
$Feld1 = &quot;Das&quot;;
$Feld2 = &quot; ist&quot;;
$Feld3 = &quot; ein&quot;;
$Feld4 = &quot; Test&quot;;

for($i=1;$i&lt;=4;$i++){
	$array[$i] = ${&quot;Feld&quot;.$i};
	echo $array[$i];
}
</pre>
<p>Dieses Beispiel gibt &#8220;Das ist ein Test&#8221; zurück.</p>
<p>Einfach oder? <img src='http://www.neysor.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.neysor.net/2009/05/variable-variablennamen-in-php/' addthis:title='Variable Variablennamen in PHP' ><a class="addthis_button_twitter"></a><a class="addthis_button_email"></a><a class="addthis_button_facebook"></a><a class="addthis_button_google"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.neysor.net/2009/05/variable-variablennamen-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

