JAVA – Projekt

Elektronische Scorecard fuer Golfer

 

 

1578: Anwendungspraktikum aus JAVA

Dr. Michael Hahsler

WS 2005/06

 

 

 

Autor:        René Brunner

Mat.Nr.:    9660082

email:         rene.brunner@ba-ca.com  

 

 

 

Problemstellung:

 

Es soll eine elektronische Scorecard für Golfer mit einem GUI entwickelt werden.

Nach Auswahl des Golfplatzes, Eingabe der Stammvorgabe und Erfassung des jeweiligen Spielergebnisses pro Loch, soll automatisch Brutto und Netto-Punkte der Runde berechnet werden.

Nach Abschluss der Runde wird die neue Stammvorgabe berechnet.

Es sollen die Spielergebnisse mehrere Spieler erfasst werden können.

 

 

 

Umsetzung:

 

Das Projekt wurde als JAVA-Applikation realisiert. Zugrunde liegt eine MySQL-Datenbank in der die Daten der Golfplaetze sowie die Stammdaten der Spieler verwaltet werden.

Ueber ein GUI (Menu->Neuer Spieler) kann sich der User in der Spieler-Datenbank anlegen, einen Golfplatz aus den in der Datenbank angelegten Plaetzen auswaehlen und eine elektronische Scorekarte erstellen lassen.

 

Die Scorekarte wird mit den Charakteristiken des Platzes und des Spielers automatisch ausgefuellt.

Das sind:      

 

 

Nun traegt der Zaehler die Ergebnisse des Spielers nach jedem Loch in die Scorekarte ein.

Durch druecken der Schaltflaeche "Calculate Score" kann jederzeit der aktuelle Punktestand berechnet werden.

Berechnet wird dabei die Anzahl der Schlaege, die Brutto-Punkte sowie die Netto-Punkte nach Stableford.

Weiters wird auch gleich die neue Stammvorgabe des Spielers berechnet.

 

 

 

Sequenzdiagramm:

 

 

 

 

 

JAVA-Klassen:

 

Ich unterteile hier in solche Klassen, die vor allem dafuer gedacht sind die graphische Oberflaeche zu erzeugen und zu steuern (GUI-Klassen), und solchen die vor allem der Datenbearbeitung dienen (Daten-Klassen).

 

GUI-Klassen:

·        ScoreCardGUI:         Main-Klasse für die graphische Oberflaeche

Hat weiters keine Aufgabe als das Applikations-GUI (AppWindow) zu starten.

 

·        AppWindow:              Der Haupt-Frame der graphischen Oberflaeche.

Es werden die Menu-Items initialisiert.

Menu->Neuer Spieler:        Fenster fuer neue Spielererfassung wird aufgerufen

Menu->Aktualisieren:          Zum Aktualisieren der Spielerliste, wenn neuer Spieler angelegt

Menu->Beenden:                Beendet die E-Scorekarte

Hilfe->Info:                            Fenster mit Infos ueber die Applikation wird aufgerufen

Außerdem wird von hier ein Objekt der Klasse ScoreCardWindow initialisiert.

 

·        InfoWindow:               Erstellt das Fenster mit den Infos über die Applikation (z.B. Version, Autor etc.)

 

·        SpielerWindow:         Erstellt das Fenster fuer die Stammdatenerfassung eines neu anzulegenden Spielers.

Zumindest Nickname, Vorname und Stammvorgabe müssen fuer einen neuen Spieler erfasst werden. Falls ein Nickname = eindeutige UserID bereits vergeben ist, erfolgt eine Fehlermeldung.

Nach erfolgreichem Einfuegen in die Datenbank erfolgt eine positive Rueckmeldung und das Fenster schliesst sich.

 

·        MessageWindow:     Erstellt ein Fenster fuer Messages an den User. z.B. Fehlermeldungen

 

·        ScoreCardWindow:  Hier sind die Elemente zur Auswahl des Golfplatzes und des Spielers enthalten.

Ueber einen Button "Neues Spiel" kann eine neue Scorekarte generiert werden. Diese sind in Form von Karteikarten (JPanel) organisiert. So koennen mehrere Scorekarten gleichzeitig bearbeitet werden.

 

·        ScoreTabWindow:    Das ist die, in Form einer Karteikarte organisierte, eigentliche Scorekarte. Sie setzt sich zusammen aus Textfeldern für die wichtigsten Infos ueber Platz und Spieler sowie schliesslich die Details ueber die einzelnen Loecher des Platzes.  Hier wird auch der Score eingetragen und berechnet.

 

 

