Ein Java-Programm für TCM-EX3501

Version 1.1

Von Bernd Eggink (e-mail: bernd.eggink@rrz.uni-hamburg.de)

Inhalt

  1. Installation
  2. Starten und Beenden
  3. Einstellung des Ports
  4. Die Bedienoberfläche
  5. Erzeugen, Editieren und Löschen von Einträgen
  6. Speichern und Laden von Dateien
  7. Transfer vom PC zur Datenbank
  8. Transfer von der Datenbank zum PC
  9. Behandlung von Doppeleinträgen
  10. Geheimtabellen und Passwortschutz
  11. Weitere Einstellungen
  12. Was noch fehlt

1. Installation

Das Basisverzeichnis der installierten JRE (unter Windows z.B. C:\Programme\j2re1.4.1_02), wird im Folgenden als JRE_HOME bezeichnet.

Linux:

  1. Das Archiv in einem beliebigen Verzeichnis mit
    tar -xzf ex3501-linux-1.0.tgz
    entpacken. Die Datei ex3501.jar enthält das Java-Programm.

  2. Die Datei librxtxSerial.so in das Verzeichnis JRE_HOME/lib/i386 kopieren.

  3. Die seriellen Ports müssen beim Systemstart konfiguriert werden. Bei SuSE-Linux geht das durch Auskommentieren zweier Zeilen in der Datei /etc/init.d/setserial (als root):
    run_setserial /dev/ttyS0 ${AUTO_IRQ} skip_test autoconfig
    run_setserial /dev/ttyS1 ${AUTO_IRQ} skip_test autoconfig
    oder durch schlichtes Ausführen von
    /bin/setserial -b /dev/ttyS0 auto_irq skip_test autoconfig
    /bin/setserial -b /dev/ttyS1 auto_irq skip_test autoconfig
  4. Sollen andere Benutzer als root das Programm verwenden können, müssen die Ports für alle zum Lesen und Schreiben freigegeben sein. Also einmalig als root folgendes Kommando ausführen:
    chmod a+rw /dev/ttyS0 /dev/ttyS1

Windows:

  1. Die Zip-Datei in einem beliebigen Verzeichnis entpacken. ex3501.jar enthält das Java-Programm.

  2. Die Datei win32com.dll in das Verzeichnis C:\windows\system32 kopieren.

  3. Die Datei javax.comm.properties in das Verzeichnis JRE_HOME\lib kopieren.

  4. In einigen Fällen muss der serielle Port per Hand konfiguriert werden (nur erforderlich, wenn der Transfer zwischen PC und Datenbank (s.u.) nicht auf Anhieb klappt).

    Wählen Sie dazu "Systemsteuerung / Gerätemanager / Anschlüsse (COM und LPT) / COM1 / (Rechtsklick) Eigenschaften / Anschlusseinstellungen" und stellen folgende Werte ein:

    Bits pro Sekunde: 600
    Datenbits: 8
    Parität: keine
    Stoppbits: 1
    Fusssteuerung: keine

2. Starten und Beenden

Start unter Linux: Unter X-Windows das Kommando
JRE_HOME/bin/java -jar ex3501.jar
geben (ggf. JRE_HOME/bin in den PATH aufnehmen).

Start unter Windows: Durch Doppelklick auf ex3501.jar. Bei korrekter Java-Installation startet das Programm automatisch und ohne Kommandofenster. Andernfalls muss noch die Endung .jar mit dem Programm JRE_HOME/bin/javaw verküpft werden.

Beenden: den Menüpunkt "Datei / Ende" wählen oder Alt-x eingeben.

3. Einstellung des seriellen Ports

Zunächst wird im Menü "Einstellungen" der serielle Port eingestellt, an den die Datenbank angeschlossen ist.

Unter Windows tauchen hier ziemlich viele Ports auf; die meisten Rechner haben trotzdem nur nur zwei (COM0 und COM1 bzw. ttyS0 und ttyS1). Welcher Anschluss zu welchem Port gehört, muss notfalls ausprobiert werden. Das Programm merkt sich diese und andere Einstellungen für den nächsten Start; wenn immer derselbe Anschluss benutzt wird, braucht er also nur einmal eingestellt zu werden.

