29.12.1993 Žnderungen, Neuerungen und Bugfixes in SaugUtil/SutiConv seit Version 3.6 *=======================================================================* (Falls jemand eine History ben”tigt, die weiter zurckgeht -> HISTORY.TXT) ********************************************************************* * Dieser Text gilt fr die S-Version UND die Vollversion! * * In der S-Version gibt es kleine Einschr„nkungen (->SAUGUTIL.TXT)! * ********************************************************************* Aktuelle Versionsnummer: 4.0 *==========================* SaugUtil ******** *-------------------------------- v3.61ž -----------------------------------* 30.11.93 - Bei Overlay-Start von SutiConv funktionierte der Rckstart des Saug-Utilities nicht. Es wurde immer zum Desktop verzweigt. Behoben! - Flags konvertieren: Hier gibt es einen neuen Schalter "Ordner durchsuchen". Ist dieser selektiert, werden bei 'Gesaugte finden' auch alle tiefer gelegenen Ordner rekursiv durchsucht! Dabei werden allerdings nur die ersten 200 Ordner bercksichtigt! Eingelesen werden maximal 1000 Dateien! Sollte eine dieser beiden Grenzen erreicht werden, erscheint eine Warnung. Dann ist es ratsam, die Suche entweder nicht rekursiv oder aus einer tieferen Ordnerebene oder mit einer geeigneten Suchmaske zu starten, um alle in Frage kommenden Dateien zu finden! - Die Einstellungen im Dialog 'Flags konvertieren' werden jetzt auch in der SGI-Datei gesichert, wenn man die Optionen speichert! Um nur die Einstellungen zu „ndern, kann man den Dialog auch mit 'Abbruch' verlassen, da hierbei ausnahmsweise mal nicht die Einstellungen beim Betreten des Dialoges restauriert werden! 01.12.93 - Die Listen-Ladegeschwindigkeit wurde um ca. 25% erh”ht! Zum Laden von Bin„rlisten (z.B. die Gruppe PROGRAMME als GRUPPExx.DAT aus dem CAT-Database-Ordner oder von anderen Frontends) wird jetzt dieselbe Laderoutine, wie bei den ASCII-Listen verwendet, wodurch die erh”hte Geschwindigkeit auch hier ann„hernd erreicht wird! Wenn das letzte Byte einer Datei kein Linefeed ist, gehe ich davon aus, daž es sich um eine Bin„rliste handelt. Nur dann tritt die spezielle šberprfung der Msg-ID in Kraft, damit die Ladegeschwindigkeit bei normalen ASCII-Listen nicht wieder zurckgeht! Fr Interessierte: Ich habe den GFA-Basic-Befehl LINE INPUT # durch eine Konstruktion mit RECALL ersetzt, die immer 150 Zeilen auf einmal einliest. Tests mit h”herer Dimensionierung (1000) brachten keine Geschwindigkeitssteigerung. Im Interpreter macht sich zwar keine Beschleunigung bemerkbar, dafr aber im Compilat! 05.12.93 - Noch ein kleiner Nachtrag zur Tastaturbedienung von Dialogen und Alertboxen: Wenn Let'em'Fly installiert ist kann man den Default- Button (der dicker umrandete, der mit der Return-Taste ausgel”st wird) mit der Tastenkombination Alternate-Tab verschieben! - Nachtrag zur Funktion "Shell-Aufruf ^Z": Man sollte es vermeiden, irgendwelche laufenden Kommandos mit ^C abzubrechen, da hierdurch das ganze System abstrzen kann. Das scheint aber eine allgemeine Unart des Shell-Aufrufes ber _shell_p zu sein, da es auch bei anderen Programmen, die einen Shell-Aufruf anbieten, passiert! Im gnstigsten Fall wird nur SAUGUTIL.PRG aus dem Speicher geworfen, ich garantiere aber fr gar nichts! 07.12.93 - Funktion 'QTausch starten': Wenn QTausch NICHT als Overlay gestartet wird, kann man jetzt unter Single- und MultiTOS beliebig viele QTP-Dateien hintereinander ausw„hlen, die dann ber das ARGV-Verfahren an QTausch bergeben werden! Um die QTP-Auswahl per Dateiauswahlbox zu beenden, l”scht man das Dateinamenfeld und w„hlt 'OK'! Auch beim Direktstart (kein Overlaystart) von SutiConv wird jetzt das ARGV-Verfahren benutzt! Beim Overlaystart per Suti_Run ist das leider prinzipbedingt nicht m”glich (man kann per Shel_Write() unter SingleTOS kein Environment bergeben). Dasselbe gilt fr Mag!X und MultiGEM2, wo leider noch kein Parallelstart mit ARGV m”glich ist! 08.12.93 - Bei 'Optionen laden' wurde das Fund- und das šbersichtsfenster z.T. zu grož skaliert -> behoben. - Flags konvertieren: Neue Konvertierung "Gefundene Files auf 'Gesaugt' setzen" setzt bei allen Files im Fundfenster das 'Gesaugt'-Flag und l”scht die beiden anderen Flags! - Programm starten: Hier gibt es jetzt einen neuen Schalter "ARGV benutzen", der aber zur Zeit nur beim Direktstart unter SingleTOS und unter MTOS anw„hlbar ist! Unter MTOS wird bei TOS-Programmen (*.TOS, *.TTP) automatisch ARGV benutzt! Unter Mag!X und MGEM2 wird kein ARGV benutzt, da das nach meinem Wissensstand mit Shel_Write() bzw. Mfork() nicht m”glich ist! 09.12.93 - Noch ein Nachtrag zum Einstellen der Splitgrenze fr PROGRAMME- Update-Messages, der in der Anleitung bisher nicht so deutlich wurde: Obwohl bei der Bestimmung des Splitzeitpunkts schon ein Sicherheitspolster von 500 Bytes bzw. 6 Zeilen benutzt wird, kann es doch hin und wieder zu šberschreitungen kommen. Die Gr”že des freien Footers und der Loginzeitendatei werden n„mlich nicht bercksichtigt und bersteigen evtl. den Sicherheitswert (bei der Loginzeitendatei ist das sogar sicher, da diese meist gr”žer als 1 KB ist)! Deshalb empfehle ich, falls man Footer und/oder Loginzeiten ausgeben l„žt, die Splitgrenze von vornherein etwas niedriger anzusetzen (1-2 KB bzw. 10-20 Zeilen weniger)! - Die Flugecken (oben rechts) der Dialogboxen sehen jetzt auch unter Mag!X so aus, wie sie sollen. Bisher fehlten immer ein paar Linien. Abhilfe schaffte eine Ver„nderung des Box-Randes von 'Aužen 1' auf 'Innen 1' (das nur fr die Egsb„rten)! 11.12.93 - Das Saug-Utility versteht jetzt auch das DragDrop-Protokoll von MultiTOS (evtl. auch in kommenden Mag!X-Versionen)! Der einzige Datentyp, der akzeptiert wird, ist "ARGS" (Kommandozeile)! Praktisch heižt das: Man kann unter MultiTOS aus dem Desktop eine Listendatei (Icon oder Text) auf eines der drei SaugUtil-Fenster ziehen und diese wird dann geladen! 12.12.93 - Das Einzelfilefenster kann jetzt "ikonifiziert" werden, wobei ich das Wort extra in G„nsefžchen schreibe, da es sich nicht um ein echtes Icon handelt! Das Fenster wird einfach auf eine Minimal- gr”že verkleinert, so daž nur noch der Fensterbalken sichtbar ist. Die Breite des Fensters wird dabei soweit reduziert, daž der Text " Saug-Utility vX.YY " gerade noch vollst„ndig sichtbar ist. Sobald das Fenster "ionifiziert" ist, kann man es natrlich nicht mehr mit der Maus bedienen, es reagiert dann aber auch nicht mehr auf Tastendrcke. Zum "Ikonifizieren" wurde der Menpunkt 'Aktuelles Fenster schliežen ^U' erweitert und heižt jetzt 'Fenster schliežen/ "Iconify" ^U'. Dabei gilt der Teil 'Fenster schliežen' weiterhin fr das šbersichts- und das Fundfenster, der Teil "Iconify" tritt nur in Kraft, wenn das Einzelfile-Fenster oben liegt! Um das "ikonifizierte" Fenster wieder zu ”ffnen, w„hlt man diesen Men- punkt einfach nochmal an. Das Fenster wird dann immer zentriert! Beim erneuten "Ikonifizieren" landet das verkleinerte Fenster wieder an der Stelle, wo es zuletzt lag (als es klein war)! Dieselben Funktionen kann man auch mit der Maus ausl”sen, indem man den Fensterfuller (oben rechts) anklickt, der bisher die Funktion 'Alle Klemmungen l”schen' hatte. Diese Funktion kann jetzt nur noch per Tastatur mit 'Undo' ausgel”st werden! Natrlich funktioniert DragDrop auch bei "ikonifiziertem" Fenster! In einigen Programmsituationen wird das "ikonifizierte" Fenster automatisch wieder ge”ffnet! Unter anderem: - beim Anklicken eines Files im šbersichts- oder Fundfenster - beim Anklicken eines Files in der 'Numerischen Statistik' - beim Anklicken eines Files im Dialog 'Aktuelle Liste' - bei allen Suchaktionen, wenn mindestens ein File gefunden wird - Zentrierung des Fensters mit ^Space Der aktuelle "Iconify"-Status (klein oder grož) wird auch beim Abspeichern der Optionen mit in der SGI-Datei gesichert, so daž das Fenster dann beim erneuten Programmstart und Laden einer Liste evtl. erst gar nicht in seiner vollen Gr”že erscheint! Die letzte Fensterposition wird dann ebenfalls restauriert (dasselbe auch bei 'Optionen laden')! - Script/Batch: Am Ende wird jetzt nur noch 5 Sekunden auf "NO CARRIER" gewartet. 16.12.93 - Gruppenauswahl: Maximale Anzahl der Gruppen, die aus der IGK.TXT gelesen werden auf 511 erh”ht (Maus terbo)! - Bei einem Klick auf den Fenster-Closer der Einzelfile-Anzeige kommt jetzt, ungeachtet der Einstellung im Programmparameter- Dialog, immer eine Sicherheitsabfrage, ob das Programm wirklich beendet werden soll, da die Assoziation zur Aktion 'Fenster schliežen' zu grož ist und man dann versehentlich das Programm beendet, was mir selbst schon einige Male passiert ist! 19.12.93 - TRF-Uploads: Beim Ausw„hlen mehrerer Dateien hintereinander wird jetzt immer die zuletzt ausgew„hlte Datei im Fileselector voreingestellt, damit man nicht durcheinander kommt! - Gruppenauswahl-Listbox: Hier wird jetzt nicht mehr die IGK (Kurze lokale Gruppenliste) sondern die ITG (maschinenlesbare Gruppen- liste) zur Auswahl eingelesen! Die ITG kann man mit jedem Frontend als Infofile anfordern. Grnde fr die Žnderung: 1. ist das Format der IKG nicht fr lange Gruppennamen (die bestimmt irgendwann kommen) geeignet und 2. l„žt sich die ITG einfacher einlesen! Die Gruppenattribute (Eingeschaltet, Chef usw.) werden jetzt nicht mehr dargestellt, da es fr die Funktion im Saug-Utility auch nicht n”tig ist! Žndern Sie bitte den Parameter in der Systempfade-Konfiguration und Speichern Sie die Optionen danach ab! - Programm starten: Bei Auswahl der Kommandozeile per Dateiauswahl- box merkt sich das Saug-Utility jetzt den jeweils zuletzt eingestellten Pfad und Dateinamen! - Programmparameter 'Maximale Anzahl Files/Liste': Tr„gt man hier eine "0" ein, wird die Dimensionierung immer automatisch an die aktuelle Speicherkonfiguration angepažt und der beim Programmstart errechnete Optiomalwert benutzt! Fr Listen im kurzen Format liegt der Optimalwert natrlich wesentlich h”her, da mehr Files in den gleichen Speicherraum passen! Will man also eine Liste im kurzen Format mit besonders vielen Files laden, muž man den Wert von Hand hochsetzen! 22.12.93 - Fehler behoben: Beim Backup von Flag- oder Bem-Datei konnte z.T. der Fehler -34 (Pfad nicht gefunden) bei Frename() auftreten, da der Dateiname nicht nullterminiert wurde, wenn noch keine Backup- datei existierte. - PROGRAMME-Update-Message(s): Bei Ausgabe fr CAT wird jetzt die gew„hlte Footerdatei wirklich nur in die letzte Mail geschrieben, wenn man nicht "immer" gew„hlt hat! Bei separierten Loginzeiten wurde der Footer bisher in die letzte und die vorletzte Mail geschrieben. 23.12.93 - Script/Batch: Reaktion auf gesperrten Programmteil bei Gastdown- load mit Saugen der Liste verbessert! Dieses wird jetzt erkannt und es erfolgt ein Logout! 27.12.93 - Kontextsensitive Onlinehilfe eingebaut! Diese war zwar auch schon in der letzten Version vorhanden aber noch nicht freigeschaltet und nicht dokumentiert! Eine Hilfe ber die Hilfe und ein paar andere Punkte, erh„lt man unter dem Menpunkt "Hilfe/Allgemeine Hilfe"! Im selben Ordner wie SAUGUTIL.PRG muž sich auch die Hilfedatei SAUGUTIL.HLP befinden! Beim ersten Aufruf der Hilfe und nach jeder Žnderung der L„nge der HLP-Datei wird eine Indexdatei SAUGUTIL.IDX automatisch vom Programm erzeugt! Diese Indexdatei erleichtert das schnell Auffinden der Hilfstexte in der HLP-Datei! Hilfe erh„lt man in jeder Programmsituation (aužer in den Alert- boxen), indem man die Help-Taste drckt! Ist kein Dialog ge”ffnet erh„lt man eine Hilfe zu dem Fenster, das sich gerade unter dem Mauszeiger befindet. Liegt kein SaugUtil-Fenster unter dem Mauszeiger, wird die 'Allgemeine Hilfe' angezeigt, die man auch ber den o.g. Menpunkt erh„lt! *--------------------------------- v4.0 ------------------------------------* 28.12.93 - Neue Versionsnummer vergeben. Bekannte Probleme: ------------------ - Ein User meldete Abstrze unter MultiTOS, wenn gleichzeitig Before Dawn 1.22 aktiv war. šber Probleme mit Versionen >1.22 habe ich noch keine Meldungen. - Abstrze unter MultiTOS, wenn erst RUFUS 1.35 und dann SAUGUTIL parallel gestartet wird. Sehr merkwrdig, da dieser Fehler nur in der Kombination RUFUS 1.35 mit einem GFA-Basic-Programm (z.B. auch beim SED) auftritt! - Und nochmal MultiTOS: Wenn MultiTOS aktiv ist, wird die rechte Maustaste _nicht_ abgefragt, da sonst kein fortlaufendes Scrolling mit gedrckter linker Maustaste in den šbersichtsfenstern m”glich ist. Ich weiž nicht, woran es liegt. In „lteren SaugUtil-Versionen (< 3.0) funktionierte es komischerweise noch! Ich habe beide Quelltexte miteinander verglichen, konnte den entscheidenden Unterschied aber leider nicht ausfindig machen:-( Bei dem angesprochenen MultiTOS handelt es sich brigens um die Version 1.01! Evtl. treten diese Probleme mit neueren MultiTOS-Versionen nicht mehr auf... SutiConv ******** *-------------------------------- v3.61ž -----------------------------------* 01.12.93 - Schnellere Laderoutine eingebaut (s.o.)! - Wenn der FILEDATA-Ordner fehlte, erfolgte ein WIND_DELETE(), obwohl vorher gar kein WIND_CREATE() ausgefhrt wurde -> behoben (dank WINX 2.2, das solche Fehler gnadenlos meldet;-)! - Beim Laden der Liste(n) und beim Konvertieren wird jetzt in 10er- Schritten hochgez„hlt. Durch die so verringerten Bildschirmausga- ben ergibt sich nochmal eine enorme Geschwindigkeitssteigerung! Beispiel: Die Konvertierung (inkl. Laden) der Osnabrcker Liste (ca. 1700 Files) dauerte bei mir vorher 4:48 min. Nach Einbau der schnelleren Ladefunktion und Einschr„nkung der Bildschirmausgaben wurden nur noch 3:33 min ben”tigt! 03.12.93 - Drei neue Parameter fr den Start mit Kommandozeile: -? -> Parameter-Hilfe zeigen. +-k -> Nach Konvertierung AlteListe l”schen(+) / nicht l”schen(-). +-s -> Nach Konvertierung NeueListe als Default-Liste in SAUGUTIL.SGI eintragen(+) / nicht eintragen(-). Ist k bzw. s nicht angegeben, wird nachgefragt! - Wenn der Parameter '-h' gesetzt ist, erscheint jetzt am Ende keine Alertbox mehr. Es erscheint jetzt der Text 'Bitte Taste drcken' im Fenster und man kann das Programm durch Tastendruck oder Mausklick (links oder rechts) beenden. - Wenn das Fenster nicht ge”ffnet war, wurden einige Fehlermeldungen ("Alte (Neue) Liste existiert nicht!" u.a.) in die Menleiste geschrieben. Das passiert jetzt nicht mehr. Stattdessen erscheint eine Alertbox mit der Fehlermeldung. - Sollte in der Kommandozeile keine Liste angegeben sein, wird SutiConv interaktiv gestartet (wie vom Desktop). Die Parameter -e, -d und -i num werden dann evtl. ausgewertet und voreinge- stellt. 22.12.93 - Die Konvertierungsgeschwindigkeit wurde erheblich erh”ht! Allerdings nur, wenn die beiden zu vergleichenden Listen keine allzu grožen Unterschiede aufweisen, was aber bei normalen Listen- updates nicht der Fall ist. Wenn man aber z.B. zwei Listen aus verschiedenen M„usen vergleichen l„žt, ergibt sich kein Geschwin- digkeitsvorteil gegenber der letzten SutiConv-Version. Fr Interessierte: Erreicht wurde die Steigerung durch eine Optimierung der inneren Suchschleife (neue Liste), die jetzt nicht immer wieder von vorne, sondern erst ab dem zuletzt bereinstim- menden File durchlaufen wird. Nur wenn dann bis zum letzten File keine šbereinstimmung gefunden wird, wird noch einmal von Anfang an gesucht. Da sich bei Listenupdates selten gr”že Fileverschie- bungen ergeben und die Reihenfolge der Files in der alten und neuen Liste meižt gleichbleibt, wird das Verfahren natrlich rasend schnell, weil die innere Schleife oft nur einmal pro File durchlaufen werden muž! *--------------------------------- v4.0 ------------------------------------* 28.12.93 - Neue Versionsnummer vergeben. -eof-