Hallo!
Nachdem ich Outlook nicht mag und mein Mozilla Sunbird einige Probleme hat (Beta-Status, kein Drucken, keine richtigen Ausnahmen für wiederehrende Termine, keine zentrale Datenspeicherung in einer Datei), habe ich mich entschlossen, mir meinen Kalender nach meinen Vorstellungen selbst zu basteln.
Natürlich will ich dazu AutoIt verwenden.
Ich habe mir zur Abwechslung sogar mal eine strukturierte Analyse gemacht.
Leider war ich zu faul sie einzuscannen, sie ist auch ein ziemliches Schlachtfeld.
Ich schreibe mal die einzelnen Hauptfunktionen mit einigen Hinweise auf.
Die Idee von BugFix war es, bei diesem Projekt mal zu testen, wie gut man mit AutoIt gemeinsam ein Skript entwickeln kann. Da ich so eine gemeinsame Entwicklung auch noch nicht gemacht habe, fände ich das auch interessant. Wenn sich also Helfer finden, die einen (überschaubaren) Aufgabenbereich übernehmen wollen, wäre das super.
Vielleicht noch mal kurz das, was das Skript am Ende leisten sollte, damit ich einen echten Mehrwert sehe:
- Druckfunktion, oder zumindest guter HTML-Export
- ansprechende Darstellung der Termine innerhalb der GUI (muss nicht unbedingt vollgraphisch sein...)
- Speicherung aller relevanten Daten in einer Datei für einfaches und schnelles Umziehen, Backup und v.a. damit es auf einem USB-Stick funktinoiert
- Für USB-Stick-Funktionalität wäre es auch wichtig, keine Reg-Schlüssel zu schreiben oder so
- Ausnahmen für wiederkehrende Termine á la Termin "Schule" nur, wenn nicht gleichzeitig Termin "Ferien
Kalenderdatei
Diese Datei ist zentral für alle Operationen des Kalenders. Deshalb muss die Datenstruktur vorher feststehen. Ich dachte an eine Textdatei (mit anderer Endung, die man auf das Programm registrieren könnte), bei der in der ersten Zeile alle Einstellungen und in den folgenden Zeilen jeweils ein Termin oder eine Aufgabe mit allen Eigenschaften. Ich würde die Angaben mit Kommata trennen, dann wäre man mittels StringSplit schnell an den einzelnen Daten dran. Außerdem wäre der Excel-Export sehr einfach, da die Datei ja schon CSV wäre.Wiederkehrende Termine würde ich als Einzeltermine in die Datei schreiben, dann fällt die Aussage leichter, welche Termine an einem bestimmten Tag stattfinden.
Vorgeschlagen Struktur der Datei
Für Einzeltermine: Startdatum,Startzeit,EZ,Enddatum,Endzeit,Titel,Beschreibung,Kategorie,Warnzeit,Warn-E-Mail-Adressen,Ausschlusskriterium
Für Aufgaben: Enddatum,Endzeit,AG,Titel,Beschreibung,Kategorie,Warnzeit,Warn-E-Mail-Adressen,Ausschlusskriterium
Dazu käme in Zeile 1 die "Einstellungszeile".
Eintrag hinzufügen
Hier muss eine GUI bereitgestellt werden, in der man die erforderlichen Einstellungne für einen neuen Termin oder eine neue Aufgabe treffen kann. Auch Termine, die als Ganztagestermine markiert werden, solen möglich sein.Auch das ändern eines Eintrages soll möglich sein.WEnn man darauf achtet, den Termin chronologisch richtig nach dem Startzeitpunkt einzufügen, beschleunigt sich die Ausgabe der Termine eine bestimmten Tages drastisch!
Einstellungen ändern
Hier soll eine GUI einige Einstellungen direkt editierbar machen. Beispielsweise die Standardanzeige des Kalenders oder die Standard-Druckausgabe.
Extrahieren
Diese Funktion gibt nach Aufruf mit einem Datum die Termine und AUfgaben zurück, die an diesem Tag fällig sind. Darauf muss sich die Anzeige-Funktion und die Export-/Druckfunktion verlassen (können). Optionen sollen die folgenden sein: Datum, Teilkategorien ausschließen (Array).
HTML-Export
Hier soll man mit der Option Darstellung Ausgaben in der Monats- , Wochen- und Tagesansicht erzeugen können. Der Parameter Teilkategorien ausschließen muss an "Extrahieren" durchgeschleift werden, die Parameter Startdatum und Enddatum sind durch wiederholte Aufrufe von "Extrahieren" umzusetzen. Der Dateiname auch als Parameter gedacht.
Drucken
Diese Funktion benötigt den Dateinamen der zu druckenden Datei. Umsetzung ist noch offen. Kann man den IE7 per Kommandozeile zum Drucken bringen? Der würde das Zuschneiden übernehmen...Sonst könnte mana uch die Seite im Standardbrowser aufrufen und Strg + p simulieren - mal sehen.
[Edit 1]
Schwester hat vorgeschlagen, dass man Feiertage einbindet. Dank BugFix' Skript wäre das kein größeres Problem. Könnte man dann auch als Kriterium für wiederkehrende Termine verwenden ("nicht, wenn Feiertag";)...
[/Edit 1]
[Edit 2]
Alarme
In gewünschten Abständen soll man gewarnt werden können, wenn ein Termin oder eine Aufgabe fällig wird. Man soll auch snoozen können d.h. die Warnzeit um ein Stück reduzieren, sodass nach einiger zeit noch einmal gewarnt wird.
Alarme auch per Mail an definierte Empfänger (Schwester)
[/Edit 2]
Ich hoffe, jemand hilft mir
peethebee
p.s. längster Post ohne eine einzige Zeile Code im Forum? :party3:
Edit 4: Aktuelle Downloads gibt es hier!