4. Die Bedienoberfläche

Die graphische Oberfläche besteht aus einer Menüleiste, einer Werkzeugleiste, einem in Form von Karteikarten aufgebauten Hauptfenster und einer Fußzeile.

Das Hauptfenster zeigt den Inhalt einer Datenbank-Tabelle in komprimierter Form. Welche Tabelle sichtbar ist, lässt sich durch einen Klick auf die Beschriftung ("Telefon 1" usw.) einstellen. Tatsächlich existieren zwei Sätze von Tabellen: die normalen und die "Geheimtabellen". Zwischen beiden kann über das Schloss-Symbol auf der Werkzeugleiste oder über das Menü "Einstellungen / Geheimtabellen" gewechselt werden.

Die Breite einzelner Tabellenspalten lässt sich dadurch verändern, dass man in der Kopfzeile auf eine senkrechte Begrenzungslinie klickt und sie zur Seite zieht. Duch Klicken in ein Feld der Kopfleiste und anschließendes Ziehen kann auch die Spaltenreihenfolge geändert werden.

Die Menüs können wie üblich mit der Maus, aber auch über die Tastatur bedient werden. Die Alt-Taste zusammen mit dem unterstrichenen Buchstaben öffnet ein Menü, der gewünschte Menüeintrag wird dann durch Eingabe des zugehörigen Buchstabens aktiviert. Alle Funktionen des Programms sind über die Menüs zu erreichen.

Die Symbole in der Werkzeugleiste bieten nichts Neues, sondern dienen lediglich zum schnelleren Ausführen bestimmter Aktionen. Eine kurze Beschreibung wird eingeblendet, wenn man die Maus eine Weile über einem Symbol stehen lässt.

Klickt man mit der rechten Maustaste in eine Tabelle, erscheint ein Popup-Menü. Die Aktionen in diesem Menü beziehen sich auf die markierten Zeilen.


Ganz unten sieht man den Namen der zuletzt bearbeiteten Datei. Wenn die Geheimtabellen angezeigt werden, erscheint hier außerdem ein Schlüsselsymbol.

5. Erzeugen, Editieren und Löschen von Einträgen

Um einen neuen Eintrag zu erzeugen, wählt man im Menü "Bearbeiten" oder im Popup-Menü (rechte Maustaste) den Punkt "Neu". Ein Dialogfeld mit den entspechenden Tabellenfeldern erscheint, die dann beliebig ausgefüllt werden können:

Achtung: Der Zeichenvorrat ist hier nicht eingeschränkt, aber beim Abspeichern in eine Datei oder beim Transfer zur Datenbank werden alle Zeichen, die das Gerät nicht darstellen kann, durch Fragezeichen ersetzt.
Der Wechsel zwischen den Eingabefeldern erfolgt durch einen Mausklick oder die Kombination Strg+Tab. Nach Klick auf "OK" wird der Eintrag in die angezeigte Tabelle einsortiert.

Zum Verändern eines vorhandenen Eintrags gibt es mehrere Möglichkeiten:

Es erscheint der gleiche Dialog wie bei "Neu", jetzt aber vorbesetzt mit den vorhandenen Einträgen.

Um eine oder mehrere Zeilen in einer Tabelle zu löschen, markiert man sie zunächst. Mehrere Zeilen werden in der üblichen Weise markiert:

Die markierten Zeilen können dann über das Bearbeiten- bzw. das Popup-Menü durch Klicken auf "Löschen" entfernt werden. Sie sind nicht sofort verloren, sondern landen in einer internen Zwischenablage, aus der sie mit "Einfügen" wieder eingefügt werden können. Jede Tabellenart verfügt über eine eigene Zwischenablage; es gibt eine für die 6 Telefontabellen, eine für die beiden Termintabellen usw. Damit lassen sich z.B. Einträge zwischen normalen und Geheimtabellen oder von einer Telefontabelle in eine andere verschieben.

Im Gegensatz dazu wird mit "Bearbeiten/Tabelle löschen" oder einem Klick auf das Mülleimer-Symbol die Tabelle komplett in die Zwischenablage verschoben, unabhängig von Zeilenmarkierungen.

