Patrick Sperneder

AstronomyLib Part 1

Nun denke ich ist es an der Zeit den ersten Beitrag zum Thema C# und WPF zu erstellen.

Kürzlich habe ich auf dotnetsnippets.de eine Bibliothek mit dem eigentlich alles sagendem Namen AstronomyLib erstellt. Die Bibliothek ist derzeit nur mit rudimentären Funktionen ausgestattet, es sollte jedoch ( mit Eurer Hilfe vielleicht ) eine vollwertige Klassenbibliothek die den Umgang mit astronomischen Funktionen und Methoden beherrscht erstellt werden.

Die Notwendigkeit von z.B. der Ermittlung der Uhrzeit des Sonnenaufganges eines Tages hat sich bei meinem Projekt 'InfoPoint' ( welches eine WPF Touchscreen Anwendung ist ) ergeben. Als erstes kam mir natürlich die Idee einen ( ziemlich sicher vorhandenen ) Webserverice dafür zu gebrauchen, jedoch schied dies aus rechtlichen sowie aus Bandbreitenproblemen aus.

Da ich auch ein Benutzer des derzeit neuesten Betriebsystems Windows7 bin, schaute ich mir mal hier die Sidebar Gadget etwas genauer an. Ich nehme an das auch das gleiche gadget in Windows Vista vorhanden ist, kann dies jedoch nicht mit Sicherheit sagen da ich Vista nie im Einsatz hatte.

weather_gadget

 

Wenn man nun das Widget genauer unter die Lupe nimmt, so kann man erkennen das ein Widget im Prinzip eine HTML Seite mit diversen JavaScript Funktionen und Methoden ist.

Dadurch ist es eigentlich relativ einfach die Funktione eines Widgets zu ermitteln bzw. in dessen Sourcecodes nach bestimmten Funktionen zu suchen. Bei meinem System befinden sich sämtliche Widgets im Ordern C:\Program Files\Windows Sidebar\Gadgets … Die Struktur eines Gadgets habe ich mal hier abgebildet

sidebar_widget_structure

 

Nun wurde ich zum Glück in den JavaScript Dateien fündig, und es war eigentlich ein Leichtes die JavaScript Funktionen auf C# zu portieren. Ich packte diese ganzen Schnippsel zu einer Klassenbibliothek  zusammen und hinterlegte alle Klassen im Namespace System.Astronomy.

Hier die schematische Darstellung der Bibliothek. Wie gesagt, derzeit noch sehr jung und klein …

ProjectDiagram

 

Den C# Code der Klassen könnt Ihr als Visual Studio Snippet von dotnetsnippets.de hier herunterladen.

Macht euch doch mal mit den doch recht einfachen Funktionen vertraut, im nächsten Teil dieser Serie erstellen wir eine WPF Anwendung die die ermittelten Daten schön und brauchbar darstellt.

Wie immer sind Feedback und Anregungen sehr erwünscht !

Cheers Noodles

Kommentare

Keine Kommentare

Kommentar abgeben

(verpflichtend) 

(verpflichtend) 

(optional)

(verpflichtend)