Daten-Klassen:

·         Scorecard:                Main-Klasse startet die Applikation

 

·         DBConnection:         Hier sind die Funktionen enthalten, die den Zugriff auf die Datenbank fuer die Stammdaten von den Plaetzen und den Spielern organisieren.

So gibt es die Funktionen:

-                                getSpieler()       liest alle Daten ueber einen Spieler aus der Datenbank und gibt ein Spieler-Objekt zurueck

-                                getPlatzData()  liest alle Daten ueber einen Golfplatz aus der Datenbank und gibt ein Platz-Objekt zurueck

-                                getPlatzListe()  aus der Datenbank werden die Bezeichnungen aller Golfplaetze ausgelesen;

-                                getPlayerListe()  aus der Datenbank werden alle SpielerIDs ausgelesen;

-                                saveSpieler()    die Daten eines neuen Spielers werden in die Datenbank geschrieben

 

·         Spieler:                      Klasse Spieler enthaelt alle Attribute und Funktionen, die fuer einen Spieler gebraucht werden.

Die Attribute sind dabei die Stammdaten, die auch in der Datenbank gespeichert sind.

Funktion:

-                                bestimmeKategorie()    Hiermit wird die Spielkategorie ermittelt in der ein Spieler am Patz spielt.

Diese ist abhaengig von der Stammvorgabe des Spielers (bezüglich Kategorie siehe Klasse Platz)

 

·         Loch:                          Enthaelt die Attribute fuer genau ein Loch, diese sind Laenge, PAR und HCP des Loches.

 

·         Platzrunde:                Ein Objekt dieser Klasse stellt eine volle Runde am Platz mit 9 oder 18 Loechern dar. Als weiteres Attribut

enthaelt die Klasse das Course Rating und Slope, die zur Berechnung der Spielvorgabe wichtig sind.

Funktionen dieser Klasse sind:

-          getFirstNinePar(), getLastNinePar(), getCoursePar()

Diese Funktionen liefern die Summe der PAR der ersten neun, letzten neun bzw. aller Loecher am Kurs.

-          getFirstNineLaenge(), getLastNineLaenge(), getGesLaenge()

Diese Funktionen liefern die Laenge der ersten neun, letzten neun bzw. aller Loecher am Kurs.

 

·         Platz:                          Als Attribute sind hier die Bezeichnung des Platzes und die einzelnen Kategorien von Runden enthalten.

Eine Kategorie ist wie gesagt eine volle Runde (9 od. 18 Loecher) am Platz. Je nachdem in welcher Kategorie ein Spieler spielt, gibt es unterschiedliche Abschlaege und somit unterschiedliche Distanzen eines Loches.

Folgende Kategorien sind ueblich:   Herren (weiss, gelb, blau)   Frauen (schwarz, rot, orange)

Da es von Kategorie zu Kategorie immer kuerzere Lochdistanzen gibt, ist auch der Schwierigkeitsgrad von Kategorie zu Kategorie abnehmend.

 

·         Score:                        Ein Objekt der Klasse Score stellt ein gespieltes Game dar. Ein Score enthaelt eine Runde am Platz die einem Spieler zugeordnet ist. Das Attribut schlaege enthaelt das gespielte Ergebnis.

Funktionen dieser Klasse:

-                                calcSpielVorgabe()       hier wir je nach Stammvorgabe, Course Rating und Slope die Vorgabeeines Spielers fuer ein Game berechnet

-                                getErgebnis()                 ermittelt die Anzahl der benoetigten Schlaege

-                                bruttoPunkte()                 errechnet die BruttoPunkte nach Stableford

-                                nettoAddon()                              teilt die Spielvorgabe je Loch auf

-                                nettoPunkte()                  errechnet die NettoPunkte nach Stableford

-                                berechneStvg()              berechnet die neue Stammvorgabe eines Spielers nach Abschluss einer Vorgabenwirksamen Runde

-                                getPuffer(), getAddFaktor(), getMultiplikant()

Unterfunktionen zur Berechnung der neuen Stammvorgabe (berechneStvg())

 

 

 

 

SQL-Datenbank:

 

Die zugrunde liegende SQL-Datenbank hat folgenden Aufbau:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Installation:

 

Das Projekt wurde als JAVA-Applikation realisiert. Zugrunde liegt eine MySQL-Datenbank in der die Daten der Golfplaetze sowie die Stammdaten der Spieler verwaltet werden.

Dementsprechend sollte auf dem Installationscomputer JRE sowie MYSQL installiert sein.

