Das erste Projekt: ein Screensaver

Das Screensaver-Projekt am Ende des Schuljahres soll für die Schüler das erste eigene Projekt sein, dabei möglichst viele Themen und Konzepte verbinden, die technische Realisierung eines Bildschirmschoners unter Windows näher bringen, die Fähigkeiten der Schüler prüfen und vor allem Spaß machen. Ich möchte zunächst ein paar Worte über die technischen Aspekte verlieren, bevor ich auf die didaktischen Aspekte eingehe.

Zunächst ist es wichtig, den Schülern einen großen Rahmen für Kreativität zu bieten. Was der Bildschirmschoner letztendlich auf den Bildschirm zaubert, liegt in der Verantwortung der Schüler. Eventuell bietet sich an dieser Stelle ein Referat über Urheberrechte an, schließlich möchten vielleicht einige Schüler Bilder anderer Leute verwenden oder etwa einen Text zitieren. Auch auf Aspekte wie der Verdunklung des Bildes zur Schonung des Monitors etc. könnte und sollte eingegangen werden. Von diesem Punkt aus lässt sich sogar zur Geschichte der Computertechnologien übergehen. Sind Screensaver im Windowszeitalter noch sinnvoll, bzw. dienen sie überhaupt noch dem Zweck der Bildschirmschonung und ist dieses Ziel überhaupt noch notwendig? Auch diese Fragen können diskutiert werden.

Die technische Realisierung gestaltet sich relativ einfach, wenn man davon ausgeht, dass das Erstellen einer EXE-Anwendung grundsätzlich verstanden wurde. Ich möchte an dieser Stelle auf ein Beispiel verzichten, jedoch eine kurze theoretische Betrachtung anstellen, welche Bedingungen erfüllt sein müssen, um den Screensaver realisieren zu können.

Wenn man das Pferd von hinten aufzäumen möchte, kommt man gleich zu Beginn zur wichtigsten Forderung an das Programm. Zwar wird ein .EXE-File von Delphi erzeugt, dieser muss aber in eine .SCR-File umbenannt werden. Damit der Screensaver dann aber auch vom Windows-Einbindungsdialog erkannt werden kann, muss die .SCR-Datei noch in das Windows-System-Verzeichnis kopiert werden. Der Einbinden-Dialog stellt eine Liste aller gefundenen Screensaver zur Verfügung. Die Einträge dafür werden aus einer Stringtable-Resource eingebunden, die Bezeichnung enthält dabei den Eintrag 1. Außerdem sollte der Screensaver zumindest die Eingabeparameter /S für Start oder Show und /C für Configure unterscheiden können und entsprechend reagieren. Dazu kommt noch die technische Anforderung, dass der Screensaver bei Bewegen der Maus oder Drücken einer Taste beendet wird.

Ein sehr gutes Beispielprogramm zur Umsetzung dieser Forderungen findet sich im Borland Delphi 5 Kochbuch von Walter Doberenz und Thomas Kowalski.

Wichtige Punkte sind dabei die Parameterabfrage und das Beenden des Bildschirmschoners. Die Parameterabfrage wird ausgelesen, dann werden je nach Parameter unterschiedliche Formulare geladen. Dabei werden diese aber nicht einfach modal aufgerufen sondern per Hand initialisiert, aufgerufen und später aus dem Speicher entfernt. Das Schließen des Bildschirmschoners wird sehr einfach realisiert. Die Ereignisse MouseMove und KeyDown schließen das Formular. Was letztendlich dargestellt wird, ob es über einen Timer oder ähnliches gesteuert oder ob nur der Bildschirm verdunkelt wird, lässt sich dann individuell gestalten. Auf einen Trick sei aber noch hingewiesen. Eine globale Zählvariable sollte eingeführt werden, die pro Grafikzyklus um eins erhöht wird. Ein Schließen des Programms sollte erst gestattet werden, wenn der 5, 10 oder ein beliebiger anderer Zyklus in dieser Größenordnung erreicht wurde. Dies verhindert, dass der Bildschirmschoner versehentlich beendet wird, kurz nachdem er gestartet wurde. Wird der Schoner nämlich über den Screensaver-Dialog unter Windows manuell gestartet, bewegt so gut wie jeder Anwender beim Loslassen des Mousebuttons die Maus - und würde damit den Bildschirmschoner sofort beenden.

Das Projekt sollte auf die Grundlagen zurückgreifen, die im Schulhalbjahr erlernt wurden. Dazu zählen aber nicht nur die Programmierinhalte sondern insbesondere die erworbenen Fähigkeiten im analytischen und sozialen Bereich, aber auch auf dem Gebiet der (Internet-)Recherche. Wünschenswert wäre es ebenso, wenn die Schüler beispielsweise die gegebenen Grafikobjekte verwenden könnten.

Nach Möglichkeit sollte sich der Lehrer weitestgehend heraushalten und nur auf Fehler hinweisen, wenn diese erst spät erkennbar wären oder von den Schülern nicht selbständig gelöst werden können. Zu genaue Vorgaben schränken die Schüler sehr stark ein, womit der beigemessene Wert an der Leistung des ersten eigenen Projektes arg sinken würde.


Literaturliste

zurück zur Erläuterung des Gesamtkonzeptes
zurück zur Gesamtübersicht