<?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>Sebastian&#039;s Development Blog</title>
	<atom:link href="http://blog.sebastian-wolfen.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sebastian-wolfen.de</link>
	<description>Interessantes rund um die Windows- und Webentwicklung</description>
	<lastBuildDate>Mon, 14 Nov 2011 16:00:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Automatisiertes Backup mit der Windows Powershell</title>
		<link>http://blog.sebastian-wolfen.de/2011/03/automatisiertes-backup-mit-der-windows-powershell/</link>
		<comments>http://blog.sebastian-wolfen.de/2011/03/automatisiertes-backup-mit-der-windows-powershell/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 12:34:36 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=398</guid>
		<description><![CDATA[Nachdem mein USB-Stick Anfang Februar den Dienst verweigert hat und somit alle Daten, darunter meine Web- und Windows-Projekte, unzugänglich wurden habe ich mir Gedanken über ein automatisiertes Backup für meinen Stick gemacht. Da kam mir die Windows Powershell in den Sinn. Das Backup-Script war mit 5 Zeilen Code schnell geshrieben: Set-Location &#34;I:\&#34; $NowDate = Get-Date [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2011%2F03%2Fautomatisiertes-backup-mit-der-windows-powershell%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2011%2F03%2Fautomatisiertes-backup-mit-der-windows-powershell%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Nachdem mein USB-Stick Anfang Februar den Dienst verweigert hat und somit alle Daten, darunter meine Web- und Windows-Projekte, unzugänglich wurden habe ich mir Gedanken über ein automatisiertes Backup für meinen Stick gemacht. Da kam mir die Windows Powershell in den Sinn.</p>
<p>Das Backup-Script war mit 5 Zeilen Code schnell geshrieben:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008080; font-weight: bold;">Set-Location</span> <span style="color: #800000;">&quot;I:\&quot;</span>
<span style="color: #800080;">$NowDate</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Get-Date</span> <span style="color: #008080; font-style: italic;">-UFormat</span> <span style="color: pink;">%</span>Y\<span style="color: pink;">%</span>m\<span style="color: pink;">%</span>d.<span style="color: pink;">%</span>m.<span style="color: pink;">%</span>Y
<span style="color: #800080;">$BackupPath</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;E:\Backup\UsbStick\$NowDate\&quot;</span>
<span style="color: #008080; font-weight: bold;">New-Item</span> <span style="color: #008080; font-style: italic;">-Path</span> <span style="color: #800080;">$BackupPath</span> <span style="color: #008080; font-style: italic;">-ItemType</span> <span style="color: #800000;">&quot;Directory&quot;</span>
<span style="color: #008080; font-weight: bold;">Get-Childitem</span> <span style="color: #800000;">&quot;I:\&quot;</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">ForEach-Object</span> <span style="color: #008080; font-style: italic;">-Process</span> <span style="color: #000000;">&#123;</span> <span style="color: #008080; font-weight: bold;">Copy-Item</span> <span style="color: #000080;">$_</span> <span style="color: #008080; font-style: italic;">-Destination</span> <span style="color: #800080;">$BackupPath</span> <span style="color: #008080; font-style: italic;">-Recurse</span> <span style="color: #000000;">&#125;</span></pre></div></div>

<p lang="powershell">Zur Erklärung:</p>
<ol>
<li lang="powershell">Der aktuelle Arbeitsort wird auf das zu sichernde Wechselmedium gesetzt.</li>
<li> Die Backups werden nach Jahren, Monaten und zuletzt Sicherungsdatum angelegt. Daher ist das Datum $NowDate im  Format JJJJ\MM\DD.MM.JJJJ nötig.</li>
<li>Auf die Variable $BackupPath wird der Speicherort der Backups geschrieben, wobei zum Schluss das bereits für den Ordnerpfad formatierte Datum angehängt wird.</li>
<li>Entsprechend dem Inhalt von $BackupPath wird ein neuer Ordner angelegt.</li>
<li>Die Elemente des zu sichernden Sticks werden ausgelesen und an den Zielort $BackupPath kopiert, wobei durch das Anfügen von -Recurse an die Anweisung die Ordner rekursiv kopiert werden.</li>
</ol>
<p>Nachdem dieser Code als *.ps1-Datei gespeichert wurde, kann nun die Zeitgesteuerte Ausführung über die Windows Aufgabenplanung eingerichtet werden.</p>
<p>In dieser wird eine neue Aufgabe erstellt; die Trigger müssen nach eigenen Vorlieben eingestellt werden.<br />
Als Aktion gibt man powershell ein. Im Feld Argumente wird folgendes eingegeben:</p>
<pre>-noprofile -command Pfad\Datei.ps1</pre>
<p>Pfad und Datei müssen natürlich noch durch den Pfad zur Datei und den Dateinamen ersetzt werden.</p>
<p>Nun muss man sich nicht mehr um das Sichern seines USB-Sticks kümmern.</p>
<p>&nbsp;</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2011/03/automatisiertes-backup-mit-der-windows-powershell/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2011/03/automatisiertes-backup-mit-der-windows-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates für meine Programme verfügbar</title>
		<link>http://blog.sebastian-wolfen.de/2010/12/updates-fur-meine-programme-verfugbar/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/12/updates-fur-meine-programme-verfugbar/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 12:28:45 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=382</guid>
		<description><![CDATA[Die Server-Probleme sind behoben, sodass die Updates von RideLog und PhotoStackRenamer nun auch als Direkt-Download verfügbar sind. Share on FacebookHere is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F12%2Fupdates-fur-meine-programme-verfugbar%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F12%2Fupdates-fur-meine-programme-verfugbar%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Die Server-Probleme sind behoben, sodass die Updates von RideLog und PhotoStackRenamer nun auch als Direkt-Download verfügbar sind.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/12/updates-fur-meine-programme-verfugbar/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/12/updates-fur-meine-programme-verfugbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates für meine Programme</title>
		<link>http://blog.sebastian-wolfen.de/2010/12/updates-fr-meine-programme/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/12/updates-fr-meine-programme/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 23:29:00 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Info]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[PhotoStackRenamer]]></category>
		<category><![CDATA[RideLog]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/2010/12/updates-fr-meine-programme/</guid>
		<description><![CDATA[Information: Aufgrund von Server-Problemen stehen die Updates vorerst nur per Auto-Update zur Verfügung! RideLog 1.0.0.1 Am 01. Dezember habe ich RideLog in der Version 1.0.0.1 veröffentlicht. Neu ist allerdings nur ein wenig Text auf der Datei- bzw. Druck-Ausgabe: Über &#8220;Daten für das Jahr XXXX&#8221; steht nun als Überschrift &#8220;FAHRTENBUCH&#8221;. PhotoStackRenamer 1.1.0.3 Heute habe ich den [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F12%2Fupdates-fr-meine-programme%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F12%2Fupdates-fr-meine-programme%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em><span style="background-color: #ffff00;"><span style="text-decoration: underline;"><strong>Information:</strong></span> Aufgrund von Server-Problemen stehen die Updates vorerst nur per Auto-Update zur Verfügung!</span></em></p>
<h3>RideLog 1.0.0.1</h3>
<p>Am 01. Dezember habe ich RideLog in der Version 1.0.0.1 veröffentlicht. Neu ist allerdings nur ein wenig Text auf der Datei- bzw. Druck-Ausgabe: Über &#8220;Daten für das Jahr XXXX&#8221; steht nun als Überschrift &#8220;FAHRTENBUCH&#8221;.</p>
<h3>PhotoStackRenamer 1.1.0.3</h3>
<p>Heute habe ich den PhotoStackRenamer 1.1.0.3 veröffentlicht. Neu ist die Möglichkeit, Drag-and-Drop für das Laden der Fotos in die Umbenennungsliste zu nutzen.</p>
<h3>Auto-Update</h3>
<p>Wer RideLog 1.0.0.0 bzw. PhotoStackRenamer 1.1.0.2 installiert hat, sollte in den nächsten zwei Wochen von der Software selbst, oder besser gesagt von Microsofts ClickOnce, das Update angeboten bekommen (vorausgesetzt, die Anwendungen werden hin und wieder mal geöffnet <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="http://blog.sebastian-wolfen.de/wp-content/uploads/38154415be47_48A/wlEmoticon-smile.png" alt="Smiley" />).</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/12/updates-fr-meine-programme/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/12/updates-fr-meine-programme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tolles Tool: Rainmeter</title>
		<link>http://blog.sebastian-wolfen.de/2010/09/tolles-tool-rainmeter/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/09/tolles-tool-rainmeter/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 20:04:55 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Minianwendungen]]></category>
		<category><![CDATA[Rainmeter]]></category>
		<category><![CDATA[Side Bar]]></category>
		<category><![CDATA[Skins]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=362</guid>
		<description><![CDATA[Vor ein paar Tagen bin ich auf Rainmeter aufmerksam geworden und war auf Anhieb begeistert. Rainmeter ist so etwas Ähnliches wie die Minianwendungen von Windows 7. Der für mich entscheidende Vorteil liegt hier allerdings darin, dass der Editor reicht, um ein sogenanntes Skin für Rainmeter zu erstellen. Diese Skins sind ini-Dateien, in denen Werte gemessen [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F09%2Ftolles-tool-rainmeter%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F09%2Ftolles-tool-rainmeter%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Vor ein paar Tagen bin ich auf <a href="http://www.rainmeter.net">Rainmeter</a> aufmerksam geworden und war auf Anhieb begeistert. Rainmeter ist so etwas Ähnliches wie die Minianwendungen von Windows 7. Der für mich entscheidende Vorteil liegt hier allerdings darin, dass der Editor reicht, um ein sogenanntes Skin für Rainmeter zu erstellen.</p>
<p>Diese Skins sind ini-Dateien, in denen Werte gemessen und anschließend nach Belieben ausgegeben werden. Dabei stehen eine Reihe von Messungsmöglichkeiten wie der PC-Laufzeit, der CPU-Auslastung uvm. zur Verfügung. Des weiteren sind bereits Plugins mitgeliefert, die beispielsweise das Parsen von Web-Dokumenten ermöglichen.</p>
<p>Natürlich habe ich sofort mit dem Schreiben von eigenen Skins losgelegt. Ein paar sind schon fertig.</p>
<p style="text-align: center;">
<div id="attachment_366" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sebastian-wolfen.de/wp-content/uploads/Rainmeter-Skins-own.png"><img class="size-medium wp-image-366" title="eigene Rainmeter Skins" src="http://blog.sebastian-wolfen.de/wp-content/uploads/Rainmeter-Skins-own-300x137.png" alt="Meine selbst geschriebenen Rainmeter Skins" width="300" height="137" /></a><p class="wp-caption-text">Meine selbst geschriebenen Rainmeter Skins</p></div>
<p>Als kleines Beispiel hier mal der Code meines PC UpTime-Skins:</p>
<pre>[Rainmeter]
Update=1000
Author=SeKliSys (Sebastian Kliem)

[Metadata]
Name=PC UpTime
Config=The Elegance Of Simplicity | PCUpTime
Description=Displays teh german date.
Instructions=
Version=1.0
Tags=basic | clean | Silmple | elegance | PC | UpTime
License=

[Variables]
_FontColor=255,255,255,220
_FontFace=Segoe UI

:-------Measures-------

[MeasureUpTime]
Measure=UpTime
Format=%4!i!d %3!i!h %2!i!m %1!i!s

;--------Meters--------
[MeterUpTimeHead]
Meter=STRING
X=0
Y=0
FontFace=#_FontFace#
FontSize=20
FontColor=#_FontColor#
StringAlign=LEFT
AntiAlias=1
Text="PC UpTime"

[MeterUpTime]
MeasureName=MeasureUpTime
Meter=STRING
X=5r
Y=35r
FontFace=#_FontFace#
FontSize=15
FontColor=#_FontColor#
StringAlign=LEFT
AntiAlias=1</pre>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/09/tolles-tool-rainmeter/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/09/tolles-tool-rainmeter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UserControl, das sich selbst aus einem übergeordnetem Element löscht</title>
		<link>http://blog.sebastian-wolfen.de/2010/06/usercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/06/usercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:16:38 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=354</guid>
		<description><![CDATA[In einem meiner aktuellen Projekte habe ich mehrere UserControls in einem StackPanel untergebracht. Der Nutzer soll selbst auswählen können, welche er davon angezeigt haben möchte und welche nicht. Und er soll diese Auswahl zur Laufzeit treffen können &#8211; ohne Restart des Programms. Die Lösung: Einfach das übergeordnete Element in ein StackPanel konvertieren und das Control [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F06%2Fusercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F06%2Fusercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In einem meiner aktuellen Projekte habe ich mehrere UserControls in einem StackPanel untergebracht. Der Nutzer soll selbst auswählen können, welche er davon angezeigt haben möchte und welche nicht. Und er soll diese Auswahl zur Laufzeit treffen können &ndash; ohne Restart des Programms.</p>
<p><strong>Die Lösung:</strong> Einfach das übergeordnete Element in ein StackPanel konvertieren und das Control sich selbst löschen lassen:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// das Click-Event meines Close-Buttons im zu löschenden UserControl</span>
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> _CloseButton_Click<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, RoutedEventArgs e<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>StackPanel<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Parent</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Children</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Remove</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/06/usercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/06/usercontrol-das-sich-selbst-aus-einem-ubergeordnetem-element-loscht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einem BackgroundWorker mehrere Werte übergeben</title>
		<link>http://blog.sebastian-wolfen.de/2010/06/einem-backgroundworker-mehrere-werte-ubergeben/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/06/einem-backgroundworker-mehrere-werte-ubergeben/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 21:54:24 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[BackgroundWorker]]></category>
		<category><![CDATA[mehrere]]></category>
		<category><![CDATA[Variablen]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=332</guid>
		<description><![CDATA[In einem meiner aktuellen Projekte habe ich einen BackgroundWorker benötigt, dem ich mehr als einen Wert übergeben kann. Da das &#8220;von Haus aus&#8221; nicht möglich ist, habe ich natürlich das Internet befragt. Das war leider reine Zeitverschwendung &#8230; Da kam mir eine Idee: Warum denn nicht eine Liste vom Typ object nehmen? Diese kann man [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F06%2Feinem-backgroundworker-mehrere-werte-ubergeben%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F06%2Feinem-backgroundworker-mehrere-werte-ubergeben%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In einem meiner aktuellen Projekte habe ich einen BackgroundWorker benötigt, dem ich mehr als einen Wert übergeben kann. Da das &#8220;von Haus aus&#8221; nicht möglich ist, habe ich natürlich das Internet befragt. Das war leider reine Zeitverschwendung &#8230;</p>
<p>Da kam mir eine Idee: Warum denn nicht eine Liste vom Typ object nehmen? Diese kann man dann mit seinen Variablen verschiedenen Typs füllen. und der RunWorkerAsync()-Methode übergeben.</p>
<p>Damit man damit dann in der DoWork()-Methode auch arbeiten kann, muss man das übergebene Argument wieder in eine List&lt;object&gt; konvertieren:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">List<span style="color: #008000;">&lt;</span><span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&gt;</span> Arguments <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>List<span style="color: #008000;">&lt;</span><span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&gt;</span><span style="color: #008000;">&#41;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">Argument</span><span style="color: #008000;">;</span></pre></div></div>

<p>Danach kann man über den Index auf die Elemente zugreifen und sie verwenden:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #6666cc; font-weight: bold;">int</span> Var1 <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span><span style="color: #008000;">&#41;</span>Arguments<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #6666cc; font-weight: bold;">string</span> Var2 <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#41;</span>Argument<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span></pre></div></div>

<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/06/einem-backgroundworker-mehrere-werte-ubergeben/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/06/einem-backgroundworker-mehrere-werte-ubergeben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Kalender mit PHP</title>
		<link>http://blog.sebastian-wolfen.de/2010/04/ein-kalender-mit-php/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/04/ein-kalender-mit-php/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 14:29:29 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Kalender]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=263</guid>
		<description><![CDATA[Um bevorstehende Termine übersichtlich auf einer Website darstellen zu können eignet sich ein Kalender ziemlich gut. Wie man diesen programmieren könnte, möchte ich im folgenden zeigen. Um die Kalenderausgabe für einen bestimmten Monat in einem bestimmten Jahr auszugeben, wird der Code in eine Funktion geschrieben. function ShowCalendar&#40;$ShowMonth, $ShowYear&#41; &#123; &#160; &#125; Benötige Variablen erstellen Der [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F04%2Fein-kalender-mit-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F04%2Fein-kalender-mit-php%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Um bevorstehende Termine übersichtlich auf einer Website darstellen zu können eignet sich ein Kalender ziemlich gut. Wie man diesen programmieren könnte, möchte ich im folgenden zeigen.</p>
<p>Um die Kalenderausgabe für einen bestimmten Monat in einem bestimmten Jahr auszugeben, wird der Code in eine Funktion geschrieben.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> ShowCalendar<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h4>Benötige Variablen erstellen</h4>
<p>Der anzuzeigende Monat und das anzuzeigende Jahr werden als Funktionparameter geholt. Danach müssen noch der aktuelle Tag, die Anzahl der Tage im Monat sowie die Anzahl der Wochen im Monat bestimmt werden. Außerdem wird noch ein Array benötigt, in das die einzelnen Tage später geschrieben werden.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$NowDay</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;d&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$DaysInMonth</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;t&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$WeeksInMonth</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;W&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$DaysInNowMonth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;W&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$CalData</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>Array füllen</h4>
<p>Zuerst werden so viele Elemente in das Array eingefügt, wie der Monat Wochen hat.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$WeeksInMonth</span><span style="color: #339933;">;</span> <span style="color: #000088;">$a</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$CalData</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Dann wird jede Woche im Array mit den entsprechenden Tagen gefüllt. Dabei wird für jeden Tag bestimmt, der wievielte Tag der Woche es ist, und dieser wird dann an entsprechender Stelle in die Woche eingefügt. Da date(&#8220;w&#8221;, $timestamp) allerdings den Sonntag als Tag Nr. 0 und den Samstag als Tag Nr. 6 zurück liefert, müssen der Sonntag als Nr. 6 festgelegt und alle anderen zurückgegebenen Werte um 1 verringert werden.</p>
<p>Und immer, wenn das Skript beim sechsten Tag der Woche angelangt ist, wird der Wochenzähler um 1 erhöht, wodurch dann die nächste Woche gefüllt wird.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$w</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$DaysInMonth</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$Day</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#40;</span><span style="color: #000088;">$Day</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$Day</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">6</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$Day</span><span style="color: #339933;">--;</span>
	<span style="color: #000088;">$CalData</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$w</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$Day</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Day</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$w</span><span style="color: #339933;">++;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h4>Monate auf Deutsch</h4>
<p>Damit die Monate dann auch auf Deutsch angezeigt werden, wir dein Array mit den deutschen Bezeichnungen angelegt.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$Months</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Januar&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">1</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Februar&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">2</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;März&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">3</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;April&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">4</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Mai&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">5</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Juni&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">6</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Juli&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">7</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;August&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">8</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;September&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">9</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Oktober&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">10</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;November&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #cc66cc;">11</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Dezember&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>Die Ausgabe des Kalenders</h4>
<h5>Der Tabellenkopf</h5>
<p>Für den Tabellenkopf müssen erst einmal Monat und Jahr entsprechend formatiert werden.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #0000cc; font-style: italic;">&lt;&lt;&lt;DOC
	&lt;table&gt;
		&lt;tr&gt;
			&lt;th colspan=&quot;7&quot;&gt;
				$Month_Year_formatted
			&lt;/th&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;Mo&lt;/th&gt;
			&lt;th&gt;Di&lt;/th&gt;
			&lt;th&gt;Mi&lt;/th&gt;
			&lt;th&gt;Do&lt;/th&gt;
			&lt;th&gt;Fr&lt;/th&gt;
			&lt;th&gt;Sa&lt;/th&gt;
			&lt;th&gt;So&lt;/th&gt;
		&lt;/tr&gt;
DOC</span><span style="color: #339933;">;</span></pre></div></div>

<h5>Der Inhalt – das Array auslesen</h5>
<p>Nun wird für jedes Wochenelement im Array eine Zeile angelegt und für jeden Tag in dieser Zeile eine Zelle angelegt und am Ende die Tabelle geschlossen.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$CalData</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$Week</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;tr&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$wd</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$wd</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">;</span> <span style="color: #000088;">$wd</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowMonth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$Week</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$wd</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ShowYear</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;m&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$NowDay</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// CSS-Klasse Cal_Today: .Cal_Today { border: 1px #000000 solid; }</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;td class='Cal_Today'&gt;<span style="color: #006699; font-weight: bold;">$Week</span>[<span style="color: #006699; font-weight: bold;">$wd</span>]&lt;/td&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">else</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;td&gt;<span style="color: #006699; font-weight: bold;">$Week</span>[<span style="color: #006699; font-weight: bold;">$wd</span>]&lt;/td&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/tr&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/table&gt;&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>So könnte der Kalender beispielsweise am Ende aussehen:<br />
<img style="margin-left: 0px; margin-right: 0px; border-width: 0px;" title="PHP_Calendar" src="http://blog.sebastian-wolfen.de/wp-content/uploads/PHP_Calendar.png" border="0" alt="PHP_Calendar" width="157" height="170" /><br />
Das gesamte PHP-Skript steht <a href="http://blog.sebastian-wolfen.de/?page_id=291" target="_blank">hier</a> zum Download bereit.</p>
<p>Man könnte nun noch eine Blätter-Funktion hinzufügen. Eine Möglichkeit diese zu implementieren ist im Download-Skript mit enthalten.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/04/ein-kalender-mit-php/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/04/ein-kalender-mit-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CeBIT 2010</title>
		<link>http://blog.sebastian-wolfen.de/2010/03/cebit-2010/</link>
		<comments>http://blog.sebastian-wolfen.de/2010/03/cebit-2010/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 11:35:36 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CeBIT]]></category>

		<guid isPermaLink="false">http://blog.sebastian-wolfen.de/?p=161</guid>
		<description><![CDATA[Nachdem ich letztes Jahr nach meinem ersten CeBIT-Besuch begeistert zurück kam, hatte ich mich entschlossen auch die diesjährige CeBIT zu besuchen. Das haben mein Kumpel Martin Geßner und ich gestern auch getan. Allerdings waren An- und Abreise mit dem Zug eine “Abenteuerfahrt” … Die Anreise Um 05:10 Uhr sollte unser Zug von Wolfen nach Bitterfeld [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F03%2Fcebit-2010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2010%2F03%2Fcebit-2010%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Nachdem ich letztes Jahr nach meinem ersten CeBIT-Besuch begeistert zurück kam, hatte ich mich entschlossen auch die diesjährige CeBIT zu besuchen. Das haben mein Kumpel <a href="http://martin-gessner.de" target="_blank">Martin Geßner</a> und ich gestern auch getan. Allerdings waren An- und Abreise mit dem Zug eine “Abenteuerfahrt” …</p>
<h4>Die Anreise</h4>
<p>Um 05:10 Uhr sollte unser Zug von Wolfen nach Bitterfeld fahren – es hatte die Nacht geschneit und dies war der erste Zug. So gegen 05:15 Uhr kam dann die Durchsage, der Zug hätte unbestimmte Zeit Verspätung. Wenige Minuten später teilte uns die nächste Durchsage mit: 28 Minuten Verspätung. Dadurch hatten wir unseren Anschlusszug von Bitterfeld nach Halle verpasst und mussten also auf den nächsten warten. Der kam&#160; &#8211; sogar pünktlich – 6:20 Uhr an. In Halle konnten wir durch die Verspätung des ersten Zuges erst den Zug 2 Stunden später nehmen, in den wir dann gegen 08:02 Uhr eingestiegen sind. Dieser kam aus Leipzig und war bereits gut gefüllt – wir mussten also stehen. Nachdem es von Station zu Station immer mehr Leute im Zug wurden, und man lauter Leuten fast nicht mehr umfallen konnte, wurde glücklicherweise die erste Klasse frei gegeben und wir hatten uns dort Sitzplätze ergattert – der Fahrtcomfort für die nächsten 2 Stunden war gerettet. Um 11:40 Uhr waren wir in Hannover angekommen und um 12:19 Uhr kamen wir endlich am Messebahnhof an.</p>
<h4>Die CeBIT</h4>
<p>Die Anfahrt hat sich aber dennoch gelohnt. Die CeBIT selbst war super. Die meiste Zeit haben wir uns natürlich bei Microsoft aufgehalten <img src='http://blog.sebastian-wolfen.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Wir haben uns u. a. einen Vortrag über Microsoft Security Essentials im MSDN- / Technet-Vortragsraum angesehen, später dann noch Vorträge über Microsoft Visual Studio 2010 und Microsoft Silverlight, die nicht im Vortragsraum, sondern direkt “draußen” auf dem Gang statt fanden.    <br />Hier mal ein paar Bilder.     <br /> 
<div style="width: 500px; margin-left: auto; margin-right: auto"><a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Messegelnde03_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Messegelände 03_web" border="0" alt="CeBit 2010, Messegelände 03_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Messegelnde03_web_thumb2.jpg" width="246" height="411" /></a> <a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Messegelnde04_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Messegelände 04_web" border="0" alt="CeBit 2010, Messegelände 04_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Messegelnde04_web_thumb2.jpg" width="247" height="411" /></a> <a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft01_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Microsoft 01_web" border="0" alt="CeBit 2010, Microsoft 01_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft01_web_thumb2.jpg" width="245" height="147" /></a> <a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft02_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Microsoft 02_web" border="0" alt="CeBit 2010, Microsoft 02_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft02_web_thumb2.jpg" width="248" height="149" /></a> <a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft04_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Microsoft 04_web" border="0" alt="CeBit 2010, Microsoft 04_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft04_web_thumb2.jpg" width="245" height="147" /></a> <a href="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft05_web2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CeBit 2010, Microsoft 05_web" border="0" alt="CeBit 2010, Microsoft 05_web" src="http://blog.sebastian-wolfen.de/wp-content/uploads/CeBit2010Microsoft05_web_thumb2.jpg" width="247" height="148" /></a> </div>
</p>
<h4>Die Rückreise</h4>
<p>Rückzu hatten wir Glück, dass wir rechtzeitig im Zug <em>saßen</em>, denn das “Drama” vom Morgen setzte sich fort. Diesmal wurden es allerdings von Station zu Station weniger Leute im Zug. Als wir dann in Halle ankamen, schaute Martin mit seinem Handy nach aktuellen Streckeninformationen: Schienenersatzverkehr! Dadurch kamen wir nicht wie geplant 23:17 Uhr, sondern erst 00:42 Uhr in Wolfen an.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2010/03/cebit-2010/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2010/03/cebit-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-To: RichTextBox absatzweise auslesen</title>
		<link>http://blog.sebastian-wolfen.de/2009/12/how-to-richtextbox-absatzweise-auslesen/</link>
		<comments>http://blog.sebastian-wolfen.de/2009/12/how-to-richtextbox-absatzweise-auslesen/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 17:26:01 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[RichTextBox]]></category>

		<guid isPermaLink="false">http://sebastiandevblog.wordpress.com/?p=91</guid>
		<description><![CDATA[Für mein aktuelles Projekt, die Homepageverwaltung 2, ist es nötig, den Inhalt eine RichTextBox nicht zeilenweise, sondern absatzweise auszulesen und im HTML-Code erst dann ein &#60;br /&#62; einzufügen. Wie das funktioniert, zeige ich nun. Zuerst wird ein String, der den späteren HTML-Code enthält, erstellt. string HtmlCode = &#34;&#34;; Nun wird die RichTextBox mittels einer foreach-Schleife [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2009%2F12%2Fhow-to-richtextbox-absatzweise-auslesen%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2009%2F12%2Fhow-to-richtextbox-absatzweise-auslesen%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Für mein aktuelles Projekt, die Homepageverwaltung 2, ist es nötig, den Inhalt eine RichTextBox nicht zeilenweise, sondern absatzweise auszulesen und im HTML-Code erst dann ein &lt;br /&gt; einzufügen. Wie das funktioniert, zeige ich nun.</p>
<p>Zuerst wird ein String, der den späteren HTML-Code enthält, erstellt.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #6666cc; font-weight: bold;">string</span> HtmlCode <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Nun wird die RichTextBox mittels einer foreach-Schleife absatzweise ausgelesen.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>Paragraph p <span style="color: #0600FF; font-weight: bold;">in</span> _InhaltRTBox<span style="color: #008000;">.</span><span style="color: #0000FF;">Document</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Blocks</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// TextRange-Objekt mit Text vom Absatz-Anfang bis Absatz-Ende füllen</span>
    TextRange ParagraphText <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> TextRange<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">ContentStart</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">ContentEnd</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// Text des TextRange-Objekts (mit etwas Formatierung) in den String schreiben</span>
    Text <span style="color: #008000;">+=</span> ParagraphText<span style="color: #008000;">.</span><span style="color: #0000FF;">Text</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">+</span> Environment<span style="color: #008000;">.</span><span style="color: #0000FF;">NewLine</span><span style="color: #008000;">;</span>
    Text <span style="color: #008000;">+=</span> <span style="color: #666666;">&quot;&lt;br /&gt;&quot;</span> <span style="color: #008000;">+</span> Environment<span style="color: #008000;">.</span><span style="color: #0000FF;">NewLine</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2009/12/how-to-richtextbox-absatzweise-auslesen/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2009/12/how-to-richtextbox-absatzweise-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-To: E-Mails versenden mit C#</title>
		<link>http://blog.sebastian-wolfen.de/2009/11/how-to-e-mails-versenden-mit-c/</link>
		<comments>http://blog.sebastian-wolfen.de/2009/11/how-to-e-mails-versenden-mit-c/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 19:40:18 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[E-Mail]]></category>

		<guid isPermaLink="false">http://sebastiandevblog.wordpress.com/?p=44</guid>
		<description><![CDATA[Für Kontaktformulare oder andere Zwecke  ist es nötig, E-Mails zu versenden. Wie das mit C# funktioniert möchte ich nun einmal kurz zeigen. Zum Versenden von Mails sind zunächst Absender und Empfänger (jeweils Adresse und Anzeigetext), Inhalt der Mail sowie ein E-Mail-Server nötig. Außerdem kann man noch einen Betreff und Anhänge anfügen. Bei meinem portable MailClient [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2009%2F11%2Fhow-to-e-mails-versenden-mit-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sebastian-wolfen.de%2F2009%2F11%2Fhow-to-e-mails-versenden-mit-c%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Für Kontaktformulare oder a<span style="color:#000000;">nde</span>re Zwecke  ist es nötig, E-Mails zu versenden. Wie das mit C# funktioniert möchte ich nun einmal kurz zeigen.</p>
<p>Zum Versenden von Mails sind zunächst Absender und Empfänger (jeweils Adresse und Anzeigetext), Inhalt der Mail sowie ein E-Mail-Server nötig. Außerdem kann man noch einen Betreff und Anhänge anfügen. Bei meinem portable MailClient werden diese Informationen aus TextBoxen geholt.</p>
<div id="attachment_47" class="wp-caption aligncenter" style="width: 310px"><a href="http://sebastiandevblog.files.wordpress.com/2009/11/newemailwindow.png"><img class="size-medium wp-image-47 " title="NewEMailWindow" src="http://sebastiandevblog.files.wordpress.com/2009/11/newemailwindow.png?w=300" alt="Das Fenster für neue E-Mails im pMC." width="300" height="260" /></a><p class="wp-caption-text">Das Fenster für neue E-Mails im pMC. (Server und Absender werden in einem anderen Fenster abgefragt.)</p></div>
<p>Nun aber zum Code. Zunächst sollten für bessere Übersichtlichkeit im Code zwei Namespaces eingebunden werden.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Net</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Net.Mail</span><span style="color: #008000;">;</span></pre></div></div>

<p>Danach wird die Methode zum Versenden geschrieben.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> MailSenden<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// Erstellen von zwei E-Mail-Adressen: Absender und Empfänger</span>
    MailAddress Absender <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MailAddress<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Adresse&quot;</span>,
       <span style="color: #666666;">&quot;Anzeigename&quot;</span>, <span style="color: #000000;">System.<span style="color: #0000FF;">Text</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Encoding</span><span style="color: #008000;">.</span><span style="color: #0000FF;">UTF8</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    MailAddress Empfaenger <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MailAddress<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Adresse&quot;</span>, <span style="color: #666666;">&quot;Anzeigename&quot;</span>,
       <span style="color: #000000;">System.<span style="color: #0000FF;">Text</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Encoding</span><span style="color: #008000;">.</span><span style="color: #0000FF;">UTF8</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// MailMessage erstellen und mit Inhalt füllen</span>
    MailMessage Mail1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MailMessage<span style="color: #008000;">&#40;</span>Absender, Empfaenger<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    Mail1<span style="color: #008000;">.</span><span style="color: #0000FF;">IsBodyHtml</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
    Mail1<span style="color: #008000;">.</span><span style="color: #0000FF;">Subject</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Betreff&quot;</span><span style="color: #008000;">;</span>
    Mail1<span style="color: #008000;">.</span><span style="color: #0000FF;">Body</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Inhalt&quot;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// SmptClient zum Versenden der Mail</span>
    SmtpClient SmtpClient1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SmtpClient<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Server&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    SmtpClient1<span style="color: #008000;">.</span><span style="color: #0000FF;">Credentials</span> <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> NetworkCredential<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Benutzername&quot;</span>, <span style="color: #666666;">&quot;Passwort&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    SmtpClient1<span style="color: #008000;">.</span><span style="color: #0000FF;">Send</span><span style="color: #008000;">&#40;</span>Mail1<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://blog.sebastian-wolfen.de/2009/11/how-to-e-mails-versenden-mit-c/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-wolfen.de/2009/11/how-to-e-mails-versenden-mit-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