Folgende Tabellen werden in der MySql-Datenbank benötigt:  Spieler, Platz, Runde, LochDet, LochLen.

 

Zum erstellen dieser Tabellen ist folgendes SQL-Script vorgesehen:

 

use databasename;
CREATE TABLE Platz (
  PID VARCHAR (10) NOT NULL,
  Bez VARCHAR (25) NULL,
  Adr VARCHAR (30) NULL,
  Ort VARCHAR (20) NULL,
  PLZ VARCHAR (6)  NULL,
  TelNr VARCHAR (20) NULL,
  PRIMARY KEY (PID)
);
CREATE TABLE Runde (
  PID VARCHAR (10) NOT NULL,
  KAT VARCHAR (10) NOT NULL,
 
CR  DECIMAL (5,1) NULL,
 
Slope INTEGER (4) NULL,
  PRIMARY KEY (PID,Kat)
);
CREATE TABLE LochDet (
  PID VARCHAR (10) NOT NULL,
  LID INTEGER (2)  NOT NULL,
 
PAR INTEGER (2)  NULL,
  HCP INTEGER (2)  NULL,
 
PRIMARY KEY (PID,LID)
);
CREATE TABLE LochLen (
  PID VARCHAR (10) NOT NULL,
  KAT VARCHAR (10) NOT NULL,
  LID INTEGER (2)  NOT NULL,
 
Len INTEGER (4)  NULL,
 
PRIMARY KEY (PID,KAT,LID)
);
CREATE TABLE Spieler (
  SPID VARCHAR(10) NOT NULL,
  PWD VARCHAR(20) NULL,
 
Nachname VARCHAR(20) NULL,
  Vorname VARCHAR(20) NULL,
  Geschlecht BOOLEAN NULL,
  Adresse VARCHAR(30) NULL,
  PLZ VARCHAR(6) NULL,
  Ort VARCHAR(20) NULL,
  Land VARCHAR(20) NULL,
  TelNr VARCHAR(20) NULL,
  Heimatclub VARCHAR (25) NULL,
 
StVg DECIMAL (4,1) NULL,
 
PRIMARY KEY (SPID)
);
 

 

Weiters sollten die Tabellen mit Daten befüllt werden. Hier ein Beispiel mit drei Golfplätzen.

 

use databasename;

INSERT INTO Platz (PID,Bez,Adr,Ort,PLZ,TelNr) VALUES ("N000000001","TULLNERFELD Goldcourse","Am Golfplatz 1","Atzenbrugg","A-3452","02275-20085");
INSERT INTO Platz (PID,Bez,Adr,Ort,PLZ,TelNr) VALUES ("W000000001","Club Danube Suessenbrunn","Weingartenallee 22","Wien","A-1220","01-2568282");
INSERT INTO Platz (PID,Bez,Adr,Ort,PLZ,TelNr) VALUES ("K000000001","GC 2000 Draugolf","Am Golfplatz 1","Berg im Drautal","A-9771","04712-8656");
 

INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","WEISS",66.7,113);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","GELB",64.7,115);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","BLAU",64.2,113);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","SCHWARZ",67.5,113);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","ROT",66.5,114);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("N000000001","ORANGE",65.8,111);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","WEISS",71.2,121);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","GELB",70.5,122);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","BLAU",70.3,123);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","SCHWARZ",73.0,123);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","ROT",71.8,121);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("W000000001","ORANGE",70.8,122);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","WEISS",63.1,103);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","GELB",62.1,103);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","BLAU",61.1,101);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","SCHWARZ",64.1,103);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","ROT",63.1,101);
INSERT INTO Runde (PID,KAT,CR,Slope) VALUES ("K000000001","ORANGE",61.6,100);

 

INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",1,4,15);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",2,3,5);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",3,4,1);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",4,4,7);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",5,3,11);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",6,5,17);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",7,3,9);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",8,4,3);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",9,4,13);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",10,4,14);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",11,4,6);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",12,3,10);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",13,4,8);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",14,3,2);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",15,3,16);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",16,3,12);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",17,4,18);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("N000000001",18,3,4);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",1,4,3);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",2,3,15);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",3,4,9);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",4,5,5);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",5,4,17);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",6,4,11);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",7,3,13);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",8,4,1);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",9,4,7);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",10,4,8);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",11,5,6);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",12,5,16);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",13,4,12);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",14,3,14);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",15,4,10);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",16,5,18);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",17,3,4);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("W000000001",18,4,2);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",1,3,13);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",2,3,17);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",3,3,3);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",4,3,15);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",5,4,5);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",6,4,1);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",7,3,11);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",8,3,7);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",9,3,9);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",10,3,14);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",11,3,18);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",12,3,4);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",13,3,16);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",14,4,6);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",15,4,2);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",16,3,12);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",17,4,8);
INSERT INTO LochDet (PID,LID,PAR,HCP) VALUES ("K000000001",18,4,10);
 

INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",1,322);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",2,149);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",3,348);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",4,304);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",5,115);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",6,430);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",7,128);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",8,399);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",9,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",10,279);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",11,320);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",12,125);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",13,350);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",14,152);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",15,162);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",16,148);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",17,285);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","WEISS",18,156);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",1,322);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",2,149);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",3,348);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",4,304);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",5,115);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",6,430);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",7,128);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",8,399);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",9,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",10,279);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",11,320);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",12,125);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",13,350);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",14,152);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",15,162);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",16,148);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",17,285);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","GELB",18,156);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",1,322);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",2,149);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",3,348);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",4,304);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",5,109);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",6,430);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",7,128);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",8,372);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",9,316);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",10,279);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",11,314);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",12,125);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",13,350);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",14,146);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",15,158);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",16,120);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",17,285);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","BLAU",18,151);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",1,289);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",2,130);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",3,319);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",4,273);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",5,109);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",6,379);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",7,111);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",8,367);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",9,310);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",10,253);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",11,314);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",12,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",13,310);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",14,142);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",15,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",16,114);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",17,256);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","SCHWARZ",18,137);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",1,289);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",2,130);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",3,319);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",4,273);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",5,109);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",6,379);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",7,111);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",8,367);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",9,310);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",10,253);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",11,314);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",12,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",13,310);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",14,142);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",15,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",16,114);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",17,256);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ROT",18,137);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",1,289);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",2,130);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",3,319);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",4,273);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",5,102);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",6,362);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",7,111);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",8,344);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",9,285);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",10,253);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",11,277);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",12,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",13,310);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",14,136);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",15,140);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",16,107);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",17,250);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("N000000001","ORANGE",18,131);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",1,361);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",2,143);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",3,340);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",4,474);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",5,291);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",6,383);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",7,135);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",8,407);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",9,380);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",10,337);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",11,504);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",12,436);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",13,379);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",14,181);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",15,366);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",16,453);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",17,164);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","WEISS",18,338);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",1,340);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",2,132);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",3,333);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",4,456);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",5,280);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",6,372);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",7,128);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",8,395);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",9,371);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",10,337);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",11,488);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",12,436);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",13,369);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",14,170);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",15,350);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",16,442);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",17,164);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","GELB",18,334);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",1,340);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",2,132);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",3,333);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",4,456);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",5,280);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",6,372);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",7,128);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",8,395);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",9,371);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",10,337);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",11,488);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",12,436);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",13,369);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",14,170);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",15,350);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",16,442);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",17,164);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","BLAU",18,334);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",1,303);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",2,132);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",3,300);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",4,412);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",5,253);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",6,307);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",7,115);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",8,346);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",9,332);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",10,306);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",11,444);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",12,395);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",13,352);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",14,161);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",15,333);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",16,409);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",17,147);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","SCHWARZ",18,324);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",1,290);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",2,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",3,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",4,398);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",5,243);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",6,296);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",7,106);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",8,346);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",9,319);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",10,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",11,429);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",12,395);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",13,340);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",14,148);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",15,323);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",16,390);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",17,147);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ROT",18,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",1,290);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",2,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",3,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",4,398);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",5,243);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",6,296);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",7,106);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",8,346);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",9,319);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",10,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",11,429);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",12,395);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",13,340);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",14,148);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",15,323);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",16,390);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",17,147);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("W000000001","ORANGE",18,288);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",1,139);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",2,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",3,192);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",4,122);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",5,353);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",6,387);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",7,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",8,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",9,249);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",10,139);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",11,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",12,192);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",13,122);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",14,353);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",15,387);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",16,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",17,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","WEISS",18,249);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",1,139);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",2,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",3,192);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",4,122);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",5,353);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",6,387);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",7,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",8,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",9,249);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",10,139);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",11,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",12,192);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",13,122);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",14,353);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",15,387);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",16,144);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",17,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","GELB",18,249);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",1,134);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",2,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",3,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",4,115);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",5,336);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",6,368);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",7,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",8,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",9,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",10,134);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",11,103);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",12,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",13,115);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",14,336);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",15,368);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",16,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",17,318);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","BLAU",18,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",1,124);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",2,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",3,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",4,105);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",5,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",6,358);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",7,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",8,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",9,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",10,124);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",11,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",12,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",13,105);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",14,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",15,358);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",16,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",17,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","SCHWARZ",18,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",1,124);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",2,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",3,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",4,105);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",5,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",6,358);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",7,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",8,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",9,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",10,124);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",11,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",12,173);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",13,105);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",14,325);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",15,358);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",16,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",17,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ROT",18,214);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",1,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",2,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",3,145);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",4,100);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",5,254);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",6,326);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",7,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",8,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",9,207);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",10,121);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",11,85);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",12,145);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",13,100);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",14,254);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",15,326);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",16,112);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",17,278);
INSERT INTO LochLen (PID,KAT,LID,Len) VALUES ("K000000001","ORANGE",18,207);

 

 

