Weihnachtsausschreibung
von ActiveVB-Team
Beschreibung
Einleitung
Es weihnachtet sehr bei ActiveVB. Das Team hat dieses Jahr beschlossen, seinen Besuchern zu den Feiertagen eine kleine Überraschung zu bereiten und sie präsentiert sich in Form dieser Ausschreibung. Als Entlohnung gibt es diesmal ausnahmsweise kein Geld (das brauchen wir zum Erhalt der Seite), wohl aber einige VB-Bücher.
Kurzinfo
- Titel: Weihnachtsausschreibung
- Ausschreibungsbeginn: 15.12.2003
- Einsendeschluß: 31.12.2003
- Auftraggeber: Kopfgeld@ActiveVB.de
- Jury: Klaus Langbein, Konrad Doblander, Konrad Rudolph
- Buchpreise: Je einmal Visual Basic Referenz und Visual Basic .NET von Michael Kofler sowie zweimal Workshop VBA.
Aufgabenstellungen
Es stehen mehrere Aufgabenstellungen zur Auswahl. Teilnehmer brauchen nur eine davon zu bearbeiten. Die Lösungen dürfen sowohl in VB.NET als auch in VB5/6 angefertigt werden. Da die Einsendungen möglichst kreativ sein sollen, wollen wir die Aufgaben nicht zu sehr einschränken. Zwischen den folgenden Aufgabenstellungen kann gewählt werden:
- Einen Netzwerkexplorer
- Ein MP3-Spieler
- Ein brauchbarer Iconeditor oder -distiller
- Für die Tüftler: eine physikalisch korrekte Weihnachtsglocke oder Kerze
Mehr Details zu den Aufgabenstellungen werden im Folgenden verraten:
Netzwerkexplorer
Ziel ist es, eine Anwendung zu erstellen, die ähnlich dem normalen Dateibrowser arbeitet, jedoch Netzwerkresourcen darstellt. Als Vorlage kann dafür z.B. der Tipp Tipp 046: Alle Netwerkressourcen erfassen dienen. Das ganze Programm soll dabei in eine ansprechende Oberfläche verpackt werden und eventuell z.B. auch die Möglichkeit zum Drag'n Drop-Kopieren von Dateien über das Netz bieten.
MP3-Spieler
Es soll ein vollwertiger MP3-Spieler implementiert werden, der zumindest über die gängigsten Funktionen eines üblichen Abspielers verfügt.
Wichtig ist außerdem die Möglichkeit, ID3-Tags anzuzeigen. Als Vorlagen hierzu können Tipp 408: ID3v2-Tag aus MP3s auslesen und Tipp 483: ID3V1 Tags lesen und schreiben dienen.
Weiterhin sollte eine Playlist implemetiert werden (siehe hierzu Tipp 584: m3u-Playlists auslesen). Zum Auswerten der Header-Daten ist Tipp 487: MP3 Header Daten auslesen geeignet.
Iconeditor
Wie schon oft am Stammtisch bemerkt wurde, sind gute frei erhältliche Iconeditoren rar. Ziel dieser Aufgabe ist es, einen brauchbaren Iconeditor zu erstellen, der es erlaubt, mehrere Bilder in einer Icondatei abzuspeichern.
Alternativ zum vollwertigen Editor kann auch ein Icondistiller implementiert werden, der Bitmaps in Icons konvertiert, jedoch sollte auch diese Anwendung brauchbar sein, d.h. der Distiller sollte zumindest Transparenz erkennen, eventuell auch XP-True Colors (soll heißen, Halbtransparenz und Schattenwurf) sowie Bitmapdateien automatisch skalieren können.
Als Basis für diese Ausschreibung können die Lösungen unserer ICL-Icon-Ausschreibung dienen.
Weihnachtsglocke oder Kerze
Hierbei geht es darum, eine physikalische Simulation zu schreiben, die passend zur Jahreszeit eine Weihachtsglocke darstellt, die sich visuell (auditiv ist wünscheswert, aber nicht erforderlich) wie eine realistische Glocke verhält und eventuell auf Umwelteinflüsse (durch den Cursor hervorgerufen) reagiert. Gleiches gilt für eine Kerze, die eine physikalisch korrekte Flamme besitzt, die z.B. von einem Windhauch bewegt werden kann.
Bedingungen
Es dürfen nur Standard-Komponenten und API-Aufrufe verwendet werden. Zur Lösung dürfen Auszüge aus unseren Tipps verwendet werden. Soweit die Genehmigung der jeweiligen Autoren vorliegt, dürfen außerdem Codes aus dem Upload verwendet werden.
Das Programm soll unter allen gängigen Windows-Versionen ab Windows 98 laufen. Das Programm darf wahlweise in VB5/6 oder VB.NET geschrieben werden. Die Einsendungen zu beiden VB-Versionen werden getrennt bewertet werden. Da bei VB.NET mit weniger Einsendungen gerechnet wird, werden die Gewinnchancen für VB.NET-Programme natürlich höher sein.
Ermittlung der Gewinner
Es werden alle Einsendungen ausgewertet, die bis Einsendeschluss eingegangen sind. Die Gewinner werden durch die Vergabe von Punkten ermittelt. Jedes der drei Jurymitglieder vergibt 0-50 Punkte. Einsendungen, die nicht auf allen Testsystemen laufen, werden disqualifiziert. 10 Punkte werden auf "Kreativität" vergeben. Hier werden z.B. spezielle Features oder gute Ideen bewertet.
Strukturierung | 10 Punkte |
Verständlichkeit | 10 Punkte |
Eleganz | 10 Punkte |
Kommentierung | 10 Punkte |
Kreativität | 10 Punkte |
Weitere Regelungen
Einsendungen müssen per Email an Kopfgeld@ActiveVB.de gesandt werden.
Die Themen dürfen im Forum diskutiert werden, Einsendungen werden jedoch bis zum Einsendeschluß geheimgehalten.
Preise
Je einmal Visual Basic Referenz und Visual Basic .NET von Michael Kofler sowie zweimal Workshop VBA.
Bitte bei der Einsendung der Lösung den gewünschten Preis angeben. Sollten mehrere Gewinner das gleiche Buch haben wollen, wird per Losverfahren entschieden. Der Rechtsweg ist ausgeschlossen!
Anmerkung
Alle Einsendungen dürfen nach Einsendeschluß von ActiveVB.de veröffentlicht werden.
Lösung
Die Auswertung sowie die Sieger der Ausschreibungen finden sich hier.