PF2DB Version 1.2 Konvertierungsutility fr DBase-kompatible Datenbankdateien und Dateien der ATARI Portfolio Adreverwaltung Frank Meyer Computertechnik, Lehrte -- Entwickler der Kommunikationssoftware TM fr Portfolio -- Copyright 1992 Frank Meyer Computertechnik, Lehrte Frank Meyer, Hofwinkel 8, W 3160 Lehrte Telefon: 05132 1769, Fax: 1729 Alle Rechte vorbehalten. Diese Programm ist Public Domain. Es darf und soll - allerdings nur zusammen mit dieser Dokumentations- datei - frei kopiert, weitergegeben und genutzt werden. Der Verkauf ist verboten ! Vorwort ------- Das Konvertierungsutility PF2DB wurde entwickelt, um die komfortable Handhabbarkeit und den mchtigen Leistungsumfang des weit verbreiteten Datenbankverwaltungsprogramm DBase III Plus der Firma Borland vormals Ashton-Tate den Anwendern des Atari Portfolio zur Verfgung zu stellen. Aus technischen Grnden ist es wenig sinnvoll - und im Grunde auch nicht notwendig -, ein DBase III Plus- kompatibles Datenbanverwaltungsprogramm fr den Portfolio zu implementie- ren, da dies unntig Speicher verschwenden wrde. Auch ist das Verhltnis des Umfangs einer DBase-Datei zu den gespeicherten Daten nicht sehr effizient, whrend dieses Verhltnis in einer Portfolio-Adredatei 1:1 betrgt. Um die Vorzge von DBase mithilfe der eingebauten Adreverwal- tung auf dem Portfolio zu nutzen, mssen Sie lediglich die Daten des einen Datenbankprogramms - DBase oder Portfolio- Adreverwaltung - in das jeweils andere Format konvertieren. Genau das ist mit dem Konvertierungsprogramm PF2DB auf einfache Weise effektiv zu bewerkstelligen. Das Konvertierungsutility PF2DB ist ein sogenanntes Kommandozeilenprogramm. Das bedeutet, da smtliche Angaben, die das Programm fr seine Arbeit bentigt, bei Aufruf des Programms vom Anwender als Parameter bergeben werden. Das hat natrlich den Nachteil, da das Programm dem Anwender nicht in dem Mae durch Hilfestellungen untersttzen kann wie dies ein interaktives oder mengesteuertes Programm leisten kann. Doch ein Kommandozeilenprogramm hat auch einige Vorteile. Es ist in der Regel wesentlich kleiner als ein interaktives Programm und die Arbeit mit dem Programm lt sich in vielen Fllen schneller erledigen. Auerdem kann ein Kommandozeilenprogramm in einer Batch-Datei verwendet werden. Der erste Schritt: "Einfach 'mal starten !" ------------------------------------------- Legen Sie die Diskette mit dem Konvertierungsutility PF2DB in das Dikettenlaufwerk Ihres IBM-kompatiblen PCs und starten Sie das Programm. Auf diese Weise lt es sich am einfachsten erklren. Eingabe: A:\>PF2DB Daraufhin erscheint folgende Einschaltmeldung und - da Sie keinen Parameter bergeben haben - eine Hilfestellung des Programms. ͻ PF to DB Version 1.2 Konvertierungsutility fr DBase III+ Datenbankdateien und Dateien der ATARI Portfolio Adreverwaltung c 1992 Frank Meyer ͼ Aufruf: C>PF2DB [].DBF [[@] [[+][@] [[+][@] [..]]]] [/s] PF2DB erzeugt eine ADR-Datei mit Zeilen bestehend aus dem Inhalt der angegebenen DBF-Feldern und/oder deren Namen (Prefix @). Bei leeren Feldern kann es Probleme mit der Konvertierung geben. oder: C>PF2DB [].ADR [ ] [..] [/s] PF2DB erzeugt eine DBF-Datei mit den angegebenen Feldern der angegebenen Lnge und vom Typ Zeichen. Anhand dieser Hilfestellung sieht man schon, da es grund- stzlich zwei Mglichkeiten gibt, das Konvertierungsutility zu benutzen: - Wenn die Erweiterung des bergebenen Dateinamens (erster Parameter beim Programmaufruf) DBF ist - die Datei also eine DBase-kompatible Datenbankdatei ist -, wird eine ent- sprechende Adredatei fr die Portfolio-Adreverwaltung erzeugt, - Wenn die Erweiterung des bergebenen Dateinamens dagegen ADR ist - die Datei also eine Adredatei ist -, wird eine ent- sprechende Datenbankdatei erzeugt. Der zweite Schritt: ------------------- I) Erstellen einer einfachen Adredatei (ADR) --------------------------------------------- Starten Sie das Programm ein zweites Mal und bergeben Sie dieses Mal den Dateinamen einer Datenbankdatei und den Schalter /s als Parameter. Eingabe: A:\>PF2DB BEISPIEL.DBF /S Das Programm gibt wieder erst die Einschaltmeldung aus, unter- sucht dann die Struktur der Datenbankdatei BEISPIEL.DBF und zeigt sie auf dem Bildschirm an (der Parameter /s steht fr "Struktur der Datei anzeigen"). ͻ PF to DB Version 1.2 Konvertierungsutility fr DBase III+ Datenbankdateien und Dateien der ATARI Portfolio Adreverwaltung c 1992 Frank Meyer ͼ Analysiere Struktur von BEISPIEL.DBF... Datenbank enthlt xxx Datenstze xxx Bytes (xxx Felder). Lnge des Headers xxx Byte. Letzter Zugriff am tt.mm.jj. Feld 1: FELDNAME1, Typ X, Lnge xxx Zeichen ... Feld n: FELDNAMEn, Typ X, Lnge xxx Zeichen Erstelle Adredatei mit folgender Struktur: Zeile 1: Inhalt von FELDNAME1 ... Zeile n: Inhalt von FELDNAMEn Konvertierung fortsetzen ? (J/N) Im ersten Teil dieser Auflistung zeigt das Programm die Struktur der vorhandenen Datenbankdatei an, im zweiten Teil die Struktur der neu erzeugten Adredatei. Im Anschlu an diese Auflistung wird zur Sicherheit abgefragt, ob die Konvertierung in die Adredatei der angegebenen Struktur fortgesetzt werden soll. Wenn Sie hier mit Ja antworten, wird eine Adredatei erzeugt, deren Datenstze exakt so aufgebaut sind wie die entsprechen- den Datenstze der Datenbankdatei. Das bedeutet, da der Inhalt von Feld 1 eines Datensatzes der Datenbankdatei in die Zeile 1 des entsprechenden Datensatzes der Adredatei bertragen wird und so weiter. bertragen werden nur Felder der Datenbankdatei, die nicht leer sind. Memo-Felder werden ignoriert, bei logischen Feldern wird der Name des logischen Feldes bertragen, sofern das ent- sprechende logische Feld auf WAHR gesetzt ist. II) Erstellen einer komplexen Adredatei (ADR) ---------------------------------------------- Um eine Adredatei zu erzeugen, die von ihrer Struktur her unabhngig ist von der Struktur der Datenbankdatei, mssen Sie Informationen ber den gewnschten Aufbau der Datei dem Konvertierungsprogramm als Parameter bergeben. Dabei gilt folgende Syntax: PF2DB [].DBF [[@] [[+][@] [[+][@] [..]]]] [/s] Die Angaben in den eckigen Klammern sind optionale Angaben, das heit, sie knnen entfallen. Das + ist ein Verkettungszeichen, mit dem beliebige Feldin- halte und -namen zu einer Zeile der Adredatei verknpft werden knnen. Wird ein @ vor einem Feldnamen angegeben, so wird anstatt des Inhalts des Feldes sein Name in die Adredatei bernommen. Wird als letzter Parameter der Schalter /s gesetzt, werden vor der Konvertierung die Strukturen der Datenbankdatei und der Adredatei angezeigt. Am einfachsten lt sich der Aufruf des Programms an einem Beispiel erklren. Nehmen wir an, Sie haben eine Datenbankdatei KUNDEN.DBF mit Datenstzen folgender Struktur: Feld 1: FIRMA , Typ C, Lnge 40 Zeichen Feld 2: NAME , Typ C, Lnge 40 Zeichen Feld 3: STRAE , Typ C, Lnge 30 Zeichen Feld 4: ORT , Typ C, Lnge 30 Zeichen Feld 5: TELEFON , Typ C, Lnge 20 Zeichen Feld 6: TELEFAX , Typ C, Lnge 20 Zeichen Feld 7: TERMIN , Typ D, Lnge 8 Zeichen Feld 8: KUNDE , Typ L, Lnge 1 Zeichen Feld 9: BEMERKUNG , Typ M, Lnge 10 Zeichen Sie wollen nun eine Adredatei KUNDEN.ADR erstellen, in der die erste Zeile jedes Datensatzes (Indexzeile der Portfolio- Adreverwaltung) den Namen des Kunden enthlt. Weiterhin soll die erste Zeile seine Telefon- und Telefaxnummer sowie den Namen des entsprechenden Feldes enthalten. Die zweite Zeile soll die Adresse bestehend aus Strae und Ort enthalten, die dritte Zeile einen Termin und die vierte Zeile den Text KUNDE (Name des Feldes KUNDE), sofern dieses logische Feld WAHR ist (der Datensatz also die Adresse eines Kunden ist). Die zu erstellende Adredatei mu also Datenstze folgender Struktur enthalten (NAME allein steht fr "Inhalt des Feldes NAME", @NAME steht fr "Feldnamen von NAME"). Zeile 1: NAME @TELEFON TELEFON @TELEFAX TELEFAX Zeile 2: STRAE ORT Zeile 3: TERMIN Zeile 4: KUNDE Um die Datei KUNDEN.DBF in die Datei KUNDEN.ADR mit der gewnschten Struktur zu konvertieren, mssen Sie das Programm PF2DB demnach wie folgt aufrufen: A:\>PF2DB KUNDEN.DBF NAME+@TELEFON+TELEFON+STRAE+ORT TERMIN KUNDE Da der Schalter /s nicht angegeben wurde, wird die Struktur der Dateien bei der Abarbeitung des Programms nicht angezeigt. Ebenso wird auch die Sicherheitsabfrage "Konvertierung fort- setzen ? (J/N)" nicht vorgenommen. Die Bildschirmausgabe kann dann etwa so aussehen: ͻ PF to DB Version 1.2 Konvertierungsutility fr DBase III+ Datenbankdateien und Dateien der ATARI Portfolio Adreverwaltung c 1992 Frank Meyer ͼ Analysiere Struktur von KUNDEN.DBF... bertrage Datenstze... 412 Datenstze bertragen ! Bemerkung: bertragen werden nur Felder der Datenbankdatei, die nicht leer sind. Memo-Felder werden ignoriert, bei logischen Feldern wird der Name des logischen Feldes bertragen, sofern das ent- sprechende logische Feld auf WAHR gesetzt ist. Ein bertragener Datensatz kann zum Beispiel so aussehen: Meyer, Frank TELEFON (05132) 1769 Hofwinkel 8 3160 Lehrte 01.05.91 KUNDE III) Erstellen einer Datenbankdatei (DBF) ----------------------------------------- Um eine Datenbankdatei zu erzeugen, mssen Sie Informationen ber den gewnschten Aufbau der Datei dem Konvertierungspro- gramm als Parameter bergeben. Dabei gilt folgende Syntax: PF2DB [].ADR [ ] [..] [/s] Es mu mindestens ein Feldname mit dazugehriger Lnge als Parameter bergeben werden. Feldnamen sind maximal 10 Zeichen lang, die Lnge eines Feldes betrgt maximal 255 Zeichen. Die Angaben in den eckigen Klammern sind optionale Angaben, das heit, sie knnen entfallen. Wird als letzter Parameter der Schalter /s gesetzt, werden vor der Konvertierung die Strukturen der Datenbankdatei und der Adredatei angezeigt. Am einfachsten lt sich der Aufruf des Programms auch in diesem Fall an einem Beispiel erklren. Nehmen wir an, Sie haben eine Adredatei MUSIK.ADR, in der Titel und Interpreten von Musikstcken sowie Angaben darber, auf welchem Tontrger diese zu finden sind und einige ergnzende Angaben gespeichert sind. Ein Datensatz der Adredatei kann etwa so aussehen: Symphonie Nummer 7 A Dur opus 92 Herbert von Karajan und die Berliner Philharmoniker CD 21 Ludvig van Beethoven (1770-1827) Um diese Daten zu konvertieren, mssen Sie eine Datenbankdatei erstellen, die zum Beispiel folgende Struktur haben kann: Feld 1: TITEL , Typ C, Lnge 50 Zeichen Feld 2: INTERPRET , Typ C, Lnge 50 Zeichen Feld 3: TONTRGER , Typ C, Lnge 5 Zeichen Feld 4: BEMERKUNG , Typ C, Lnge 40 Zeichen Zum Konvertieren der Datei MUSIK.ADR in die Datei MUSIK.DBF mit der gewnschten Struktur mssen Sie das Programm PF2DB demnach wie folgt aufrufen: A:\>PF2DB MUSIK.ADR TITEL 50 INTERPRET 50 TONTRGER 5 BEMERKUNG 30 /S Da der Schalter /s angegeben wurde, wird die Struktur der Dateien bei der Abarbeitung des Programms angezeigt. Durch die Sicherheitsabfrage "Konvertierung fortsetzen ? (J/N)" haben Sie die Mglichkeit, die Konvertierung zu unterbrechen. Die Bildschirmausgabe kann dann etwa so aussehen: ͻ PF to DB Version 1.2 Konvertierungsutility fr DBase III+ Datenbankdateien und Dateien der ATARI Portfolio Adreverwaltung c 1992 Frank Meyer ͼ Analysiere Struktur von MUSIK.ADR... Adredatei enthlt 1 Datenstze mit maximal 4 Zeilen. Zeile 1 ist maximal 32 Zeichen lang. Zeile 2 ist maximal 51 Zeichen lang. Zeile 3 ist maximal 5 Zeichen lang. Zeile 4 ist maximal 32 Zeichen lang. Erstelle Datenbank mit 1 Datenstze 146 Bytes. Feld 1: TITEL , Typ C, Lnge 50 Zeichen. Feld 2: INTERPRET , Typ C, Lnge 50 Zeichen. Feld 3: TONTRGER , Typ C, Lnge 5 Zeichen. Feld 4: BEMERKUNG , Typ C, Lnge 40 Zeichen. Konvertierung fortsetzen ? (J/N) j Wenn Sie hier mit Ja antworten, wird eine Datenbankdatei erzeugt, deren Datenstze exakt wie oben beschrieben aufgebaut sind. Das bedeutet, da der Inhalt von Zeile 1 eines Datensatzes der Adredatei in die ein Feld mit dem Namen "TITEL", einer Lnge von 50 Zeichen und vom Type Zeichen des entsprechenden Datensatzes der Datenbankdatei bertragen wird. Es werden generell nur Felder vom Typ Zeichen erstellt. bertragen werden nur soviele Zeilen eines Datensatzes wie Felder im Datensatz der Datenbankdatei vorhanden sind. Ist eine Zeile lnger als die Lnge der entsprechenden Feldes (in unserem Beispiel die Zeile 2), so wird sie entsprechend gekrzt. bertrage Datenstze... Satz 1: Zeile 2 ist zu lang ! 1 Datensatz bertragen ! Fehlermeldungen des Programms ----------------------------- BEISPIEL.DBF ist keine DBase-Datei ! Dieser Fehler tritt auf, wenn PF2DB die angegebene Datei nicht als DBase III+ kompatible Datenbankdatei erkennen kann. Der Fehler fhrt zum Abbruch des Programms. BEISPIEL.DBF ist leer ! Dieser Fehler tritt auf, wenn die angegebene Datenbankdatei keine Datenstze enthlt. Der Fehler fhrt zum Abbruch des Programms. Feldname fehlt ! Dieser Fehler tritt auf, wenn bei der Erstellung einer Datenbankdatei kein Feldname als Parameter angegeben wurde. Der Fehler fhrt zum Abbruch des Programms. Feldlnge x falsch ! Dieser Fehler tritt auf, wenn bei der Erstellung einer Datenbankdatei eine falsche Feldlnge angegeben wird. Korrekte Feldlngen liegen zwischen 1 und 255 Zeichen. Der Fehler fhrt zum Abbruch des Programms. Feldname x zu lang ! Dieser Fehler tritt auf, wenn ein angegebener Feldname mehr als 10 Zeichen lang ist. Der betreffende Feldname wird dann auf 10 Zeichen gekrzt. Satz x: Zeile x ist zu lang ! Dieser Fehler tritt auf, wenn bei der Erstellung einer Datenbankdatei eine Zeile der Adredatei lnger ist als das jeweilige Feld der Datenbankdatei. Die Zeile wird dann entsprechend verkrzt bertragen. Satz x hat zu viele Zeilen ! Dieser Fehler tritt auf, wenn bei der Erstellung einer Datenbankdatei ein Datensatz der Adredatei mehr Zeilen hat als Felder in der Datenbankdatei vorhanden sind. Die entsprechende Zeile wird dann nicht bertragen.