Noch radikaler wirkt "Datei / Alle Tabellen löschen"; dies löscht alle Einträge im PC, und zwar endgültig - also Vorsicht!

6. Speichern und Laden von Dateien

Über das Datei-Menü lassen sich alle Tabellen in Dateien sichern bzw. aus Dateien laden. Bei "Öffnen" erscheint ein Datei-Auswahldialog. Ganz unten im Datei-Menü sind die letzten 5 benutzten Dateien aufgelistet; sie können durch Anklicken direkt geladen werden. Der Name der aktuellen Datei steht in der Fußzeile des Fensters; in diese Datei werden die Tabellen zurückgespeichert, wenn man auf "Datei / Sichern" oder auf das Symbol in der Werkzeugleiste klickt. Soll in eine neue Datei gesichert werden, wählt man "Datei / Sichern unter".

Wenn eine Datei geladen wird, bedeutet das nicht, dass der vorhandene Tabelleninhalt überschrieben wird: die neuen Einträge werden in die vorhandenen eingemischt. Identische Einträge werden dabei nur einmal aufgenommen. Will man nur den Inhalt einer bestimmten Datei haben, kann man ggf. vor dem Laden mittels "Datei / Alle Tabellen löschen" für einen sauberen Ausgangszustand sorgen.

Bei den erzeugten Dateien handelt es sich um reine Textdateien mit der Standard-Endung ".e35". Diese Endung ist nicht zwingend, im Prinzip können die Dateinamen beliebig sein.

7. Transfer vom PC zur Datenbank

Vorab sei darauf hingewiesen, dass die Intelligenz der Datenbank etwas beschränkt ist. Obwohl der Tabellentyp mit übertragen wird, interpretiert sie diese Angabe nicht; man muss also immer in der Datenbank manuell die Zieltabelle einstellen!

Zum Start des Transports dienen die beiden unteren Punkte des Menüs "Transfer". Man hat die Wahl, entweder die komplette Tabelle oder nur die selektierten Einträge zu übertragen. Zur übertragung einer ganzen Tabelle genügt ein Klick auf das Symbol in der Werkzeugleiste. Das Übertragen nur der markierten Zeilen kann auch über den Punkt "PC->DB" im Popup-Menü angestoßen werden.

Der Transfer beginnt nicht sofort, sondern es erscheint zunächst ein Dialogfeld:


Man wählt jetzt, falls noch nicht geschehen, in der Datenbank die gewünschte Tabelle, drückt dann "Link" und "E" (Empfangen) und danach im Programm auf "OK", um die Übertragung zu starten. Nicht zu lange warten, die Datenbank meldet sonst einen Fehler! Wenn die Übertragung beendet ist, verschwindet der Dialog vom Bildschirm. Vorher sind keine weiteren Aktionen möglich.

Hinweis: Die Datenbank ist unfähig, identische Einträge zu erkennen und auszusortieren. Wenn man Mehrfacheinträge vermeiden will, ist es das Einfachste, vor der Übertragung die ganze Tabelle in der Datenbank zu löschen (über Funktionen / Daten löschen). Natürlich sollte man dann sicher sein, dass die zu übertragende Tabelle auch wirklich vollständig ist.

8. Transfer von der Datenbank zum PC

Die beiden oberen Punkte im Menü "Transfer" dienen der Datenübertragung von der Datenbank zum PC. Es gibt hier der Bequemlichkeit halber 2 Modi:

In beiden Fällen beginnt das Programm, auf Daten zu warten. In der Datenbank muss jetzt eine Tabelle eingestellt und mit "Link" und "S" (Senden) zum PC übertragen werden. Soll nur ein einzelner Eintrag übertragen werden, lässt man ihn in der Datenbank mit der Taste "ANZ" anzeigen und drückt dann "Link" und "S". Das Programm erkennt den Typ der übermittelten Information und schaltet automatisch auf die entsprechende Tabelle um. Ein Ausnahme bilden die Telefontabellen; da die Datenbank die Nummer (1-3) der Tabelle leider nicht mitsendet, muss sie vom Benutzer manuell eingestellt werden. Auf dem Bildschirm erscheint dann ein Auswahlmenü:


