1. Einleitung
In den vergangenen Versionen waren alle Datensätze in der Schulverwaltung fest "verankert". So war es z.B. vom Autor fest vorgegeben, dass beim Lehrer ein Geburtsdatum eingegeben werden musste. Dass verschiedene Schulen verschiedene Daten speichern müssen, wurde somit nicht genügend berücksichtigt. Zudem zog jede Änderung an den Datesätzen auch eine Änderung am Datenformat nach sich.
Um mit dem aufzuräumen, habe ich mit der Version 1.2 ein flexibleres Datenformat eingeführt, das zum einen etwas zukunftssicherer hinsichtlich Änderungen ist und zum anderen kann nun jeder Benutzer selbst die Schulverwaltung so einrichten, dass Sie seinen eigenen Bedürfnissen entspricht. Z.B. könnten Sie bei jedem Lehrer seine Haarfarbe speichern.
2. Die Datei schulr.str
Um die Schulverwaltung an Ihre eigenen Bedürfnisse anzupassen,
müssen Sie die mitgelieferte Datei "schulr.str" bearbeiten. Sie sollte
sich im selben Verzeichnis, wie die ausführbare Datei "schulr.exe"
befinden.
Diese Datei "schulr.str" beinhaltet alle Definitionen der Datensätze.
Es ist eine normale Textdatei, die Sie in einem "normalen" Texteditor öffnen
und bearbeiten sollten.
Sie sollten diese Datei einmal öffnen um die Folgenen Erklärungen
besser nachvollzeihen zu können. Der Aufbau dieser Datei sieht folgendermassen
aus:
Alle Definitionen werden durch zwei Befehle eingerahmt:
/STRUCTBEGIN
/STRUCTEND
Der erste "Befehl" sagt der Schulverwaltung, dass nun eine neue Datenbankdefinition
beginnt und "/STRUCTEND", dass diese Datenbankdefinition endet. Alles,
was sich ausserhalb dieser Befehle befindet, wird nicht berücksichtigt.
Kommentare sind auch möglich. Diese beginnen am Anfang einer neuen
Zeile mit dem Zeichen "#". Alles was hinter diesem Zeichen folgt, wird
von der Schulverwaltung ignoriert.
In der Schulverwaltung gibt es verschiedene "Elemente", wie z.B. Schüler
und Lehrer. Einige dieser Elemente können Sie verändern, andere
wiederum sind fest in der Schulverwaltung verankert. Zur letzteren Gruppe
zählen z.B. die Fächer oder systemweite Einstellungen.
Vom Benutzer veränderbar und somit auch in der Datei "schulr.str"
enthalten, sind folgende Elemente:
Schüler, Lehrer, Räume, Einzel-, Dauer-, Vertretungstermine,
Klassen, Zensuren und die Fehlzeiten der Schüler und Lehrer.
Der Block zwischen /STRUCTBEGIN und /STRUCTEND wird noch einmal in "Unterblöcke" eingeteilt. Jeder dieser Unterblöcke definiert die Struktur eines Datensatzes eines der oben genannten Elemente. Z.B. wird die Datensatzdefinition eines Schülers durch den "Befehl" /Schueler eingeleitet (bitte Schreibweise beachten!). Alles, was jetzt bis zum nächsten Unterblock (z.B. /Lehrer) folgt, sagt der Schulverwaltung, welche Felder der Datensatz eines Schülers enthält.
Dieser Aufbau eines Datensatzes für den Schüler soll nun näher
erläutert werden. Für die anderen Elemente gilt dies entsprechend:
Nach dem "Befehl" /Schueler folgen nun mehrere Zeilen: jede Zeile entspricht
später einem zu speichernden Datenelement bzw. -feld. Als Beispiel
sei hier die Definition des Nachnamens betrachtet:
string,NAME,'Name:',15,33,180,20,50,1
Der Nachname ist offensichtlich ein "string", also eine Zeichenkette. Dann folgt ein Komma, dem der Name des Feldes folgt. Dieser Name darf keine Leerzeichen enthalten! Dann folgt erneut ein Komma, gefolgt von dem Text - eingeschlossen in Hochkomma - der später in der Schülermaske vor diesem Feld angezeigt werden soll. Die nächsten vier Zahlen, jeweils getrennt durch Kommata, geben die Position (x- und y-Koordinate) und die Größe (Weite und Höhe) des Eingabefeldes in der Schülermaske an. Die dann folgende Ziffer gibt an, wie viele Zeichen der Benutzer maximal in das Eingabefeld eingeben darf (entspricht also hier der maximalen Länge des Strings). Die letzte Ziffer in dieser Zeile legt fest, ob dieser Wert angegeben werden muss (1) oder ob der Benutzer dieses Feld später bei der Eingabe auch leer lassen darf (0).
Komplett hat eine Zeile also folgendes Format:
<Datentyp>,<Bezeichnung dieses Datenfeldes>,'<Bezeichnung des Feldes in der entsprechenden Eingabemaske>',X,Y,Weite,Höhe,<max. Anzahl Zeichen, die eingegeben werden dürfen>,<Ist Feld ein Pflichfeld>
Dabei gilt:
<Datentyp> darf sein: string (eine Zeichenkette), int (ein Integerwert,
d.h. eine Zahl), bool (ein logischer Wert, entweder 1 für wahr oder
0 für Falsch)
Für alle anderen Datenelemente gilt diese Definition analog.
3. Restriktionen:
Beim Anpassen der bestehenden Definitionsdatei "schulr.str" ist zu beachten,
dass einige Datenfelder zwingend vorgeschrieben sind und daher immer in
der Definition auftauchen müssen.
Das sind in einzelnen:
Beim Lehrer: NAME,VORNAME,URLAUB,PFLICHTSTUNDEN
Beim Schüler: NAME,VORNAME
Beim Raum: NAME,AKTIV
Beim Einzeltermin: NAME,ASTD,ESTD,TAG,MONAT,JAHR
Beim Dauertermin: wie Einzeltermin
Beim Vertretungstermin: ASTD, ESTD
Bei der Klasse: NAME,JAHRGANG,BEZ
Bei der Zensur: ZENSUR,BEMERKUNG
Diese Datenfelder wurden in die "schulr.str" mit aufgenommen und nicht fest in das Programm "eingegossen", damit der Benutzer so selbst die Kontrolle über die Positionen der Felder in den Eingabemasken übernehmen kann.
4. Anmerkungen
Die Datei schulr.str wird immer eingelesen, wenn ein neuer Jahrgang angelegt wird. Die Struktur eines bestehenden Jahrganges kann nicht geändert werden - die Schulverwaltung speichert diese Struktur immer in den Jahrgangsdateien (die mit der Endung .sdb) mit ab.
Sollten Sie einen Fehler machen oder ist die Datei "schulr.str" zerstört,
sollten Sie sie einfach löschen. Die Schulverwaltung generiert dann
beim Anlegen eines neuen Jahrgangs eine neue Datei "schulr.str" mit den
ursprünglichen Vorgabewerten.