Auch die Spielerdaten können entweder per Script, wie unten angegeben eingespielt werden, oder neue Spieler können auch in der Applikation hinzugefügt werden.

 

use databasename;

INSERT INTO Spieler (SPID,PWD,Nachname,Vorname,Geschlecht,Adresse,PLZ,Ort,Land,TelNr,Heimatclub,StVg) VALUES ("Nick","pwd","Nachname","Vorname",0,"Strasse 5","PLZ","Ort","Land","0999-9999999","GC 2000",-21.5);

 

 

Dort wo in den Beispielscripts "databasename" steht sollte der Name der verwendeten Datenbank eingetragen werden.

 

 

Um in der Applikation auf die MySQL-Datenbank zugreifen zu können muß der MySQL-Treiber für Java "mysql-connector-java.jar" mitkompiliert werden. Der Treiber ist verfügbar unter GPL auf http://www.mysql.com/products/connector.

 

 

In den JAVA-Files "ScoreCardWindow.java" und "SpielerWindow.java" ist der Servername eingetragen auf dem die Datenbank laeuft. Dieser String muss eventuell auf den korrekten Servernamen geaendert werden.

 

 

Nun kann man die JAVA-Files kompilieren und das Package "scorecard" in dem alle Klassen enthalten sind gestartet werden.

 

 

 

 

 

Benutzerbeschreibung:

 

Nach Starten der Applikation "Electronic Scorecard" Version 1.0 erhaelt man ein Fenster mit zwei Auswahllisten und einer Schaltflaeche.

In der ersten Auswahlliste kann man den Golfplatz aus der Datenbank auswaehlen, auf den man gerade die Runde spielt.

In der zweiten Auswahlliste waehlt der User denjenigen Spieler aus, fuer den er das Spiel zaehlt.

Gibt es den Spieler noch nicht in der Auswahlliste, so kann man unter "Menu->Neuer Spieler" diesen unkompliziert anlegen.

Es ist darauf zu achten, das im folgenden Eingabefenster zumindest das Geschlecht, der Vorname, die Stammvorgabe und ein Nickname=UserID eingegeben wird. Mit dem Button "OK" wird die Eingabe abgeschlossen. Falls der Nickname bereits vergeben ist, erfolgt eine Mitteilung und es muss ein anderer Nickname gewaehlt werden. Mit dem Button "Cancel" kann man die Erfassung abbrechen.

Wurde ein neuer Spieler erfasst sollte man darauf den Menupunkt "Menu->Aktualisieren" waehlen damit die Spielerauswahlliste aktualisiert wird.

Waehlt man nun den entsprechenden Spieler aus der Liste aus und drueckt den Button "Neues Spiel", so erscheint eine Scorekarte fuer den entsprechenden Spieler. Zaehlt man fuer einen weiteren Spieler, so waehlt man auch den einfach aus der Auswahlliste aus und drueckt wiederum den Button "Neues Spiel". Die einzelnen Scorekarten, werden in Form von Karteikarten organisiert.

Auf der Scorekarte sieht man nun Details wie Spielername, Stammvorgabe, CR, Slope so wie auch die Distanzen, PAR, HCP und Spielvorgabe pro Loch und aufsummiert.

In der Spalte "Score" kann nun die Eingabe der benoetigten Schlaege pro Loch erfolgen. Wenn man die Eingabe abgeschlossen hat, oder auch wenn man ein Zwischenergebnis sehen will, drueckt man die Schaltflaeche "Calculate Score" links unten auf der Scorekarte.

Nun werden die Schlaege aufsummiert und die Ergebnisse errechnet und dargestellt.

In der rechten unteren Ecke der Scorekarte wird die neue Stammvorgabe auf Basis des eingegebenen Scores errechnet.

 

 

Schoenes Spiel!