Logo: Geos Online Print Archiv
G.O.P.A. - Geos Online Print Archiv
29.03.2024 Archiv  #  Recherche  #  Links  #  Kontakt  #  Gästebuch  #  Impressum

Index
Register
Login

Die Anzeige des Archivs erfolgt grafisch. Ändern

PatchWORKS - GEOS-Importfilter für WORKS-Datenbank-Dateien

Autor: Hanns-Martin Fischer

Welchem GEOS-Anwender geht es nicht so: Aus der Zeit des ersten eigenen Rechners stammt noch so manche Datei, die mit einem der damals gängigen Programme erstellt wurde.

War solch ein Programm noch einigermaßen "up to date" und schöpfte man die gebotenen Möglichkeiten noch nicht voll aus, war das ja auch noch in Ordnung.
Doch inzwischen gibt es ja Geoworks Ensemble 2.0! - Aber: Die alten Dateien gibt es auch noch! Und so taucht häufig das Problem auf, daß diese sich aufgrund ihres heute vielleicht nicht mehr so gängigen Dateiformates nicht ins GEOS-Format konvertieren lassen.

Mir erging das so mit einigen sehr umfangreichen Datenbank-Dateien, die ich damals unter WORKS 1.0 bzw. 2.0 erstellt habe. - Die wochen- oder gar monatelange Arbeit noch gut im Gedächtnis, verspürte ich keine allzugroße Lust, sämtliche Angaben zu meiner Schallplatten-, CD- und Video-Sammlung nochmals in den Rechner einzugeben (... auch nicht unter Geoworks - so gerne ich damit arbeite ...).

Was also tun? - Ein direktes Konvertieren aus dem WORKS-eigenen Datenbankformat (.WDB) ist in Geoworks nicht vorgesehen. Selbst die einfachste angebotene Möglichkeit - der Import von ASCII-Dateien, in denen die einzelnen Felder durch Kommata getrennt sind (*.CSV - comma separated values) - läßt sich auf die WORKS-Dateien nicht anwenden, da hiermit nur ASCII-Dateien erzeugt werden können, in denen das Semikolon als Trennzeichen fungiert.
Icon: CSV Translator Klar - dachte ich: Einfach die betreffende Datei in die Textverarbeitung laden, die Semikola mittels <Suchen und Ersetzen> durch Kommata austauschen, Dateiendung CSV anhängen, und fertig ...
Damit hatte ich aber ein neues Problem: Es gibt - das ist in Musik- und Video-Datenbanken nichts ungewöhnliches - Datenfelder, in denen bereits Kommata enthalten sind (LP- und Filmtitel etc.), so daß durch die eben geschilderte Maßnahme innerhalb einer Datei Datensätze mit jeweils unterschiedlich vielen "Trennzeichen" entstehen. Diese zu importieren, weigert sich jedoch GeoFile bzw. der für den Import zuständige Filter 'CSV Translator' im Verzeichnis \SYSTEM\IMPEX.

Nach etlichen weiteren Versuchen (zunächst die Kommata innerhalb der Felder durch Sternchen o. ä. ersetzen, die Semikola wiederum durch Kommata etc.) war ein Import in GeoFile endlich möglich. Doch nun hätte ich buchstäblich jedes Datenfeld auf eventuelle Ersatzzeichen (*) durchsuchen und diese manuell jeweils wieder durch ein Komma ersetzen müssen (die Option <Ersetzen> gibt's in GeoFile ja nicht).
Als ich dann auch noch bemerkte, daß die ASCII-Sonderzeichen nicht korrekt ins GEOS-Format übernommen werden (ä - Ñ / ö - Sonderzeichen / ü - Å etc.), sah ich mich schon vor der Alternative, entweder doch alles noch einmal abtippen zu müssen - oder halt weiterhin mit den bestehenden Datenbanken unter WORKS zu arbeiten. (Welches davon ist das geringere Übel?)

Doch getreu dem Grundsatz, möglichst viele Anwendungen direkt unter GEOS auszuführen und sich dabei unnötige Arbeit zu ersparen, wollte ich mich mit keiner dieser beiden Möglichkeiten abfinden.

Den konkreten Anstoß zur Lösung dieses Problems bekam ich schließlich bei der Lektüre von Burkhard Oerttels Buch über Geoworks 2.0*) (leider erst auf der letzten Seite). - Er beschreibt dort die Möglichkeit, Importfilter-Vorgaben zu verändern.

Genau das brauchte ich - andere Importfilter-Vorgaben: Statt "Komma-getrennte" müßten "Semikolon-getrennte Werte" als Vorgabe ausgewählt werden können!

Flugs machte ich eine Kopie der Datei "CSV.GEO" (- DOS-Name), nannte sie sinnvollerweise "TEST.GEO" und begab mich in aller mir zur Verfügung stehenden Naivität mittels eines Hex-Editors innerhalb dieser Datei auf die Suche nach Kommata. - Und ich wurde genau zehnmal fündig.

Dabei entdeckte ich zufällig, daß bei der Hälfte der Fundstellen dem Komma ein immer gleiches Zeichen vorangestellt ist, nämlich eine geöffnete spitze Klammer ("<"). - Frei nach dem Motto "Versuch macht klug" ersetzte ich (nur!) diese Kommata durch Semikola.
Hier die genauen Fundstellen:

  Sektor |  Byte
 ----------------
    3   |  371
    4   |   14
    4   |   68
    5   |   42
    7   |   42

