A D I S O R T Ein Programm zum Mehrfach-Sortieren von beliebigen Merkmals-Feldern in Export-Dateien aus ADIMENS 2.1 oder ADIMENS 2.3, in beliebiger Anzahl, Reihenfolge und Rangfolge der Merkmals-Felder, aufsteigend oder absteigend. Entstanden auf einem 1040 STF mit TOS vom 6.2.86 unter Verwendung von GFA-BASIC-Interpreter 3.06 und GFA-BASIC-Compiler 3.02. Dieses Programm darf unter folgender Voraussetzung frei kopiert werden: a) Der komplette Ordner ADISORT.1_0 muž kopiert werden; er enth„lt die Dateien ADISORT.PRG ADISORT.TXT b) Keine dieser Dateien darf in irgendeiner Form ver„ndert werden. I.) Folgende Punkte sind bei der Benutzung zu beachten: Die gew„hlte Bildschirmaufl”sung muž mindestens 80 Zeichen pro Zeile erm”glichen (s.u.). Der verwendete Zeichensatz muž im Achter-Raster vorliegen wie z.B. die Standard-Zeichens„tze (8 * 16 monochrom, 8 * 8 mittlere Aufl”sung). Die zu sortierende Export-Datei, die zugeh”rige korrekte(!) Merkmals- Definitions-Datei und die entspr. Datenbank-Definitions-Datei mssen sich in einem gemeinsamen Verzeichnis befinden, also z.B.: A:\DATEN\DAT_BANK.DAT A:\DATEN\DATEI.ITM A:\DATEN\DATEI.EXP Anmerkung: Falls nach dem Laden der *.DAT-Datei ein Ladeversuch von *ITM- und *.EXP-Datei fehlschl„gt, kann eine andere Diskette, welche die beiden Dateien im gleichnamigen Verzeichnis enth„lt, ins gleiche Laufwerk eingelegt und der Versuch wiederholt werden. Die Export-Datei muž in folgendem ADIMENS-Format vorliegen: Datensatz-Trennung: (13)(10)(13)(10) Feld-Trennung : (13)(10) Feldeinfassungen : drfen nicht vorhanden sein! Dezimalpunkt : Punkt oder Komma Datum : TT/MM/JJ Die Export-Datei darf folgende Zeichen, woher auch immer, nicht enthalten (wird aus Geschwindigkeitsgrnden n i c h t berprft!!): ASCII 1 = Pfeil nach oben; internes Fllzeichen ASCII 124 = senkrechter Strich; internes Trennzeichen ASCII 250 = grožer Punkt; Fllzeichen fr Bildschirmausgabe (s.u.) ASCII 255 = obenliegender Querstrich; internes Fllzeichen Nach Programmstart mssen ca. 75 KB Minimal-Speicher frei sein, um ein sinnvolles Arbeiten zu erm”glichen. Der freie Speicher wird soweit wie m”glich fr die jeweilige Export-Datei und ihre Kopie (zum Sortieren n”tig) ausgenutzt. Dies bestimmt die Maximalgr”že einer zu ladenden Export-Datei. Ob sie evtl. zu grož ist, l„žt sich erst w„hrend des Ladens beim Analysieren und Aufbereiten feststellen, da zwar die L„nge der Merkmalsfelder aus der Datenbank bekannt ist, aber natrlich nicht, wieviele davon in wieviel Datens„tzen wie weit gefllt sind! Die beiden zu analysierenden Definitionsdateien drfen maximal je 32 KB grož sein. II.) Zu den Funktionen des Programms ADISORT erkennt aus der Datenbank-Definitons-Datei (*.DAT), ob ADIMENS 2.1 oder ADIMENS 2.3 verwendet wird. Nach dem Start des Programms wird in der File-Selector-Box die Datenbank- Definition (*.DAT) ausgew„hlt, in der die Datei definiert ist, aus der exportiert wurde. Die nach dem Laden erscheinende Dialogbox erm”glicht die Auswahl der gewnschten Export-Datei. Danach wird zuerst die zugeh”rige *.ITM-Datei und anschliežend die *.EXP-Datei geladen. Bei allen drei Dateien werden vor dem Laden und w„hrend des Ladens mehrere šberprfungen vorgenommen, um eine korrekte Funktion zu gew„hrleisten. Im Fehlerfall wird eine entsprechende Meldung ausgegeben und abgebrochen. Vor dem eigentlichen Laden bleibt das ohne Folgen. Bei einem Fehler w„hrend des Ladens gehen die aktuelle Export-Datei und/oder die aktuelle Datenbank- Definition verloren !! Nach dem Laden erscheint die Datei im Fenster als Liste, jeweils ein Datensatz pro Zeile, und kann in blicher Weise durchgebl„ttert werden. Wenn das Fenster geschlossen wird, werden alle Dateien aus dem Speicher entfernt. Beschreibung der Mens: 1.) Datei-Men: Eine neue Datenbank-Definition kann jederzeit geladen werden; eine neue Export-Datei ebenfalls, wenn eine Datenbank-Definition geladen ist. Eine im Speicher befindliche Datei kann jederzeit abgespeichert werden (Auswahl ber File-Selector-Box). Hier l„žt sich zwar eine beliebige Extension, aber aus Sicherheitsgrnden kein anderer Dateiname angeben. Ist eine Datei gleichen Namens im ausgew„hlten Pfad bereits vorhanden, wird nachgefragt, ob sie als Duplikat erhalten werden soll. 2.) Sortieren-Men: a) Nach Anklicken des Eintrags 'Datei sortieren' k”nnen die einzelnen Felder in einer Dialogbox zum Sortieren ausgew„hlt werden. Dabei ist zu beachten: - Die einzelnen Teilfelder von Mehrfachfeldern werden in der Auswahl als eigene Felder behandelt, alle unter dem gleichen Feldnamen. Die Reihen- folge wird dabei bestimmt von der horizontalen Ausrichtung in den aufeinanderfolgenden Zeilen der ADIMENS-Maskenbox (es erfolgt ein Hinweis auf die Eigenschaft 'Mehrfachfeld'). Dies hat den Nachteil, daž fr das Sortieren eines vollst„ndigen Mehrfachfeldes nacheinander alle Felder in geschlossener Folge ausgew„hlt werden mžten (drfte aber eher selten vorkommen); es hat jedoch den Vorteil, daž ein Mehrfachfeld nach einem oder mehreren wichtigen bzw. charakteristischen Bestandteilen sortiert werden kann. - Die Sortierrichtung gilt jeweils fr alle Felder! - Anklicken des Feldnamens aktiviert das Feld zum Sortieren, erneutes Anklicken deaktiviert es. šber 'Nochmal' werden alle Felder deaktiviert. - Die Reihenfolge der Auswahl bestimmt den Rang des Feldes; das rang- h”chste Feld also zuerst ausw„hlen. Beispiel fr aufsteigendes Sortieren: Die Export-Datei enthalte die Merkmalsfelder 'Autor' 'Titel' 'Verlag' 'Jahr' mit den Inhalten ('Autor' ist Schlsselfeld) Byte, A. Das Bit 1 Buchverlag 1989 Byte, A. Das Bit 2 Buchverlag 1989 Byte, A. Das Bit 1 Taschenbuchverlag 1989 Byte, A. Das neue Bit Buchverlag 1990 Long, B. GEM 5.7 Buchverlag 1989 Long, B. GEM 5.7 Taschenbuchverlag 1989 Long, B. Ultra-GEM Taschenbuchverlag 1990 Nach der Auswahl in der Dialogbox sei die R a n g folge 'Jahr' 'Verlag' 'Autor' 'Titel' (Rang 1) (Rang 2) (Rang 3) (Rang 4) Das anschliežende Sortieren ergibt dann Byte, A. Das Bit 1 Buchverlag 1989 Byte, A. Das Bit 2 Buchverlag 1989 Long, B. GEM 5.7 Buchverlag 1989 Byte, A. Das Bit 1 Taschenbuchverlag 1989 Long, B. GEM 5.7 Taschenbuchverlag 1989 Byte, A. Das neue Bit Buchverlag 1990 Long, B. Ultra-GEM Taschenbuchverlag 1990 Das Sortieren kann beliebig oft wiederholt werden; nach jedem Sortieren erscheint die Datei in der neuen Sortierung im Fenster, die Felder behalten aber immer ihre ursprngliche Reihenfolge in der Zeile bzw. Datensatz. b) Wenn der Eintrag' Felder auffllen' aktiviert ist, werden die Felder (nur fr die Bildschirmausgabe !!) aufgefllt mit Platzhaltern (ASCII 250), ansonsten mit Leerzeichen. 3.) Parameter-Men: a) Wenn der Eintrag 'Platz auf LW abfragen' aktiviert ist, erfolgt vor dem Abspeichern eine šberprfung, ob der Speicherplatz auf dem Medium fr die Export-Datei bzw. Datei plus Duplikat ausreicht. Besitzer von Festplatten und Žhnlichem sollten den Eintrag vielleicht besser ausschalten... b) Unter dem Eintrag ' Einstellungen speichern' wird die Datei ADISORT.INF abgespeichert, die festh„lt, wie die Felder aufgefllt werden und ob der Speicherplatz abgefragt werden soll. Dabei wird der Pfad benutzt, der die geladene *.DAT-Datei enth„lt. Ist ADISORT.INF bei Programmstart im gleichen Verzeichnis wie ADISORT.PRG, werden diese Parameter als Voreinstellungen verwendet. 4.) Fenster-Men: Ist dafr gedacht, das Fenster auch dann durchbl„ttern zu k”nnen, wenn ein Accessory aktiv ist, allerdings nicht zeilen- oder spaltenweise. Die meisten Meneintr„ge k”nnen auch ber die Tastatur aufgerufen werden. Das Krzel ^S entspricht dabei z.B. der Kombination der Tasten [ Control ] + [ S ]). ^D : Datenbank-Definition laden ^E : Export-Datei laden ^S : Export-Datei speichern ^Q : Programm beenden ^F : Fllzeichen aktivieren/deaktivieren ^O : Export-Datei sortieren Ebenso kann das Durchbl„ttern mit der Tastatur erfolgen: ^[Cursor up] : Dateianfang ^[Cursor down] : Dateiende ^[Cursor left] : Satzanfang ^[Cursor right]: Satzende [Cursor up] : Seite rauf [Cursor down] : Seite runter [Cursor left] : Seite links [Cursor right]: Seite rechts Die Tastatursteuerung fr Mens und Fenster funktioniert (GEM-bedingt) nicht, wenn das Fenster eines Accessorys aktiviert ist! Auch die Dialogboxen k”nnen ber die Tastatur bedient werden, wobei die Belegung in der entspr. Box angezeigt ist: [Cursor up] : Anzeige rckw„rts [Cursor down] : Anzeige vorw„rts [Insert] : Merkmalsfeld aktivieren/deaktivieren + : aufw„rts sortieren - : abw„rts sortieren [Clr/Home] : alle Merkmalsfelder deaktivieren [Return oder Enter]: OK [Undo] : Abbruch Diese Tastatursteuerung funktioniert auch bei aktivem Accessory ! III.) Sonstiges Falls die sortierte Export-Datei wieder importiert werden soll, muž das als erstes sortierte (d.h. rangh”chste) Merkmalsfeld selbstverst„ndlich ein Schlsselfeld sein !! Da alles, was auf dem Bildschirm passiert, ber VDI und AES l„uft, sollte das Programm eigentlich(!) auf jedem Bildschirm laufen (mit mindestens 80 Zeichen). Zum Testen hatte ich jedoch aužer dem SM 124 nur den Farb- Simulator aus 'ct' zur Verfgung. Fr Erfahrungsberichte von Benutzern, die einen Grož- oder Matrix-Bildschirm etc. verwenden, w„re ich daher sehr dankbar. Das gilt natrlich auch fr evtl. auftretende Fehler jeder Art. Kritik sowie Anregungen fr knftige Erweiterungen sind willkommen. Geplant und z.T. in Entwicklung sind folgende Funktionen: - Die Anpassung des Programms an die erweiterten M”glichkeiten von ADIMENS 3 Plus, vor allem die M”glichkeit, jedes einzelne Merkmalsfeld aufw„rts oder abw„rts zu sortieren. - Mehrfachfelder auch als gesamtes Feld sortieren - Sortiereinstellung, die immer wieder gebraucht wird, laden und speichern - automatisches Erkennen, ob das rangh”chste Feld ein Schlsselfeld ist - eine einfache Listenausgabe auf Drucker Marburg, im Mai 1990 Gerhard Sch”ning Moischter Str. 52 3550 Marburg