LiamTools V1.0 ________________________________________________________________________________ Dieses Programm soll Liam bzw. Adam um einige Funktionen ergänzen die zur Zeit im eigentlichen Programm noch nicht implementiert sind. Außerdem eignet es sich ganz gut dazu einige Grundlagen der Programmierung in AREXX zu zeigen. ACHTUNG: Dieses Programm ist copyrechtlich geschützt und darf nur mit Genehmigung von Mangosoft weitergegeben werden. ZUR GESCHICHTE LiamTools stellt eine Erweiterung von LIAM dar und entstand aus dem Bedürfnis zwei ähnliche Dateien wieder gegeneinander zu aktualisieren. Ähnlich in dem Sinne, daß z.B. beide Dateien aus einer gemeinsamen Datei entstanden, aber dann auf verschiedenen Systemen oder von verscheidenen Benutzern weiter gepflegt wurden. Leider besitzt LIAM diese Funktion noch nicht. Da der Aufwand diese Funktion in LIAM nachträglich einzubauen doch sehr groß ist (Dann lieber gleich ein LIAM Plus) wurde die erste Version über die Programmierung des CygnusED mit Hilfe von AREXX realisiert. Das ging ganz gut, hatte aber zwei Nachteile: Nicht jeder besitzt den CygnusEd und die Verarbeitung ist doch recht langsam, da sie mit Bildschirmausgaben verbunden ist. Da inzwischen AREXX zum Lieferumfang von WB2.0 gehört und sich in der nächsten Zeit ziemlich verbreiten dürfte, wurde das Programm ganz auf AREXX-Betrieb umgestellt. VORAUSETZUNGEN Um mit LIAMTools V1.0 arbeiten zu können, benötigen Sie folgende Dateien: im C: oder Rexxc-Verzeichnis (WB2.0) die AREXX-Programme RexxMast RX und im LIBS:-Verzeichnis die Librairies Arp.library req.library, rexxsupport.library rexxarplib.library Die benötigten Librairies finden Sie im Libs-Verzeichnis dieser Diskette. Kopieren Sie sie auf Ihre Systemdiskette bzw. Festplatte, indem Sie das Icon "Copy_Libs" doppelt anklicken. Arexx selbst ist nicht PublicDomain, gehört aber zur Workbench 2.0. Damit das Programm arbeiten kann, muß AREXX im System laufen. (Aufruf einfach mit 'rexxmast' ). LiamTools wird im CLI mit dem Kommando RX Pfad:Liamtools oder auf der Workbench per Doppelklick gestartet KURZE BESCHREIBUNG DES PROGRAMMS 'LiamTools' öffnet einen eigenen Screen und kann über Menüs bzw mit Hilfe von Short>Cuts gesteuert werden. Die Vergleichsfunktion arbeitet zur Zeit noch recht einfach. Die Datensätze der Datei 1 werden mit Datei 2 vergleichen, alle Datensätze aus der ersten Datei, die nicht in der zweiten enthalten sind, werden registriert und können in einem weiterén Schritt auf ein beliebiges Gerät abgespeichert werden. Für die Auswahl der Dateien wird der von LIAM her schon vertraute Filerequester der ARP-library benutzt. Beispiel: Wenn eine kleine Datei mit einer großen verglichen werden soll und dabei die Datensätze aus der kleinen, die noch nicht in der großen existieren, herausgesucht werden sollen, muß die kleine Datei als erste und die große als zweite Datei geladen werden. Die resultierende Datei kann falls gewünscht mit einem Editor weiter bearbeitet und dann wieder in LIAM bzw. ADAM reimportiert werden. Um die reimportierte Datei wieder mit einer bestehenden LIAM-Datei zu verknüpfen, steht die bekannte Append-Funktion aus LIAM zur Verfügung. Alternativ dazu kann auch das kleine Programm LJ (für LIAMJoin) benutzt werden. LJ kann vom CLI oder auch von LIAMTools aus aufgerufen werden und befindet sich im C-Verzeichnis dieser Diskette. PROJEKT-Menü: ABOUT gibt eine kurze Information zu dem Programm aus QUIT Beenden des Programms und Rückkehr auf die Workbench EDIT - Menü: LIAM-Exportdatei1 (AMIGA 1) Mit diesem menüpunkt wird die erste Datei ausgewählt, aber noch nicht geladen. Die Auswahl erfolgt mit Hilfe des Arp-Filerequesters. Es muß sich zur Zeit dabei um eine Liam bzw. ADAM.Exportdatei handeln. Alle Datensätze dieser ersten Datei, die nicht in der zweiten Datei enthalten sind, werden später in die resultierende Datei geschrieben. LIAM-Exportdatei2 (AMIGA 2) Es gilt das gleiche wie für den vorhergehenden Menüpunkt. Als zweite Datei sollte immer die Datei geladen werden, die später erweitert werden soll. Vergleich starten (AMIGA V) Es erscheint ein Requester, der nochmal die ausgesuchten Dateien anzeigt. Mit dem Anklicken von WEITER wird der Vergleichsvorgang gestartet. Das Programm informiert am Bildschirm mit einer Prozentanzeige darüber, wie weit die Operation fortgeschritten ist. Ergebnis speichern (AMIGA W) Über den bekannten Filerequester können die Datensätze, die in der zweiten Datei nicht vorkommen, in eine beliebige Datei gesichert werden. Diese Datei besitzt das Export-Format von Liam und kann daher mit Liam reimportiert werden. Denkbar wäre auch die resultierende Datei mit einem Editor direkt an die zweite Datei anzuhängen und dann erst zu reimportieren. LiamJoin (AMIGA L) Dieser Menüpunkt ruft ein externes Programm auf, das übrigens auch direkt vom CLI gestartet werden kann. LJ für LiamJoin öffnet einen Filerequester (Req-library muß sich dazu in LIBS: befinden), in dem per Mehrfachauswahl (Mausklick mit niedergehaltender SHIFT-Taste) beliebige LIAM- oder ADAM-Dateien (hier keine Export-Dateien!!) markiert werden können. Nach Anklicken von OK werden die markierten Dateien geladen und der der Filerequester öffnet sich ein zweites Mal. Sie können jetzt einen Dateinamen angeben, unter dem die ausgesuchten Dateien als eine einzige LIAM-Datei gesichert werden. OPTIONEN-Menü TASK-Priorität Um beim Vergleichen großer Dateien das System nicht allzusehr zu verlangsamen, kann die Tastpriorität herabgesetzt werden. Normalerweise hat der residente Prozess eine Priorität von 4. Die möglichen Werte dürfen zwischen -30 und 4 liegen. AUSBLICK In der nächsten Version soll das Programm LIAM-Dateien direkt einlesen können und einen optimierten Vergleichsalgorithmus benutzen, der auf die Sortierung Rücksicht nimmt und auch in der Lage ist die Dateien wieder gegeneinander zu synchroniseren, was zu einer erheblichen Geschwindigkeitssteigerung führen dürfte. Viel Spaß mit LiamTools wünscht MangoSoft.