Bei Sin-City-Tombola handelt es sich um ein Programm welches ich ursprünglich für die Tombola des Maturaballs meiner Klasse geschrieben habe. Daher auch der Titel, wir hatten das Motto: Sin City -Jetzt kommt Farbe ins Leben.
Es war geplant, dass auf unseren Losen statt normaler Nummern Barcodes (Code39) aufgedruckt sein sollten. Diese Barcodes wären dann bei der Ausgabestelle eingescannt worden und den entsprechenden Gewinnnummern zugeordnet worden. Die Idee wurde schlussendlich leider aus Zeitgründen nicht umgesetzt. Zu dem Zeitpunkt als diese Entscheidung fiel, hatte ich das Programm allerdings schon zu 90% fertig und entschied mich es zu ende zu schreiben. Das Ergebnis ist nun hier zu bewundern.
Damit auch mehrere Personen gleichzeitig an der Ausgbastelle arbeiten können musste eine Lösung gefunden werden um die Daten zentral und trotzdem für alle zugänglich zu speichern. Ich entschied mich also für eine Datenbanklösung.
Im Folgenden möchte ich nun alle Teile des Programms beschreiben. Anfangen möchte ich mit dem Interface des Hautpfensters:
Interface Hauptfenster
Wie im Screenshot ersichtlich ist das Interface des Hautpfensters relativ einfach und auf das wesentlichste reduziert.
Texfelder auf der linken Seite
Im Barcode Feld kommt die Zahlenkombination an welche der Barcodescanner liefert an und mit Enter wird die Eingabe bestätigt. Viele Barcodescanner können außerdem einen einstellbaren Tastendruck automatisch mitsenden.
Nach der Bestätigung der Eingabe wird in der Datenbank nach dem Barcode gesucht und die passende Preisnummer ausgegeben.
Das Abholen Feld dient dazu um Barcodes auch Testweise scannen zu können. Wenn das Feld aktiviert ist, wird bei Datenbankabfragen das Abgeholt-Flag beim jeweiligen Barcode gesetzt.
Buttons auf der Rechten Seite
Die Buttons auf der rechten Seite des Fensters dienen hauptsächlich der Datenbankanbindung. Zum untersten Button bleibt ohnehin nicht zu sagen, da er, unschwer zu erkennen, selbsterklärend ist.
Der oberste Button dient zur Kontrolle ob eine Verbindung zur Datenbank aufgebaut werden kann, oder nicht. Je nachdem liefert ein Klick auf den Button eine positive (siehe Screenshot) oder negative Meldung zurück.
Der mittlere Button ruft das Dateneingabefenster auf.
Interface Dateneingabefenster
Das Dateieingabefenster besteht im Wesentlichen aus drei Teilen. Dem Bereich zum erstellen eines neuen Eintrags, dem Bereich zum Administrieren des Datenbankinhalts und dem Buttonbereich.
Bereich für neuen Eintrag
In diesem Bereich kann ein neuer Preis in die Datenbank eingetragen werden. Der Barcode wird automatisch generiert und es wird sichergestellt, dass kein Barcode zwei mal vorkommt. Mit dem Neuer Barcode Button kann außerdem zusätzlich ein neuer Barcode generiert werden.
Die beiden Textfelder dienen zum Eintragen der Nummer des Preises der dem Barcode zugeordnet wird und einer Beschreibung in der noch einmal zusätzlich Notizen zum Gewinn enthalten sein können.
Bereich zur Administration des Datenbankinhalts
In diesem Bereich lässt sich der komplette Inhalt der entsprechenden Tabelle einer MySQL Datenbank einsehen und bearbeiten. Mittels eines einfach Doppelklicks in ein Feld lässt sich der Eintrag direkt in der Datenbank verändern.
Buttonbereich
In diesem Bereich bieten die verschiedenen Buttons verschiedene wichtige Funktionen an.
Mit den beiden Buttons auf der linken Seite kann man Einerseits die gesamte Datenbank in eine CSV Datei sichern und Andererseits alle Barcodes als PNG Dateien in einen Ordner exportieren.
Die beiden Buttons auf der rechten Seite des Bereichs dienen noch dem Datenbankfeld. Mit dem oberen lässt sich die derzeitige Ansicht nochmals mit der Datenbank aktualisieren um sicherzugehen das alles aktuell ist. Der untere dient dazu, die derzeit markierte Zeile aus der Datenbank zu löschen.
Allgemeines
Das Programm verwendet zum Verbinden mit der Datenbank eine DLL Datei welche vom MySQL Connector für .NET stammt. Des weiteren sind alle Verbindungen zur Datenbank so aufgebaut, dass alle dafür notwendigen Informationen in einer Konfigurationsdatei (Screenshot) gespeichert sind. Die Bezeichnungen der Einstellungen sollten eigentlich recht selbsterklärend sein.
Dadurch ist das Programm in jedem System mit MySQL Server einsetzbar.
Zum Abschluss hier noch das Programm selbst und der Sourcecode.




Comments (0)