Bei einem erneuten Start von GeoFile zeigte mir die Liste der Import-Formate nun zweimal den Eintrag "Komma-getrennte Werte". - Also mußte ich diesen String noch ein wenig abändern, um die beiden "Zwillinge" - man beachte den "kleinen Unterschied" ( , ; ) - besser auseinanderhalten zu können.
Kurz und gut - dieser Ausdruck kommt in der Datei CSV.GEO (bzw. TEST.GEO) nur einmal vor (Sektor 8 / Bytes 66-86). Schnell war dieser durch den neuen String ersetzt. Da er ebenfalls nur 21 Zeichen lang sein durfte, mußte ich ihn abkürzen; "Semikolon-getr. Werte".
Fehlte nur noch eine passende Dateiendung für die zu importierenden ASCII-Datenbank-Dateien. Und was liegt da näher als "*.SSV" (- "semicolon separated values") - trotz der latenten Verwechslungsgefahr ("Sommerschlußverkauf"). An folgenden Stellen muß also das "C" (von "CSV") durch ein "S" (- "SSV") ersetzt werden:

  Sektor |  Byte
 ----------------
    0   |  300
    8   |   92

Der GEOS-eigene Name steht ja bekanntlich im Kopf jeder GEOS-Applikation, so auch hier: "CSV Translator". - Gemäß der oben gewählten Dateiendung müßte der neue Import-Filter also "SSV Translator" heißen (Sektor 0 / Byte 4 ff).
Nach all diesen Änderungen und der Umbenennung von "TEST.GEO" in "SSV.GEO" stand einem Probelauf des neu entstandenen Filters nun eigentlich nichts mehr im Wege (die bange Frage, ob's denn wirklich funktioniert, mal ausgenommen). - Und siehe da: Der Import der ursprünglich einmal unter WORKS angelegten Datenbank nach Geoworks gelang OHNE PROBLEME! (... und das mir ...)
Die letzte zu nehmende Hürde bestand nun noch in der korrekten Umwandlung der Umlaute und sonstigen Sonderzeichen ins GEOS-Format. - Da ich hierfür keine stichhaltigen Anhaltspunkte in der Datei CSV.GEO finden konnte (das wäre auch zu schön gewesen ...), mußte dieses also doch noch einmal über einen kleinen Umweg passieren.
Doch hier läßt uns Geoworks nicht im Stich. Für solche Aufgaben ist der Text-Editor hervorragend geeignet: Über die hier integrierte Funktion <Suchen & Ersetzen> lassen sich die meisten der üblichen Sonderzeichen und Umlaute konvertieren. - Dazu muß man nur wissen, welches jeweilige ASCII - Pendent die GEOS-Zeichen haben.
Das läßt sich allerdings leicht herausfinden: Da die Konvertierung beim GeoFile-Export ebensowenig funktioniert wie beim Import - das ist hier von Vorteil -, exportiert man einfach ein GeoFile-Dokument (es reicht 1 Feld, in dem die gewünschten Sonderzeichen vorkommen) ins ASCII-Format und schaut sich dieses dann im Text-Editor an. - Voilà! -
Entsprechend ersetzt man nun die Sonderzeichen und Umlaute in seiner ASCII-Datei durch die "GEOS-kompatiblen" Zeichen.
ENDLICH war es soweit: Der zweite Importversuch ließ keine Wünsche mehr offen. - Alle Felder und sämtliche Zeichen sind korrekt übernommen worden!
Die Neupositionierung der Datenfelder und die optische Aufbesserung waren danach ein Klacks.

Es lohnt sich wirklich, GEOS auf seine unentdeckten Möglichkeiten hin zu untersuchen. Nachahmung empfohlen!

 

Hanns-Martin Fischer, Uelzen


*) Lit.: Burkhard Oerttel - "Das große Buch zu Geoworks 2.0" (D'dorf 1994). S. 735.


 




Dieser Artikel ist Bestandteil von:

Ausgabe 38

! - - - - - M I C R O F I L M - - - - - ! | Jahreshaupttreffen '95 ?! | Neu: Lastschriftverfahren | Editorial | Das Jahreshaupttreffen 1995 | Geoworks Einsteiger Kurs | System des GEOS User Club | Aktuelles | 32. Regionaltreffen in Hannover! | News Regio Baden | GUP, Zeit und Artikel... | Test CLI V3.0 | Neu: Manager-Programm | Neues GEOS Adventure Spiel -Jerry Baumwolle- in Vorbereitung! | CMD-Trackball | Test der Diskette -Erste Hilfe für Geos- | Neue Druckertreiber für GEOS 64/128 | GeoCom Workshop #6 - Etwas über Hilfsmittel und Drucker | GeoCom aktuell: - GeoCom-Update | Neues von der GeoThek #7 | Diskettenreperatur | PD Disk für GWE2 | Bindery & Book Reader = ? | Aktuelles 2 | Bindery -... erste Eindrücke | PaperClip | PatchWORKS - GEOS-Importfilter für WORKS-Datenbank-Dateien | GeoFile & GeoWrite verbinden | Die Fachpresse und Geoworks | Formen durch -Duplizieren- erstellen | DTP - aber richtig! (1) | Quintessenz | Faxen mit GWE2 & Bitfax SR | Offline Antwort mit GeoComm | KaBaBu & EA Fehlerkorrektur | Der letzte Tip ...


Kurzlink hierhin: http://geos-printarchiv.de/2056


Letzte Änderung am 01.11.2019