<?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>jOhblOg &#187; Programmieren</title>
	<atom:link href="http://web.slzm.de/blog/category/programmieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://web.slzm.de/blog</link>
	<description></description>
	<lastBuildDate>Wed, 02 Jun 2010 10:31:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Führende Zeilennummern entfernen</title>
		<link>http://web.slzm.de/blog/programmieren/fuhrende-zeilennummern-entfernen/</link>
		<comments>http://web.slzm.de/blog/programmieren/fuhrende-zeilennummern-entfernen/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 10:31:20 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=185</guid>
		<description><![CDATA[Mancher Texteditor und manche Webseite ist ja der Meinung, dass Code mit Zeilennummern versehen werden sollte. Das ist prinzipiell auch meine Meinung, allerdings nervt es tierisch, wenn dann beim Rauskopieren die Zeilennummern (die ja nur Metainformation sind) mitwandern. Die Lösung &#8230; <a href="http://web.slzm.de/blog/programmieren/fuhrende-zeilennummern-entfernen/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mancher Texteditor und manche Webseite ist ja der Meinung, dass Code mit Zeilennummern versehen werden sollte. Das ist prinzipiell auch meine Meinung, allerdings nervt es tierisch, wenn dann beim Rauskopieren die Zeilennummern (die ja nur Metainformation sind) mitwandern.</p>
<p>Die Lösung ist für mich vorläufig das hier:<br />
<code>cat file.txt | sed -e 's,^[0-9]*,,' > file2.txt</code></p>
<p>Quelle:<br />
<a href="http://txt.binnyva.com/2009/05/delete-leading-whitespace-using-sed/">http://txt.binnyva.com/2009/05/delete-leading-whitespace-using-sed/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/fuhrende-zeilennummern-entfernen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suche nach einem Text in allen Dateien inkl. Unterordner</title>
		<link>http://web.slzm.de/blog/programmieren/suche-nach-einem-text-in-allen-dateien-inkl-unterordner/</link>
		<comments>http://web.slzm.de/blog/programmieren/suche-nach-einem-text-in-allen-dateien-inkl-unterordner/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 10:55:31 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Dateien]]></category>
		<category><![CDATA[Ordner]]></category>
		<category><![CDATA[Suche]]></category>
		<category><![CDATA[Texte]]></category>
		<category><![CDATA[Unterordner]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=139</guid>
		<description><![CDATA[Ubuntuverse.at hat einen Tipp, der für mich Gold wert ist. Gerade unter Windows habe ich es oft vermisst (und erinnere mich an mehrfaches erfolgloses Googlen nach einer externen Freeware-Lösung), in allen Dateien eines Ordners (und seiner Unterordner) nach einem Text &#8230; <a href="http://web.slzm.de/blog/programmieren/suche-nach-einem-text-in-allen-dateien-inkl-unterordner/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ubuntuverse.at">Ubuntuverse.at</a> hat einen Tipp, der für mich Gold wert ist. Gerade unter Windows habe ich es oft vermisst (und erinnere mich an mehrfaches erfolgloses Googlen nach einer externen Freeware-Lösung), in allen Dateien eines Ordners (und seiner Unterordner) nach einem Text zu suchen.</p>
<p><span id="more-139"></span></p>
<p>Hier ist der Code dafür unter Ubuntu:</p>
<pre>find . -name * -exec grep -i 'TEXT' '{}' ';'</pre>
<p>Quelle: <a href="http://www.ubuntuverse.at/2009/07/19/diese-woche-in-der-konsole-3/">http://www.ubuntuverse.at/2009/07/19/diese-woche-in-der-konsole-3/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/suche-nach-einem-text-in-allen-dateien-inkl-unterordner/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Aufzählungen von Word/HTML nach LaTeX konvertieren</title>
		<link>http://web.slzm.de/blog/programmieren/aufzahlungen-von-wordhtml-nach-latex-konvertieren/</link>
		<comments>http://web.slzm.de/blog/programmieren/aufzahlungen-von-wordhtml-nach-latex-konvertieren/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 13:50:34 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[AutoIt]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=129</guid>
		<description><![CDATA[Das folgende Skript habe ich mir gebastelt, um Word-Aufzählungen in LaTeX zu konvertieren. Gerade wenn es mehrere Ebenen sind, ist es in Word einfach jedes Mal wieder nervig, die Ebenen zu koordinieren. Als das aktuelle (!) Word 2007 es dann &#8230; <a href="http://web.slzm.de/blog/programmieren/aufzahlungen-von-wordhtml-nach-latex-konvertieren/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Das folgende Skript habe ich mir gebastelt, um Word-Aufzählungen in LaTeX zu konvertieren. Gerade wenn es mehrere Ebenen sind, ist es in Word einfach jedes Mal wieder nervig, die Ebenen zu koordinieren. Als das aktuelle (!) Word 2007 es dann doch geschafft hat, Einzüge zu machen, wo sie keinen Sinn machen, hat es gereicht und ordentlicher Textsatz musste her &#8212; LaTeX.</p>
<p><span id="more-129"></span>Hier das <a href="http://www.autoit.de">AutoIt</a>-Skript, dass die Konvertierung besorgt:</p>

<div class="wp_syntax"><div class="code"><pre class="autoit" style="font-family:monospace;"><span style="color: #F000FF; font-style: italic;">#include</span> <span style="color: #FF0000; font-weight: bold;">&lt;</span>File<span style="color: #FF0000; font-weight: bold;">.</span><span style="color: #0000FF; font-style: italic; font-weight: bold;">au3</span><span style="color: #FF0000; font-weight: bold;">&gt;</span>
<span style="color: #F000FF; font-style: italic;">#include</span> <span style="color: #FF0000; font-weight: bold;">&lt;</span>Array<span style="color: #FF0000; font-weight: bold;">.</span><span style="color: #0000FF; font-style: italic; font-weight: bold;">au3</span><span style="color: #FF0000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Definitions</span>
<span style="color: #0000FF; font-weight: bold;">Global</span> <span style="font-weight: bold; color: #AA0000;">$lvlMatch</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">4</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #008080;">&quot;^\s*\d*\.\s*(.*)&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;^\s*[a-z]\.\s*(.*)&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;^\s*[ivx]*\.\s*(.*)&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;^\s*\d*\.\s*(.*)&quot;</span><span style="color: #FF0000; font-weight: bold;">&#93;</span>
<span style="color: #0000FF; font-weight: bold;">Global</span> <span style="font-weight: bold; color: #AA0000;">$data</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_FileReadToArray</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">@ScriptDir</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\input.txt&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ArrayDelete</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #0000FF; font-weight: bold;">Global</span> <span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="color: #000080; font-style: italic; font-weight: bold;">UBound</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="color: #FF0000; font-weight: bold;">&#93;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Levels herausfinden</span>
<span style="color: #0000FF; font-weight: bold;">For</span> <span style="font-weight: bold; color: #AA0000;">$i</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">To</span> <span style="color: #000080; font-style: italic; font-weight: bold;">UBound</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">-</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span>
	<span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="font-style: italic; color: #009933;">; Default (= no explicit match)</span>
	<span style="color: #0000FF; font-weight: bold;">For</span> <span style="font-weight: bold; color: #AA0000;">$j</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">UBound</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$lvlMatch</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">-</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">To</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">Step</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="font-style: italic; color: #009933;">; zu hoch raten im Notfall</span>
		<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringRegExp</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$lvlMatch</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$j</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
			<span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$j</span>
			<span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringRegExpReplace</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$lvlMatch</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$j</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;\1&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
			<span style="color: #0000FF; font-weight: bold;">ContinueLoop</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">2</span>
		<span style="color: #0000FF; font-weight: bold;">EndIf</span>
	<span style="color: #0000FF; font-weight: bold;">Next</span>
<span style="color: #0000FF; font-weight: bold;">Next</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; 0/3-Fix</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ArrayInsert</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ArrayInsert</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">For</span> <span style="font-weight: bold; color: #AA0000;">$i</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">To</span> <span style="color: #000080; font-style: italic; font-weight: bold;">UBound</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">-</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">2</span> <span style="font-style: italic; color: #009933;">; !</span>
	<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">3</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">And</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span> <span style="color: #FF0000; font-weight: bold;">+</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">OR</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">3</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">And</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #000080; font-style: italic; font-weight: bold;">StringRegExp</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span> <span style="color: #FF0000; font-weight: bold;">-</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;^\s*$&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
		<span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span>
	<span style="color: #0000FF; font-weight: bold;">EndIf</span>
<span style="color: #0000FF; font-weight: bold;">Next</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Fix für Ende</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ArrayAdd</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ArrayAdd</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Output generieren</span>
<span style="font-weight: bold; color: #AA0000;">$currLevel</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span>
<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span>
<span style="color: #0000FF; font-weight: bold;">For</span> <span style="font-weight: bold; color: #AA0000;">$i</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">To</span> <span style="color: #000080; font-style: italic; font-weight: bold;">UBound</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">-</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span>
	<span style="font-weight: bold; color: #AA0000;">$newLevel</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span>
	<span style="color: #0000FF; font-weight: bold;">If</span> <span style="font-weight: bold; color: #AA0000;">$newLevel</span> <span style="color: #FF0000; font-weight: bold;">&lt;&gt;</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
		<span style="font-style: italic; color: #009933;">; runter</span>
		<span style="color: #0000FF; font-weight: bold;">if</span> <span style="font-weight: bold; color: #AA0000;">$newLevel</span> <span style="color: #FF0000; font-weight: bold;">&gt;</span> <span style="font-weight: bold; color: #AA0000;">$currLevel</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
			<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\begin{enumerate}&quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span>
		<span style="color: #0000FF; font-weight: bold;">EndIf</span>
		<span style="font-style: italic; color: #009933;">; (u.U. mehrfach!) hoch</span>
		<span style="color: #0000FF; font-weight: bold;">while</span> <span style="font-weight: bold; color: #AA0000;">$newLevel</span> <span style="color: #FF0000; font-weight: bold;">&lt;</span> <span style="font-weight: bold; color: #AA0000;">$currLevel</span>
			<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\end{enumerate}&quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span>
			<span style="font-weight: bold; color: #AA0000;">$currLevel</span> <span style="color: #FF0000; font-weight: bold;">-=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span>
		<span style="color: #0000FF; font-weight: bold;">WEnd</span>
&nbsp;
		<span style="font-weight: bold; color: #AA0000;">$currLevel</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$newLevel</span>
	<span style="color: #0000FF; font-weight: bold;">EndIf</span>
&nbsp;
	<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringRegExp</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;^\s*$&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
		<span style="color: #0000FF; font-weight: bold;">if</span> <span style="font-weight: bold; color: #AA0000;">$levels</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
			<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\item \hl{&quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;}&quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span>
		<span style="color: #0000FF; font-weight: bold;">Else</span>
			<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\item &quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">$data</span><span style="color: #FF0000; font-weight: bold;">&#91;</span><span style="font-weight: bold; color: #AA0000;">$i</span><span style="color: #FF0000; font-weight: bold;">&#93;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span>
		<span style="color: #0000FF; font-weight: bold;">EndIf</span>
	<span style="color: #0000FF; font-weight: bold;">else</span>
		<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span>
	<span style="color: #0000FF; font-weight: bold;">EndIf</span>
<span style="color: #0000FF; font-weight: bold;">Next</span>
<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">&amp;=</span> <span style="font-weight: bold; color: #008080;">&quot;\end{enumerate}&quot;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; verschönern</span>
<span style="font-weight: bold; color: #AA0000;">$output</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringReplace</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$output</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\end{enumerate}&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;\end{enumerate}&quot;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #AA0000;">@CRLF</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; schreiben</span>
<span style="font-weight: bold; color: #AA0000;">$fhndl</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">FileOpen</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">@ScriptDir</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\output.txt&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">2</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWrite</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$fhndl</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$output</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">FileClose</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$fhndl</span><span style="color: #FF0000; font-weight: bold;">&#41;</span></pre></div></div>

<p>Das Skript erwartet eine input.txt in seinem Verzeichnis und schmeißt den LaTeX-Schnipsel in der Datei  output.txt raus.<br />
Die regulären Ausdrücke zur Erkennung der Aufzählungszeichen lassen sich oben anpassen.</p>
<p>Der Code steht unter der <a href="http://www.gnu.org/licenses/gpl-3.0.html">GPLv3</a>-Lizenz.</p>
<p>Viel Spaß damit,<br />
Johannes</p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/aufzahlungen-von-wordhtml-nach-latex-konvertieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AutoIt-Buch, Episode II</title>
		<link>http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/</link>
		<comments>http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 16:36:01 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[AutoIt]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[AutoIt leicht gemacht]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[kostenlos]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=118</guid>
		<description><![CDATA[Hallo, Vor allem dank der tatkräftigen Unterstützung von Rasta gibt es eine neue Version des Buches über AutoIt. Vielen herzlichen Dank für das ausführliche und sehr fundierte Lektorat. Weiterer Dank geht an bernd670 für Hinweise zur Verbesserung. In der neuen &#8230; <a href="http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>Vor allem dank der tatkräftigen Unterstützung von Rasta gibt es eine neue Version des <a title="Erste Version des Buches" href="http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/" target="_self">Buches über AutoIt</a>. Vielen herzlichen Dank für das ausführliche und sehr fundierte Lektorat. Weiterer Dank geht an bernd670 für Hinweise zur Verbesserung.</p>
<p><span id="more-118"></span>In der neuen Version gibt es neben der Korrektur von viel zu zahlreichen Rechtschreib-, Komma- und Formulierungsfehlern vor allem weit schönere Tabellen und Quellcodelistings. Die Tabellen sind jetzt schön alternierend gefärbt, die Listings farblich deutlich an SciTE angenähert. Wer mir sagen kann, wie ich die Variablen ($xyz) erfassen kann, bekommt eine Erwähnung im Buch <img src='http://web.slzm.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>

<a href='http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/attachment/titelseite/' title='Titelseite'><img width="150" height="150" src="http://web.slzm.de/blog/wp-content/uploads/titelseite-150x150.png" class="attachment-thumbnail" alt="Titelseite" title="Titelseite" /></a>
<a href='http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/attachment/listings/' title='Listings'><img width="150" height="150" src="http://web.slzm.de/blog/wp-content/uploads/listings-150x150.png" class="attachment-thumbnail" alt="Listings" title="Listings" /></a>

<p>Gun-Food hat in einem Kommentar zur ersten Veröffentlichung geschrieben, er fände die Titelseite des &#8220;Gelben Buches&#8221; nicht so schön. Daher rufe ich an dieser Stelle einen Wettbewerb aus, in dem eine neue Titelseite gekürt werden soll. Auch hierfür gibt es eine Erwähnung im Buch. Die Graphik im Format DIN-A4 soll (mindestens) den Titel (AutoIt leicht gemacht), eine Reminiszenz an AutoIt und meinen Namen enthalten. Die Datei muss unter einer passenden CC-Lizenz stehen und als Quelldatei (Ebenen mit änderbarem Text) zur Verfügung gestellt werden.</p>
<p>Die Lizenz des Buches bleibt unverändert (siehe auch im PDF selbst).</p>
<p><strong>Download:</strong> <a href="http://web.slzm.de/blog/wp-content/uploads/AutoIt_leicht_gemacht_2009-07-11.pdf"> AutoIt leicht gemacht &#8211; 11. Juli 2009</a></p>
<p>Viel Erfolg damit,<br />
<em>Johannes</em></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Backupskript für Ubuntu mit rsnapshot</title>
		<link>http://web.slzm.de/blog/programmieren/backupskript-fuer-ubuntu-mit-rsnapshot/</link>
		<comments>http://web.slzm.de/blog/programmieren/backupskript-fuer-ubuntu-mit-rsnapshot/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 19:41:09 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[automatisch]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Notfications]]></category>
		<category><![CDATA[rsnapshot]]></category>
		<category><![CDATA[Skript]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=113</guid>
		<description><![CDATA[Mein Bash-Backupskript auf Basis von rsnapshot, das auf rsync aufbaut. Features: Donnerstags weekly-Backup, am Ersten des Monats monatliches. Mit yes.png, save.png und drive.png werden die Benachrichtigungen auch schön. Die benötigen die Notifications von Ubuntu (soweit ich mich erinnere seit 9.04 &#8230; <a href="http://web.slzm.de/blog/programmieren/backupskript-fuer-ubuntu-mit-rsnapshot/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mein Bash-Backupskript auf Basis von rsnapshot, das auf rsync aufbaut.<br />
Features: Donnerstags weekly-Backup, am Ersten des Monats monatliches.<br />
Mit yes.png, save.png und drive.png werden die Benachrichtigungen auch schön. Die benötigen die Notifications von Ubuntu (soweit ich mich erinnere seit 9.04 dabei). Die Zeilen kann man auskommentieren und damit dafür sorgen, dass auch andere Linuxdistributionen unterstützt werden.<br />
Lizenz: GPLv3<br />
Viel Spaß damit!</p>
<p>Code:<br />
<span id="more-113"></span></p>
<pre language="bash" line="1">#!/bin/sh

# "programming bash"
SELF=$(readlink -f "$0" || echo "$0");
PROGRAM_DIR=$(dirname "$SELF");

notify-send -i "$PROGRAM_DIR/drive.png" "Backup" "Beginne Backup..."

# Paketliste
notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Erzeuge Paketliste"
dpkg --get-selections > ~/pakete.txt
notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Paketliste erzeugt."

# monthly
day=$(date '+%d')
if [ $day == "01" ]; then
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne monatliches Backup..."
   	time sudo rsnapshot monthly;
	notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Monatliches Backup abgeschlossen."
fi

# weekly?
day=$(date '+%u')
if [ $day == "4" ]; then
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne wöchentliches Backup..."
	time sudo rsnapshot weekly;
	notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Wöchentliches Backup abgeschlossen."
fi

# daily
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne tägliches Backup..."
time sudo rsnapshot daily;
notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Tägliches Backup abgeschlossen."

notify-send -i "$PROGRAM_DIR/drive.png" "Backup" "Backup abgeschlossen. Sie können den Datenträger jetzt entfernen."</pre>
<p>Johannes</p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/backupskript-fuer-ubuntu-mit-rsnapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShutDownShot 1.0</title>
		<link>http://web.slzm.de/blog/programmieren/shutdownshot-10/</link>
		<comments>http://web.slzm.de/blog/programmieren/shutdownshot-10/#comments</comments>
		<pubDate>Fri, 15 May 2009 13:39:52 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[AutoIt]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[GPLv3]]></category>
		<category><![CDATA[Herunterfahren]]></category>
		<category><![CDATA[OpenSoucre]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Shutdown]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=104</guid>
		<description><![CDATA[Szenario: Der Rechner soll noch fertig brennen oder einen Download vollenden. Ich will aber nicht warten, sondern schon mal schlafen. Unter Linux reicht mir ein &#8220;sudo shutdown -P +60&#8243;, um den Rechner eine Stunde später sicher und komplett abzuschalten. Aber &#8230; <a href="http://web.slzm.de/blog/programmieren/shutdownshot-10/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Szenario:</strong><br />
Der Rechner soll noch fertig brennen oder einen Download vollenden. Ich will aber nicht warten, sondern schon mal schlafen.</p>
<p>Unter <strong>Linux </strong>reicht mir ein &#8220;sudo shutdown -P +60&#8243;, um den Rechner eine Stunde später sicher und komplett abzuschalten.</p>
<p>Aber es gibt ja auch <strong>Windows</strong>-Nutzer (ich schreibe das gerade unter Windows, weil ich HTML-Ausgaben von Java-Programmen mit IEs testen muss). Denen kann mit AutoIt recht einfach geholfen werden; AutoIt sei Dank:</p>
<h2><span id="more-104"></span></h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="autoit" style="font-family:monospace;"><span style="font-style: italic; color: #009933;">; Screenshot-Funktionen laden</span>
<span style="color: #F000FF; font-style: italic;">#include</span> <span style="color: #FF0000; font-weight: bold;">&lt;</span>ScreenCapture<span style="color: #FF0000; font-weight: bold;">.</span><span style="color: #0000FF; font-style: italic; font-weight: bold;">au3</span><span style="color: #FF0000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Zeit erfragen und abbrechen, wenn der Nutzer abgebrochen hat</span>
<span style="font-weight: bold; color: #AA0000;">$time</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">InputBox</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Zeit&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;In wievielen Minuten soll der Rechner heruntergefahren werden?&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;60&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="font-weight: bold; color: #AA0000;">@error</span> <span style="color: #0000FF; font-weight: bold;">Then</span> <span style="color: #0000FF; font-weight: bold;">Exit</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Gewünschte Zeit warten</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$time</span> <span style="color: #FF0000; font-weight: bold;">*</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">60</span> <span style="color: #FF0000; font-weight: bold;">*</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Screenshot des ganzen Bildschirmes auf den Desktop ablegen</span>
<span style="color: #0080FF; font-style: italic; font-weight: bold;">_ScreenCapture_Capture</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">@DesktopDir</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span> <span style="font-weight: bold; color: #008080;">&quot;\ShutDownShot_Screenshot.jpg&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Letzte Chance</span>
<span style="color: #0000FF; font-weight: bold;">if</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #000080; font-style: italic; font-weight: bold;">MsgBox</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">4</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Letzte Chance&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Herunterfahren abbrechen?&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">15</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">6</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #0000FF; font-weight: bold;">Then</span> <span style="color: #0000FF; font-weight: bold;">Exit</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Rechner herunterfahren</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">Shutdown</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #FF0000; font-weight: bold;">+</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">8</span> <span style="color: #FF0000; font-weight: bold;">+</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">16</span><span style="color: #FF0000; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p>Ein kleiner Mehrwert gegenüber Linux (der sicherlich auch dort mit einem kleinen Bash-Skript einfach erreicht werden könnte): Es wird ein Screenshot angelegt, bevor heruntergefahren wird. So lässt sich vielleicht ohne einen Blick in (hoffentlich überhaupt vorhandene) Log-Dateien feststellen, ob die Operation erfolgreich war.</p>
<p>Der Quelltext steht unter der <a title="General Public License, Version 3" href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GPLv3</a>.</p>
<p><strong>Download:</strong> <a href="http://web.slzm.de/blog/wp-content/uploads/shutdownshot.zip">ShutDownShot 1.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/shutdownshot-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Buchdownload] AutoIt leicht gemacht</title>
		<link>http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/</link>
		<comments>http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/#comments</comments>
		<pubDate>Thu, 07 May 2009 18:36:07 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[AutoIt]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Einführung]]></category>
		<category><![CDATA[kostenlos]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=90</guid>
		<description><![CDATA[Liebe Kollegen, Ich habe vor einiger Zeit angefangen, ein Buch über AutoIt zu schreiben. Wichtig waren mir neben der Tatsache, auch informationstechnische Grundlagen zu erklären vor allem folgende Punkte: optisch schöner Satz in Buch- und Druckqualität (LaTeX) inhaltliche Qualität (Verlinkungen, &#8230; <a href="http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><strong>Liebe Kollegen,</strong></em></p>
<p>Ich habe vor einiger Zeit angefangen, ein Buch über AutoIt zu schreiben. Wichtig waren mir neben der Tatsache, auch informationstechnische Grundlagen zu erklären vor allem folgende Punkte:</p>
<ul>
<li> optisch schöner Satz in Buch- und Druckqualität (LaTeX)</li>
<li> inhaltliche Qualität (Verlinkungen, stilistische Qualität, Rechtschreibung, Grammatik)</li>
<li> Ausführlichkeit</li>
<li>große Zahl von Beispielen zur Verdeutlichung</li>
</ul>
<p><span id="more-90"></span>Auf dieser Grundlage sind im Laufe der Zeit bisher 85 Seiten entstanden (einige gehen für das Inhalts- und weitere Verzeichnisse ab). Da ich aber im Moment viel zu viel anderes zu tun habe und zu viele andere Dinge meine Aufmerksamkeit, Zeit und Lust binden, ging es in letzter Zeit nicht voran.</p>
<p>Gestern habe ich den LaTeX-Quellcode aufgeräumt und auf den aktuellen Stand meiner Fähigkeiten gebracht sowie noch einmal sehr grob Korrektur gelesen.</p>
<h2>Copyright</h2>
<p>Weil mir die inhaltliche Qualität des Buches sehr, sehr am Herzen liegt, möchte ich das Buch <em>nicht</em> frei geben. Vielmehr stelle ich es unter die Lizenz CC-BY-NC-ND. Bitte lest die Lizenz durch, das ist wirklich wichtig. Ganz kurz zusammengefasst, räume ich euch folgende Rechte ein: Ihr dürft das PDF unverändert und unter meiner Namensnennung kostenlos weitergeben. Es ist allerdings untersagt, davon eigene Werke abzuleiten (z.B. eigene Kapitel anzufügen, Links anzubringen usw.). Außerdem dürft ihr für die Weitergabe kein Geld verlangen.</p>
<p style="text-align: center;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/de/"><img class="aligncenter" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/de/88x31.png" alt="Creative Commons License" /></a><br />
<span>&#8220;AutoIt leicht gemacht&#8221;</span> steht unter einer <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/de/">Creative Commons Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung 3.0 Deutschland Lizenz</a>.</p>
<p style="text-align: left;">Der zugrunde liegende LaTeX-Quellcode wird nicht veröffentlicht, Menschen meines Vertrauens gewähre ich aber gerne Einblick.</p>
<p style="text-align: left;">Eine Veröffentlichung (auch in Teilen) auf Wikibooks widerspreche ich (die Optik finde ich grausam, die regt auch nicht dazu an, schöne Texte zu schreiben).</p>
<h2>Entwicklung</h2>
<p>Die Entwicklung stelle ich mir wie folgt vor: Jeder, der sich berufen fühlt, kann mir Textteile schicken. Aber gleich die Warnung: Ich bin wählerisch, die sprachliche Qualität geht mir über alles. Das ist nichts gegen euch, aber ich will einfach sicherstellen, dass das Buch schön und qualitativ hochwertig wird. Da mir die Zeit fehlt, großflächig Korrektur zu lesen und Texte zu korrigieren, kann ich nur korrekte Texte einbauen (dann aber sehr gerne). Ihr könnt Teile also zunächst von anderen lesen lassen, die Ahnung von der deutschen Sprache haben.</p>
<p>Kleinere Fixes hätte ich zunächst am liebsten als &#8220;Search &amp; Replace&#8221;-Patterns, die ich einfach ausführen kann (autoit-buch/at\slzm.de).</p>
<p>Wichtig ist noch, nicht gleich drauf los zu schreiben, sondern ein Konzept zu haben, was man vermitteln will in einem Kapitel.</p>
<h2>Kommentare</h2>
<p>Über jeglichen Kommentar zum Buch freue ich mich <img src='http://web.slzm.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .<br />
Ich hoffe, dass es euch den Einstieg in AutoIt erleichtert.</p>
<h2>Download</h2>
<p><em><strong><a href="http://web.slzm.de/blog/wp-content/uploads/autoit_leicht_gemacht.pdf">AutoIt leicht gemacht.pdf</a></strong></em></p>
<p><em><strong>Update:</strong></em></p>
<p><a href="http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/">http://web.slzm.de/blog/programmieren/autoit-buch-episode-ii/</a></p>
<p><em>Johannes</em></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>BMyMind 2.0 &#8211; Ausblick</title>
		<link>http://web.slzm.de/blog/programmieren/bmymind-20-ausblick/</link>
		<comments>http://web.slzm.de/blog/programmieren/bmymind-20-ausblick/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:37:23 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[BMyMind]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Planung]]></category>
		<category><![CDATA[Version 2]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=70</guid>
		<description><![CDATA[BMyMind 1 genügt meinen Ideen und Anforderungen nicht mehr &#8211; wie so oft, wenn ich etwas ältere Software von mir anschaue. Deshalb habe ich mir Gedanken über eine neue Version gemacht, die die Erfahrungen aus BMyMind 1 aufgreifen und die &#8230; <a href="http://web.slzm.de/blog/programmieren/bmymind-20-ausblick/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>BMyMind 1 genügt meinen Ideen und Anforderungen nicht mehr &#8211; wie so oft, wenn ich etwas ältere Software von mir anschaue.</p>
<p>Deshalb habe ich mir Gedanken über eine neue Version gemacht, die die Erfahrungen aus BMyMind 1 aufgreifen und die mich persönlich störenden Engpässe beheben soll.</p>
<p>Ein paar Hauptpunkte dazu:</p>
<p><span id="more-70"></span></p>
<ul>
<li>JCRUDTable: Aufgebohrte JTable zur Anzeige von Daten aus der Datenbank (soll auch separat laufen und veröffentlicht werden)</li>
<li>Erweiterte Suchoptionen: Panel, das es ermöglicht, auch etwas komplexere SQL-Anfragen graphisch zusammenzuklicken (mit JCRUDTable verbunden)</li>
<li>Einfache Suche: Suche in ausgewählten Tabellen und Spalten der Datenbank (mit JCRUDTable verbunden)</li>
<li>Unterstützung von mehreren Tabellen in einer Datenbank, sodass Redundanz verringert werden kann und Joins ermöglicht werden</li>
<li>Views (gespeicherte Suchen), um Zeit sparen zu können</li>
<li>Datenbankengines erneut betrachten, idealerweise mehrere unterstützen, dabei vor allem:</li>
<li>Online-Systeme unterstützen (MySQL?, kein paralleler Offline-Modus)</li>
<li>Ribbon-Oberfläche (Flamingo)</li>
<li>Import verbessern (z.B. feste Spalteneinträge für alle importierten Daten)</li>
<li>Export der Ansichten der JCRUDTable (Suchergebnisse) in CVS, HTML, PDF (JasperReports?)</li>
<li>Graphischer XML-Editor</li>
<li>&#8230;</li>
</ul>
<p>Für weitere Vorschläge und Ideen bin ich offen, je früher in der Entwicklung sie kommen, desto einfacher umzusetzen.</p>
<p>Ein bisschen habe ich schon an JCRUDTable gearbeitet, aber das ist noch nicht veröffentlichungsfähig.</p>
<p>Wofür könntet ihr euch vorstellen, BMyMind zu verwenden? Oder verwendet ihr es gar? Kommentiert mir <img src='http://web.slzm.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p><em>Johannes</em></p>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/bmymind-20-ausblick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BMyMind 1.0 Beta 2</title>
		<link>http://web.slzm.de/blog/programmieren/bmymind-10-beta-2/</link>
		<comments>http://web.slzm.de/blog/programmieren/bmymind-10-beta-2/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:18:03 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[BMyMind]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Kontaktverwaltung]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[verwalten]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=61</guid>
		<description><![CDATA[Hier die aktuelle Version von BMyMind. Diese Version gibt es schon länger, gepostet wurde sie auf AutoIt.de, wo allerdings der Downloadlink inzwischen nicht mehr funktioniert. Die Beta 2 verwendet Derby als Datenbank, was eine Datenverschlüsselung ermöglicht. Die Verschlüsselung würde ich &#8230; <a href="http://web.slzm.de/blog/programmieren/bmymind-10-beta-2/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_68" class="wp-caption alignleft" style="width: 310px"><a href="http://web.slzm.de/blog/wp-content/uploads/bmymind1beta2.png"><img class="size-medium wp-image-68" title="bmymind1beta2" src="http://web.slzm.de/blog/wp-content/uploads/bmymind1beta2-300x209.png" alt="BMyMind 1.0 Beta 2" width="300" height="209" /></a><p class="wp-caption-text">BMyMind 1.0 Beta 2</p></div>
<p>Hier die aktuelle Version von BMyMind.<br />
Diese Version gibt es schon länger, gepostet wurde sie auf <a title="BMyMind auf AutoIt.de" href="http://autoit.de/index.php?page=Thread&amp;postID=64960#post64960" target="_blank">AutoIt.de</a>, wo allerdings der Downloadlink inzwischen nicht mehr funktioniert.</p>
<p><span id="more-61"></span>Die Beta 2 verwendet Derby als Datenbank, was eine Datenverschlüsselung ermöglicht. Die Verschlüsselung würde ich nicht produktiv nutzen, da standen noch ein paar Tests aus, soweit ich mich erinnere.</p>
<p>Außerdem habe ich mittels Substance ein bisschen an der Optik gefeilt, die jetzt Microsoft Office 2003 imitiert. Mit anderen Aufrufparametern ist sie aber auch konfigurierbar.</p>
<p>Eine 1.0 Final wird es vermutlich nicht mehr geben. Bei mir laufen <a title="Planungen für BMyMind 2" href="http://web.slzm.de/blog/programmieren/bmymind-20-ausblickbmymind-20-ausblick/" target="_self">Planungen für Version 2</a>.</p>
<p><em>Johannes</em></p>
<h2>Download: <a href="http://web.slzm.de/blog/wp-content/uploads/bmymind_1_beta_2.zip">BMyMind 1.0 Beta 2</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/bmymind-10-beta-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yo Frankie modifizieren &#8211; Flugpatch</title>
		<link>http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/</link>
		<comments>http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 18:02:33 +0000</pubDate>
		<dc:creator>Johannes</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[fliegen]]></category>
		<category><![CDATA[Flug]]></category>
		<category><![CDATA[fly]]></category>
		<category><![CDATA[flying]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Patch]]></category>
		<category><![CDATA[Yo Frankie]]></category>

		<guid isPermaLink="false">http://web.slzm.de/blog/?p=19</guid>
		<description><![CDATA[Markus und ich haben uns an Yo Frankie! zu schaffen gemacht, einem OpenSource-Spiel der Blender Foundation mit deren Tool Blender das Spiel auch umgesetzt wurde. Wie bei allen Blender-Projekten (vorher mehrere Filme) hat das Projekt dazu beigetragen, das Programm Blender &#8230; <a href="http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Markus und ich haben uns an <a title="Yo Frankie! Homepage" href="http://www.yofrankie.org/" target="_blank">Yo Frankie!</a> zu schaffen gemacht, einem OpenSource-Spiel der Blender Foundation mit deren Tool <a title="Blender Homepage" href="http://www.blender.org/" target="_blank">Blender</a> das Spiel auch umgesetzt wurde. Wie bei allen Blender-Projekten (vorher mehrere Filme) hat das Projekt dazu beigetragen, das Programm Blender an sich weiterzuentwickeln (z.B. kam dadurch einst einfache Haarsimulation dazu). In diesem Fall ist die Blender Game Engine entstanden.</p>
<p>Man kann sich an diesem Spiel an mehreren Ecken zu schaffen machen:</p>
<h3><span id="more-19"></span><strong>1. Texturen</strong></h3>
<p>Diese Änderungen sind sehr einfach. Mit GIMP lassen sich die png-Dateien in den Ordnern &#8220;textures&#8221; und &#8220;chars/textures&#8221; ohne Probleme bemalen. Die Daten werden nach einem Neustart des Spieles sofort geladen. Zu beachten ist, dass die Texturen auf unebene Flächen gemappt werden, sodass das einfache Reinkopieren von Logos oder Gesichtern nicht automatisch passt.<br />
Ein Beispiel für eine solche Modifikation des Startvogels haben wir in das Archiv gelegt (Datei &#8220;char_bird_col.png&#8221; in &#8220;chars/textures&#8221;).</p>
<h3><strong>2. Blender-Modelle</strong></h3>
<p>Beim Ändern der Blendermodelle im Ordner &#8220;chars&#8221; hatten wir keinen Erfolg. Selbst kleine Modifikationen ohne das Lösen von Knochen führten zu einem reproduzierbaren Absturz des Spieles bevor das Modell sichtbar wurde (ging also offenbar beim Laden kaputt). Schade, denn das wäre wohl die lustigste Modifkationsmöglichkeit&#8230;</p>
<h3><strong>3. Spiellogik (Fliegen)</strong></h3>
<p>Man kann Frankie und Momo (der Affe von Spieler 2) fliegen zu lassen. Dazu öffnet man die Datei &#8220;chars/frankie.blend&#8221; mit Blender und wählt im Action-Editor die Action &#8220;frank_glide&#8221;. Dort sind folgende Änderungen zu machen:<strong><br />
</strong></p>
<p style="padding-left: 30px;">new_x = (own_y[0]/own_y_length) * orig_xy_speed<br />
new_y = (own_y[1]/own_y_length) * orig_xy_speed</p>
<p>wird zu</p>
<p style="padding-left: 30px;">new_x = (own_y[0]/own_y_length) * orig_xy_speed<br />
new_y = (own_y[1]/own_y_length) * orig_xy_speed<br />
old_x = new_x<br />
old_y = new_y</p>
<p>und</p>
<p style="padding-left: 30px;">glide.setLinearVelocity(new_x, new_y, new_z, 0)</p>
<p>wird zu</p>
<p style="padding-left: 30px;">glide.setLinearVelocity(old_x, old_y, 1.0, 0)</p>
<p>Mit den beien neuen Variablen in der oberen Änderung wird die aktuelle Geschwindigkeit beim Gleiten eingefroren, d.h. Frankie wird nicht langsamer und bleibt nicht in der Luft stehen.</p>
<p>Unten werden die alten Geschwindigkeiten dann auch verwendet (viel Code dazwischen wäre jetzt überflüssig, weil er nie verwendet wird, aber das macht nichts). Außerdem wird mit 1.0 ein fester Wert für das Steigungsverhalten angelegt. Dadurch steigt Frankie langsam an, wenn man seine Schnauze nicht nach unten drückt. Diesen Wert kannst du wie es dir beliebt anpassen.</p>
<p>Und schwupps, hat man mit drei (!) Zeilen Code einem Flughörchen das Fliegen beigebracht <img src='http://web.slzm.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>(<em>English:</em> This is how you make Frankie fly: You have to change the lines mentioned above. Or you can download the file attached at the end of this post and unzip it to your Yo Frankie! directory.)</p>
<h3>Fazit</h3>
<p>Es macht richtig Spaß, ein OpenSource-Spiel anzupassen und selbst dabei wird klar wie angenehm die Freiheit ist, die OpenSource dem Nutzer lässt. Viel Spaß mit unserer Modifkation!</p>
<p><em>Markus und Johannes</em></p>

<a href='http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/attachment/yofrankie_bird_screen/' title='yofrankie_bird_screen'><img width="150" height="150" src="http://web.slzm.de/blog/wp-content/uploads/yofrankie_bird_screen-150x150.png" class="attachment-thumbnail" alt="Angepasster Startvogel in Yo Frankie! (Holztextur und gelbe Augen)" title="yofrankie_bird_screen" /></a>
<a href='http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/attachment/yofrankie_flying_screen1/' title='yofrankie_flying_screen1'><img width="150" height="150" src="http://web.slzm.de/blog/wp-content/uploads/yofrankie_flying_screen1-150x150.png" class="attachment-thumbnail" alt="Fliegendes Flughörnchen I" title="yofrankie_flying_screen1" /></a>
<a href='http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/attachment/yofrankie_flying_screen2/' title='yofrankie_flying_screen2'><img width="150" height="150" src="http://web.slzm.de/blog/wp-content/uploads/yofrankie_flying_screen2-150x150.png" class="attachment-thumbnail" alt="Fliegendes Flughörnchen II" title="yofrankie_flying_screen2" /></a>

<h2>Download: <a href="http://web.slzm.de/blog/wp-content/uploads/flugpatch.zip">flugpatch</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://web.slzm.de/blog/programmieren/yo-frankie-flugpatch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
