Coden für alle einfach gemacht

Mehr Funktionen

Mehr Funktionen

Damit Sie diese Zusatzfunktionen nutzen können, binden Sie sie mit #include oben in Ihrem Skript ein. Danach stehen Ihnen die enthaltenen Funktionen zur Verfügung.Weitere UDFs finden Sie in Online-Foren wie auf der Herstellerseite oder unter www.autoit.de.Als kleines Beispiel wollen wir einen einfachen Newsreader schreiben. Beispielshaft verwenden wir den RSS-Feed der Tagesschau von www.tagesschau.de/xml/rss2. Damit das Skript nicht nach einem Durchlauf beendet wird, sondern dauerhaft im Hintergrund läuft, benötigen wir eine Endlosschleife. Außerdem definieren wir eine Konstante für den Zeitabstand, in dem wir den RSS-Feed erneut überprüfen wollen. Diese Zeit warten wir nach einem Durchlauf:

Zu Beginn der Überprüfung müssen wir die XML-Datei mit den Neuigkeiten herunterladen.

Const $time = 10 ; Minuten
While True 
 ; hier die Überprüfung 
 Sleep($time*1000*60)
Wend

Der oben bereits genannte Befehl InetGet lädt die Datei herunter, und FileRead liest die Datei komplett in die Variable datei ein:

Variablen werden mit einem Dollarzeichen eingeleitet. Die mit einem @ beginnenden Makros sind eine Art von Konstanten, die AutoIt automatisch belegt. @ScriptDir steht für das Verzeichnis, in dem das Skript liegt. Die beiden Teile des Pfades verbinden wir mit einem kaufmännischen Und.

InetGet("http://www.tagesschau.de/xml/rss2", @ScriptDir & "\rss.txt")
$datei = FileRead(@ScriptDir & "\rss.txt")

Nun suchen wir mit der Funktion _StringBetween nach den Titeln und Links der Beiträge. Diese sind dank der XML-Struktur immer in der Form Neuigkeit 1 aufgebaut und lassen sich daher leicht extrahieren:

StringBetween ist eine Funktion aus der UDF String.au3 und erfordert, dass wir die Datei ganz am Anfang des Skriptes wie oben beschrieben mit dem Include-Befehl einbinden.

$titles = _StringBetween($datei, "<title>",
"</title>")
$links = _StringBetween($datei, "<link>", "</link>")

Die Funktion liefert im Erfolgsfall ein Array mit allen Titeln beziehungsweise Links zurück. Ansonsten gibt sie 0 zurück. Diesen Fehler können wir wie folgt abfangen:

In der Abfrage steht <> für ungleich. Daneben gäbe es auch noch die Operatoren =, <, >, <= und >=.

If $titles <> 0 Then 
 ; hat geklappt
EndIf

Innerhalb dieser If-Abfrage können wir nun die einzelnen Einträge durchlaufen. Dazu verwenden wir eine For-Schleife, weil sich die Anzahl der Einträge aus dem Ergebnis-Array von _StringBetween auslesen lässt. Dessen Größe ermitteln wir mit der Funktion UBound. Von diesem Wert müssen wir noch 1 abziehen, da das Array ab dem Index 0 nummeriert wird:

Der Grund, warum wir beim Index 1, also dem zweiten Element, beginnen, liegt darin, dass der erste Treffer aus der Beschreibung des Newsfeeds stammt, der auch über Titel und Link verfügt.

For $i = 1 to UBound($titles) - 1
 ToolTip("tagesschau.de", Default, Default,
$titles[$i]) 
 ClipPut($links[$i]) 
 Sleep(3000)
Next

Der Array-Zugriff erfolgt über den Index ($i aus For-Zeile) in eckigen Klammern.

Mit einem ToolTip zeigen wir, dass wir einen neuen Eintrag gefunden haben, und legen den entsprechenden Link in die Zwischenablage.

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…