Man kann schon während der Übertragung die Nummer der Telefontabelle auswählen und bestätigt sie nach dem Ende der Übertragung mit "OK".

Im fortlaufenden Modus wird danach der Dialog mit dem "Abbrechen"-Knopf sichtbar und ein weiterer Transfer kann sofort von der Datenbank aus gestartet werden. Um den Vorgang zu beenden, drückt man "Abbrechen".

Tritt beim Lesen von der Datenbank ein Fehler auf oder wird die Verbindung unterbrochen, erscheint eine Fehlermeldung. Der Rest der Eingabe wird dann überlesen und bleibt wirkungslos.

9. Behandlung von Doppeleinträgen

Im Gegensatz zur Datenbank behandelt das Programm Doppeleinträge korrekt. Völlig identische Einträge erscheinen nur einmal in der Tabelle. Haben zwei Einträge den gleichen Schlüssel (z.B. gleiches Datum und gleiche Uhrzeit bei Termineinträgen, oder gleicher Name bei Telefoneinträgen), aber unterschiedliche andere Felder, werden beide aufgenommen und mit einer Markierung versehen.

Das Symbol links gibt Auskunft darüber, woher der Eintrag stammt: bedeutet, dass er von der Datenbank kommt, , dass er aus einer Datei gelesen oder im Programm eingegeben wurde. Mann kann sich dann entscheiden, welchen man ggf. löschen möchte.

10. Geheimtabellen und Passwortschutz

In der Datenbank schaltet man auf die Geheimtabellen um, indem man das Passwort eingibt. Das Programm erfährt dieses Passwort (natürlich) nicht. Wenn man Geheimtabellen in einer Datei vor fremden Augen schützen will, kann man dem Programm ein eigenes Passwort mitgeben. Dazu dient das Menü "Datei / Passwort". Gibt man hier ein Passwort ein, werden die Geheimtabellen - und nur sie - beim anschließenden Abspeichern in eine Datei verschlüsselt. Stellt das Programm umgekehrt beim Lesen einer Datei fest, dass sie verschlüsselte Tabellen enthält, fragt sie nach dem Passwort. Bei korrekter Eingabe geht das Lesen weiter; bricht man die Passworteingabe ab, werden nur die normalen, nicht aber die Geheimtabellen gelesen.

Achtung: Die Verschlüsselung ist nicht sehr kräftig und relativ leicht zu knacken!!

Das zuletzt eingegebene Passwort wird auch beim nächsten Speichern verwendet. Hat man mehrere geschützte Dateien hintereinander eingelesen, ist das also das Passwort der letzten passwortgeschützten Datei. Das aktuelle Passwort lässt sich bei Bedarf über das Menü "Datei / Passwort" beliebig ändern. Lässt man das neue Passwort leer, werden die Geheimtabellen beim Speichern unverschlüsselt in die Datei ausgegeben.

Zum Umschalten zwischen normalen und Geheimtabellen dient eine Checkbox im Menü "Einstellungen" oder das Symbol in der Werkzeugleiste. Bei eingeschalteten Geheimtabellen erscheint in der Fußleiste ein Schlüsselsymbol.

11. Weitere Einstellungen

Im Menü "Einstellungen" kann man die Art auswählen, wie Tabelleneinträge auf dem Bildschirm dargestellt werden: Alles klein, alles groß, oder alle Wortanfänge groß. Die Einstellung dient nur Verbesserung der Lesbarkeit und hat keinen Einfluss auf die Datenbank, die ja nur Großbuchstaben kennt.

Verschiedene Einstellungen werden vom Programm in einer Datei ex3501.props im Arbeitsverzeichnis abgelegt, z.B. der Port, die letzten benutzten Dateien, die Fenstergröße usw. Die Datei kann gefahrlos gelöscht werden, aber bitte nicht an ihr herumeditieren!

12. Was noch fehlt

Die folgenden Erweiterungen werde ich vielleicht im Lauf der Zeit noch einbauen, vorausgesetzt sie werden (a) gewünscht und/oder ich habe (b) Zeit und (c) Lust dazu:
Nach oben