26.08.1994 Žnderungen, Neuerungen und Bugfixes in SaugUtil seit Version 4.7 *==============================================================* Diese Datei sollte man grndlich lesen, da auch immer wieder ntzliche Erkl„rungen und Tips zu den Ver„nderungen beschrieben sind, die in der Anleitung SAUGUTIL.TXT z.T. nicht stehen (z.B. bei Bugfixes)! ************ Wichtig! Bitte auch SGI_CONV.TXT lesen! Wichtig! ************** Aktuelle Versionsnummer: 4.8 *==========================* **** Zu dieser Version gibt es auch einen neuen Hypertext: SAUG48HY.TOS **** SaugUtil ******** *------------------------- v4.8ž vom 05.08.94 -----------------------------* 16.06.94 - DEL-Ausgabe mit Anzahl der Files. - In der aktuellen Liste nicht vorhandene Filedaten werden in den Listboxen bei der Filedatensuche nicht mehr disabled, damit man auch diese ausw„hlen kann (z.B. bei Multi-Listen-Suche). Ob entsprechende Files in der aktuellen Liste vorhanden sind, sieht man ja immer noch an der Zahl auf der rechten Seite ("0" = Nicht vorhanden)! 18.06.94 - Per DragDrop kann jetzt auch eine SGI-Datei bergeben werden. - SaugUtil versteht jetzt die VA_START-Meldung! Man kann jetzt also per VA_START eine Liste oder eine SGI-Datei bergeben oder sich einen Listen-Hypertext fr den ST-Guide schreiben und die Listen (incl. Pfad) per rx-Kommando von SaugUtil laden lassen! Beipiel fr so einen Listen-Hypertext (die Zeilen mssen normalerweise in Spalte 1 beginnen!): 8<----------- Beispiel-Anfang ----------->8 ## Datei: filelist.stg @database "SaugUtil-Filelisten" @subject "Maus/Filelisten" @author "Frank Rger" ## Wichtig: @hostname SAUGUTIL ## zur Sicherheit (?): @hostname saugutil @$VER: filelist.hyp (18/06/94) @node Main "Filelisten aufrufen" Wenn SaugUtil gerade aktiv ist, k”nnen folgende Filelisten durch Anwahl der Referenz geladen werden: @{"Maus B" rx g:\dfue\listen\b-00.fst} @{"Maus BB" rx g:\dfue\listen\bb-00.fst} @{"Maus BL" rx g:\dfue\listen\bl-00.fst} @{"Maus BM" rx g:\dfue\listen\bm-00.fst} @{"Maus CLP" rx g:\dfue\listen\clp-00.fst} ... usw. ... @{"Maus WI" rx g:\dfue\listen\wi-00.fst} @{"Maus WI2" rx g:\dfue\listen\wi2-00.fst} @{"Maus WOB" rx g:\dfue\listen\wob-00.fst} @{"Maus WUN" rx g:\dfue\listen\wun-00.fst} @{"Maus Wš" rx g:\dfue\listen\wš-00.fst} Folgende SGI-Dateien k”nnen nachgeladen werden: @{Normal rx d:\saugutil\saugutil.sgi} @{CoNnect rx d:\saugutil\saugutil.sgi} @{RUFUS rx d:\saugutil\rufus.sgi} @{MausTausch rx d:\saugutil\mautau.sgi} @{Bigscreen-Test rx d:\saugutil\bigscren.sgi} @endnode 8<----------- Beispiel-Ende ----------->8 Eine šbersicht ber die vorhandenen Listen kann man sich z.B. von der Mupfel erzeugen lassen: "ls g:\dfue\listen\*.?st > listen.txt" und dann den Hypertext (Header, rx-Befehle) drumherum schreiben! Wenn man mit Gemini arbeitet, kann man fr SaugUtil jetzt unter 'Anwendung anmelden' den Parameter 'Versteht VA_START' ankreuzen! Wenn man jetzt unter MagiC oder MultiTOS bei schon laufendem Saug-Utility eine Liste oder eine SGI-Datei auf das Programmicon zieht, wird es nicht nochmal gestartet, sondern nur der Dateiname per VA_START bergeben. Die Liste/SGI-Datei wird dann vom SaugUtil sofort geladen! - Einige neue AV/VA-Nachrichten wurden eingebaut. Folgende Nachrichtennummern des AV-Protokolls werden jetzt untersttzt (Komplette Auflistung! Die neu hinzugekommenen sind mit (*) gekennzeichnet): AV_PROTOKOLL: Wird mit VA_PROTOSTATUS beantwortet. (*) VA_PROTOSTATUS: Sagt dem ACC, das AV_PROTOKOLL gesendet hat, welche Nachrichten verstanden werden. (*) AV_SENDKEY: Vom ACC weitergereichte Shortcuts werden ausgewertet. VA_START: Zur Kommunikation mit dem ST-Guide und anderen Applikationen (z.B. Gemini). Zum Teil: (*) AV_OPENWIND: Diese Nachricht wird z.B. von TreeView verschickt, wenn man im TreeView-Fenster ein Verzeichnis doppelklickt, oder von TakeOff, wenn man im TakeOff-Popup ein Verzeichnis eingetragen hat und dieses anw„hlt. SaugUtil ”ffnet dann die Dateiauswahlbox zum Laden einer Liste in diesem Verzeichnis. (*) AV_STARTPROG: Diese Nachricht wird z.B. von TakeOff verschickt, wenn man im TakeOff-Popup ein Programm anw„hlt. SaugUtil startet dieses Programm dann unverzglich mit der bergebenen Kommandozeile, sofern folgende Voraussetzungen erfllt sind: - Das Programm muž existieren. - Overlaystart darf nicht aktiviert sein. ARGV wird bei AV_STARTPROG nicht benutzt! (*) AV_ACCWINDOPEN, AV_ACCWINDCLOSED: Hiermit teilt ein ACC dem SaugUtil mit, ob und welches Fenster es ge”ffnet/geschlossen hat. SaugUtil bezieht dieses Fenster dann in die Rotation (^W) mit ein. Zusammen mit AV_SENDKEY klappt das sogar meist auch, wenn ein ACC- Fenster oben liegt! Andernfalls kann man auch mit der rechten Maustaste oder per Men rotieren. 19.06.94 - Darstellung des 'Neu'-Flags im Einzelfilefenster etwas ge„ndert. Dieses Flag wird jetzt durch ein kleines K„stchen mit einem "N" angezeigt. Ist das Flag bei einem File gesetzt, erscheint das "N" in schwarz, ist es nicht gesetzt, in hell (disabled). Ob berhaupt eine NEU-Datei vorhanden ist, kann man jetzt nicht mehr erkennen (aužer durch die Tatsache, daž sich das "N" dann nicht mehr selektieren l„žt), aber ich brauchte Platz fr das neue Fundflag (s.u.). Die Bedienung ist gleich geblieben: Ein Einfachklick auf das "N" selektiert bzw. deselektiert es (Klemmen und Entklemmen), auch wenn es disabled ist (dann ist halt der 'Nicht gesetzt'-Status geklemmt). Ein Doppelklick springt zum ersten neuen File. Die Tastaturbedienung ist gleich geblieben: "*" klemmt/entklemmt und Shift-"*" springt zum ersten neuen File ("*" auf dem Ziffernblock!). - Neues Read-Only-Flag im Einzelfilefenster. Dieses Flag habe ich Fundflag (oder 'Gefunden'-Flag) genannt. Es wird bei allen Files angezeigt, die sich derzeit im Fundfenster befinden, egal, ob dieses gerade ge”ffnet oder geschlossen ist! Die Bedienung erfolgt analog zum 'Neu'-Flag (Klick bzw. Doppelklick) mit dem Unterschied, daž hier die Shortcuts "." und Shift-"." ("." auf dem Ziffernblock) benutzt werden. Durch Klemmen dieses neuen Flags ist es jetzt z.B. m”glich im Einzelfilefenster nur die aktuell gefundenen Files anzeigen zu lassen! Hat man nur das Fundflag _alleine_ geklemmt, gelangt man durch Control- Cursortaste bzw. Control+'Klick auf Pfeil' zum n„chsten/ vorhergehenden File mit dem invertierten Fundstatus ('Gefunden' -> 'Nicht gefunden' und umgekehrt). Beim 'Neu'-Flag ging das ja bisher auch schon! Bei geklemmtem Fundflag kann das Weiterbl„ttern schon mal etwas l„nger dauern, da ich intern gar kein Flag-Array dafr benutze (wie das beim 'Neu'-Flag der Fall ist), sondern jedesmal das Array mit den laufenden Nummern der gefundenen Files in einer Schleife durchsuche und mit dem aktuellen File vergleiche, um festzustellen, ob dieses gerade im Fundfenster steht! Wenn nichts im Fundfenster steht, kann nicht geklemmt werden! 20.06.94 - PROGRAMME-Update-Message(s): Da die Mausversion 7.94 inzwischen berall installiert sein sollte, habe ich die L„ngen der Eingabefelder fr Musterbetreffzeilen von 30 auf 45 erh”ht! Aužerdem findet keine L„ngenberprfung der expandierten Betreffzeilen mehr statt, so daž man mit Hilfe der Krzel theoretisch noch viel l„ngere Betreffzeilen erzeugen kann! 21.06.94 - CoNnect-Script: Anwahl eines Gruppenprogrammteils noch etwas verbessert. Der String "Sie sind kein eingetragener Benutzer." wurde nicht erkannt. Ich kriege es einfach nicht hin, 'waitfor' den Waitstring "gibt's nicht" unterzujubeln. Durch den von mir benutzten Term 'gibt'\''s nicht' war waitfor wohl etwas durcheinandergeraten. Deshalb wird jetzt auf "s nicht." gewartet, was sowohl auf "gibt's nicht." als auch auf "gibt es nicht." pažt und zur Zeit in keiner Gruppenbeschreibung vorkommt! 22.06.94 - Anpassung an Winx 2.3hž. Die Berechnung der y-Koordinaten des Einzelfile-Dialoges wurde ge„ndert. Dieser wurde zu hoch gezeichnet, wenn man einen gr”žeren Font (z.B. Systemfont in 20 pt) fr die Fensterrahmen-Elemente eingestellt hat. Jetzt wird nach dem Setzen der Fenster-Koordinaten nochmal ein wind_get(WF_WORKXYWH) durchgefhrt und die Dialog-Koordinaten danach gesetzt! Bisher war ich davon ausgegangen, daž ich mit der Zeichenzellenh”he aus graf_handle() rechnen kann, aber da hat mich Winx 2.3hž gerade eines besseren belehrt:-) 26.06.94 - Bugfix: RUFUS-Batch: AUTOZMODEM war nach Ende des Batches immer ausgeschaltet, da man symbolischen Variablen (ON/OFF) wohl doch keine Variablen zuweisen kann (AUTOZMODEM=ALTAZM), wie ich bisher immer annahm. Jetzt wird das ber eine if-Abfrage mit Label gemacht, so daž AUTOZMODEM nach dem Ende des Batches auch wieder eingeschaltet ist, wenn es vorher eingeschaltet war. (Gemeldet und L”sungsvorschlag von Frank Daufenbach @ W) - Nur als Hinweis: In der Anleitung zur 4.7 stand an einer Stelle noch, daž man per SaugTausch nicht im Pers”nlichen Programmteil saugen kann. Das ist natrlich falsch! Das Saugen aus dem PP per Schnulli ist m”glich und in der Anleitung auch beschrieben. Ich hatte nur vergessen, den einen Satz zu l”schen! 27.06.94 - Bugfix: Wenn man bei ikonifiziertem Einzelfilefenster 'File drucken' oder 'File speichern' gew„hlt hat, erschien der jeweilige Button pl”tzlich selektiert alleine auf dem Desktop. War aber v”llig ungef„hrlich! (Gemeldet von Michael Schmitt @ HG) - Falls ein UFSL-kompatibler Fontselektor im System installiert ist, wird dieser jetzt fr die Auswahl von Zeichens„tzen benutzt! Ich empfehle hier uneingeschr„nkt *FontSel* 1.0 von Holger Weets! 28.06.94 - Durch einen Doppelklick auf den Slider im Einzelfilefenster (der mit der laufenden Nummer drin) kann jetzt die laufende Nummer (nicht die Filenummer) eines File eingegeben werden, das dann angezeigt wird (Shortcut: "0" auf dem numerischen Block)! Ist die Eingabe leer oder kleiner als 1 bzw. gr”žer als die Anzahl der geladenen Files, wird das erste bzw. letzte File angezeigt! - Bugfix: Bei installiertem Let'em'Fly mit eingeschalteten Nicelines fhrten einige Tastendrcke zu Bomben! 29.06.94 - Beim Laden von Listen, werden jetzt Wildcards, die evtl. im Dateinamen (nicht im Pfad, das ist verboten;-) enthalten sind auf die erste passende Datei 'gematcht' (per Fsfirst()) und dann dieser wildcardfreie Dateiname benutzt. Das ist deshalb wichtig, damit beim automatischen Speichern von Daten (Listen, Flagdatei, Bemdatei, ...) keine Dateien mit Wildcards im Namen ge”ffnet bzw. erzeugt werden! Eine Default-Liste mit Wildcards zu benennen (z.B. OS2-*.FST), ist durchaus m”glich und sinnvoll, da sich die Listennummer bei jedem Update „ndert, wenn man nicht (wie ich) feste Namen vergibt (bei mir z.B. OS-ALL.{LST|FST} oder MS2-00.FST)! 02.07.94 - Bugfix: Im Dialog 'Filedatensuche' stellte 'Abbruch' nicht den ursprnglichen Zustand wieder her, wenn zwischendurch eine Listbox zur Filedatenauswahl aufgerufen wurde. - Neue Funktion 'Datei anzeigen...' im Dialog 'Dateifunktionen'. Darunter befindet sich ein Eingabefeld, in das man den Namen (ohne Punkt und Extension) eines Viewers eintragen kann (Default: "ST-GUIDE")! Der Viewer muž sich als ACC oder PRG (unter Multi- tasking) im Speicher befinden und die VA_START-Message verstehen! Der Name kann zusammen mit den anderen Optionen gesichert werden. Vom Hauptmen aus kann diese Funktion ber den Shortcut Shift-V (wie Viewer) aufrufen werden! Man kann diese Funktion sogar dazu 'mižbrauchen', ein ACC vom Cham„leon laden zu lassen! Einfach "CHMELEON" als Viewer eintragen und ein Accessory 'anzeigen' lassen. Aber dazu ist die Funktion eigentlich nicht gedacht;-) - Interna: Zum Aufruf des ST-Guide (mit oder ohne Parameter) wird jetzt nur noch VA_START (nicht mehr AC_HELP) benutzt. 03.07.94 - Script/Batch: Bei Gastdownload wird jetzt im N.U.D.E. die Terminalemulation nicht mehr verstellt, da sie defaultm„žig ausgeschaltet ist, wenn man sich als Gast einloggt! Und schon wieder ein paar Sekndchen gespart ... :-) - Mens etwas verkleinert! Grund: Auf einem Falcon mit SM124 betr„gt die Gr”že des Quarter Screen Buffers doch tats„chlich nur 10000 Bytes! Das war dann doch etwas zu wenig fr einige meiner Mens:-) Jetzt haben alle Mens eine Gr”že <500 Zeichen! Dadurch ergeben sich einige Namens„nderungen bei den Meneintr„gen: Men 'Datei': + "Liste speichern als..." -> "Liste speichern..." + Die Trennlinie vor "Shell aufrufen" entf„llt. Men 'Liste': + "Fenster schliežen/"Iconify"" -> "Fenster schliežen/Iconify" + "Aktuelles File speichern..." -> "File speichern..." + "Aktuelles File -> Clipboard" -> "File -> Clipboard" + "Aktuelles File -> UPL-File..." -> "File -> UPL-File..." + "Aktuelles File drucken" -> "File drucken..." Men 'Suchen': + "Filedaten suchen/Statistik..." -> "Filedaten suchen..." + "Weiter suchen (vorw„rts)" -> "Weiter suchen (->)" + "Weiter suchen (rckw„rts)" -> "Weiter suchen (<-)" + "Fundfenster ”ffnen" -> "Fundfenster (FF) ”ffnen" + "Liste komplett -> Fundfenster" -> "Liste komplett -> FF" + "File (einzeln) -> Fundfenster" -> "File (einzeln) -> FF" + "File (append) -> Fundfenster" -> "File (append) -> FF" + "Sortierung im Fundfenster..." -> "Sortierung im FF" + "PROGRAMME-Update-Message(s)..." -> "PROGRAMME-Message(s)" - Rechts von den Meneintr„gen steht jetzt nur noch jeweils *ein* Leerzeichen. Mein Resource-Construction-Set ORCS h„ngt dort leider immer zwei Leerzeichen an, so daž ich den ganzen Menbaum zur Laufzeit vom Programm aus anpassen muž:-( Aužerdem wurde der Mindestabstand zwischen Meneintrag und Shortcut von zwei auf ein Leerzeichen gesenkt. - Beim Starten von Programmen erscheint jetzt nur noch unter SingleTOS eine Warnung, wenn noch ungesicherte Daten vorliegen! Unter Multitasking l„uft SaugUtil ja gleichberechtigt weiter, da Programme immer parallel gestartet werden! 04.07.94 - Wenn beim Start die eingestellte Defaultliste nicht gefunden wird, wird jetzt immer auch nach einer Liste mit demselben Namen aber der Extension "LST" gesucht und diese dann nach einer Abfrage geladen! Der Name der Defaultliste wird dabei nicht ver„ndert! Grund: Wenn man normalerweise eine Fastload-Liste (Extension "FST") als Default eingestellt hat, diese aber nach einem Listenupdate und Konvertierung mit SutiConv gel”scht wurde, wird jetzt automatisch die neue Liste geladen und kann anschliežend wieder im Fastload-Format gespeichert werden! 06.07.94 - Neue Version der Assembler-Routinen fr die GFA-Flydials (GFAFLYD v4.9 von Gregor Duchalski @ DO) eingebaut. Jetzt sind die runden Radiobuttons nicht mehr so klotzig:-) 07.07.94 - Der CAT-Messages-Pfad fr die Erzeugung der PROGRAMME-Messages bzw. James/Schnulli-Mails wird jetzt nicht mehr aus einer CAT.INF gelesen, sondern direkt als Parameter erwartet! Dadurch ergeben sich Ver„nderungen in einigen Dialogen und aužerdem mssen bestehende SGI-Dateien angepažt werden. Der CAT.INF-Parameter erscheint an 5 Stellen in der SGI-Datei (PROGRAMME-Messages- Default, CFG[1-3] und James)! Ich habe ein kleines Programm geschrieben (mein erstes C-Programm:-), das „ltere SGI-Dateien automatisch anpassen kann, d.h. es liest den Messages-Pfad aus den CAT.INFs aus und setzt ihn in die SGI-Datei ein! Das Programm heižt SGI_CONV.TTP und liegt bei! Ebenso eine Kurzanleitung in SGI_CONV.TXT! 08.07.94 - Datei LASTNEWS.TXT aus der SaugUtil-Distribution entfernt. War inzwischenn unn”tiger Ballast! 10.07.94 - CoNnect-Script: Dieses gibt jetzt am Ende bestimmte Exitcodes zurck! Das sind: 0: Alles in Ordnung. 1: Fehler beim oder vor dem Login (immer besetzt, Timeout, MausNet l„uft, Maus fr G„ste gesperrt, ...). 4: Einige oder alle Aktionen konnten nicht durchgefhrt werden (Programmteil gesperrt, Gastsperre, Loginzeit zu kurz, ...). 8: Es konnten nicht alle gewnschten Files empfangen werden, entweder weil nicht vorhanden oder wegen zu kurzer Loginzeit. Dieses ist allerdings nicht immer feststellbar, z.B. dann nicht, wenn von 6 angeforderten Files 3 gesendet wurden. 16: Fehler beim Up- oder Download. Es wird aber immer nur der zuletzt aufgetretene Fehler zurck- gegeben! M”gliche Verwendung der Exitcodes: + Startet man CoNnect aus dem Saug-Utility, bekommt man nach Ende von CoNnect gleich eine Fehlermeldung, falls etwas nicht geklappt hat. + Man kann die CoNnect-Scripts mithilfe eines Mupfel-Batches abarbeiten lassen und dann evtl. Fehlermeldungen ausgeben! Kurzes Beispiel: #!mupfel script="d:\connect\scripts\saugutil.scr" connect $script fehler=$? if [$fehler] then echo Saugscript $script meldete Fehler-Nr. $fehler fi Das Script muž in diesem Fall natrlich auf 'Ausloggen' und 'CoNnect beenden' konfiguriert sein! Aber auch, wenn 'CoNnect beenden' nicht konfiguriert ist, wird ein Exitcode an den Aufrufer zurckgegeben, welches die CoSHy oder ein anderes CoNnect-Script sein kann! In diesem Fall wird jetzt nicht mehr wie frher 'break -1', sondern 'exit $excode' benutzt, so daž die CoSHy nicht verlassen wird! Nur, wenn 'Nicht ausloggen' konfiguriert ist, wird das Script mit 'break -1' beendet! - Wenn ein vom SaugUtil gestartetes Programm einen Exit-Code <> 0 zurckgibt, wird jetzt neben dem Programmnamen auch die Kommandozeile angezeigt (allerdings nur unter SingleTOS)! - Exitcodes von SaugUtil, die ich bisher noch nicht dokumentiert hatte: 0: Alles in Ordnung. 111: Falsche Aufl”sung. 112: RSC-Datei nicht gefunden. 113: Fehler beim Laden der RSC-Datei. 114: Nicht gengend Fenster-Handles bei Programmstart. 115: FILEDATA-Ordner fehlt oder unvollst„ndig. 116: Nicht gengend Fenster-Handles nach einem Programmstart. 117: Wird zusammen mit AP_TFAIL per shel_write(10) verschickt, wenn eine AP_TERM-Message vom User abgelehnt wird. 18195 ($4713): Wird zurckgegeben, wenn Žnderungen im CAT-Messages-Ordner vorgenommen wurden. Wurde SaugUtil aus CAT gestartet, liest CAT dadurch die aktuelle CAT.INF und damit auch die MSGINFO.DAT neu ein. 11.07.94 - Bugfix: Bei der Auswertung der Daten aus SAUGUTIL.BOX wurde manchmal der Gastdownload-Status nicht gesetzt! Hiež z.B. eine Stammbox "W" wurde auch bei allen anderen Boxen, die mit "W" begannen (WI, WI2, WUE, ...) der Gastdownload-Status gel”scht! (Gemeldet von Frank Daufenbach @ W) 16.07.94 - Einige Interna an lange Gruppennamen (bis 40 Zeichen) angepažt. Dadurch wurde der 'Look' einiger Dialoge (PROGRAMME-Messages, CAT-Parameter, James/Schnulli) etwas ver„ndert! Im Dialog 'PROGRAMME-Messages' k”nnen jetzt Betreffzeilen bis zu 49 Zeichen l„nge eingegeben werden. 24.07.94 - 'Ausgabe/Export': Beim Listenexport von Files aus einer Fastload- Liste wird nicht mehr der Name der Liste in der Dateiauswahlbox voreingestellt, sondern der Name mit der Extension "LST", da es keinen Sinn hat, eine ASCII-Liste an eine Fastload-Liste anzuh„ngen! - Bugfix: Der Schalter 'Auf Tastendruck/Mausklick warten' im Dialog 'Programm starten' wurde auch bei allen anderen Programmstarts (RUFUS, CoNnect, SutiConv, QTausch, Shell) ausgewertet. Jetzt wird nicht mehr gewartet, auch wenn der Schalter angekreuzt ist! - Bugfix: Beim Laden wurde die Mausform zum Pfeil ge„ndert, sobald eine WM_BOTTOMED-Meldung empfangen wurde, ohne zu berprfen, ob berhaupt noch ein anderes Fenster ge”ffnet war. Jetzt wird die Maus nur noch zum Pfeil, wenn nach dem wind_set(WF_BOTTOM) das Statusfenster nicht mehr das oberste ist. - Wenn beim Laden unbekannte Filedaten gefunden werden, wird jetzt auch der Name der aktuellen Liste in der Alertbox ausgegeben. - Der Kurzbeschreibungs-Editor hatte noch eine kleine Macke, so daž Eingaben manchmal abgelehnt wurden, obwohl sie korrekt waren. Das passiert aber nur, wenn w„hrend desselben Aufrufs schon einmal ein echter Fehler gemeldet wurde. - Die Shortcuts in den Alertboxen funktionieren jetzt mit und ohne Alternate-Taste! 31.07.94 - Vor dem Start von TOS-Programmen (nur *.TOS/*.TTP) wird jetzt unter SingleTOS der Bildschirm gel”scht (ESC-E), der Mauszeiger ausgeschaltet und der Cursor nicht-blinkend eingeschaltet! Am Ende des Programms erfolgt genau das Gegenteil. - Fehler beim Start von Programmen mit Parameterbergabe per ARGV: Wenn in der Kommandozeile nur 1 Zeichen stand, wurde eine leere Kommandozeile bergeben (mužte ich gerade bei "zoo.ttp H" feststellen)! Da war meine ARGV-Environment-Zusammenbastel- Routine leider etwas schlampig;-) - Funktion 'Programm starten': ARGV wird jetzt nur noch benutzt, wenn es angekreuzt ist UND die Kommandozeile eine L„nge > 124 Zeichen hat. Da das Eingabefeld fr die Kommandozeile eh nur um die 60 Zeichen lang ist, kann das h”chstens passieren, wenn man %-Krzel mit langen Pfaden benutzt. Einige Programme m”gen kein ARGV und kommen nicht mit dem ASCII-127 im L„ngenbyte der Kommandozeile zurecht. Deshalb ist diese Vorgehensweise wahrscheinlich ganz gnstig, falls man mal vergižt in diesem Fall ARGV abzuschalten! - Liste laden: In sehr seltenen F„llen (nicht bei Originallisten) konnte es noch zu einem Absturz oder einem Fehler mit Fehlermeldung kommen. Genau dann, wenn auf eine einzeilige Filebeschreibung eine Leerzeile und eine weitere Nicht-File-Zeile folgten, etwa so: --- 1540 ST TOS TEXTTL05.TOS 84112 00:51 0 0.00 30.07.94 <01:03> Oeffentlicher Programmteil: --- 02.08.94 - Compiliert mit dem GFA-Basic-Compiler 3.6TT. Dadurch sind jetzt die Probleme mit den Programmheaderflags (TT-RAM, TT-PRG) hoffentlich behoben! 04.08.94 - Das interne 'modified'-Flag ("*" in der Infozeile) fr Ver„nderungen der Kurzbeschreibung, wird jetzt auch zurckgesetzt, wenn man die Liste mit 'Liste speichern ... ^M' speichert und dabei der Pfad und Name der Datei mit der geladenen Listendatei bereinstimmen. Die Extension wird dabei nicht bercksichtigt (wg. "LST" <-> "FST")! - Bugfix: Der Zustand des Schalters 'Existierende Pufferdatei berschreiben' im Pfade-Dialog wurde bei 'Abbruch' nicht restauriert. - Dialog 'Up-Down-Pfade/Puffer': Hier gibt es einen neuen Schalter 'Puffer-Pfad = Batch-Pfad'. Ist er angekreuzt, wird die Online- Mitschrift im selben Ordner wie die Script/Batch/QTP-Datei erzeugt! Der Puffer-Pfad in diesem Dialog wird dann disabled und kann nicht angew„hlt werden. Die Pufferpfad-Einstellungen werden jetzt also auch fr QTausch beachtet, d.h. die Online-Mitschrift wird nicht mehr, wie frher, zwingend im selben Ordner wie die QTP-Datei angelegt! 05.08.94 - Bei 'Liste speichern ...' wird jetzt der Name der Speicherdatei fr die aktuell geladene Liste bernommen, falls diese sich nur in der Extension unterscheiden! Beim automatischen Speichern nach einer Sicherheitsabfrage wird jetzt immer Fastload gespeichert, wenn dieses im Parameterdialog eingestellt ist, auch wenn die Liste als ASCII-Liste geladen wurde! - QTausch-TRF: Zum Saugen aus und L”schen im Pers”nlichen Programmteil wird jetzt zwingend eine QTausch-Version >= 1.08K ben”tigt, da ich die Kompatibilit„tsform "Privat:" des Schlsselwortes "Private:" nicht mehr untersttze! Es wird also jetzt "Private:" benutzt, welches die Version 1.06ž noch nicht kannte! Wer also noch mit der 1.06ž rummacht, sollte schleunigst updaten;-) Die neueste Version liegt immer in der Maus A2W und kurze Zeit sp„ter meist auch in der Maus OS (QTAU*.ZIP)! *------------------------- v4.8ž vom 09.08.94 -----------------------------* 08.08.94 - Durch eine interne Umstellung der Optionen auf globale Variablen wurden ca. 5 KB Programml„nge eingespart! Bisher wurden die meisten Optionen immer direkt aus den Dialogen ausgelesen, was natrlich einige Funktionsaufrufe erforderte, die jetzt gr”žtenteils entfallen sind! - Das Feature, daž bei Defaultlisten, die sich auf einem Disketten- Laufwerk befinden, auf dem sich auch das Programm befindet, die Laufwerkkennung entfernt wurde, habe ich rausgeschmissen, da es nur Speicher kostete und eine Arbeit mit Disketten sowieso nicht sehr sinnvoll ist! Das war noch ein šberbleibsel aus meinen Anfangszeiten:-) 09.08.94 - Das Verfahren zur Ermittlung des akutellen Laufwerkes/Pfades wurde ge„ndert, da es mit Meta-DOS Probleme geben kann, wenn man Dgetpath() mit driveno=0 aufruft! In SutiRun wurde das ebenfalls angepažt! *------------------------- v4.8ž vom 10.08.94 -----------------------------* 10.08.94 - Tscha, die Ermittlung des aktuellen Pfades im Zusammenspiel mit der Kombination MagiC, Gemini und Meta-DOS funktionierte leider immer noch nicht so, wie sie sollte. Deshalb wird jetzt folgende Methode verwendet, die hoffentlich sicher ist: 1. Falls ARGV im Environment existiert, wird versucht den Programmpfad aus argv[0] zu lesen. 2. War das erfolglos, wird die konventionelle Methode zur Ermittlung des aktuellen Pfades benutzt ('drv = Dgetdrv();' und 'Dgetpath(path, drv + 1);', das Ganze natrlich in GFA-Basic;-). Diese Methode scheitert manchmal (immer?) unter der o.g. Systemkonfiguration! 3. Ist in dem aus 1. oder 2. ermittelten Pfad der FILEDATA- Ordner nicht vorhanden, wird als letztes Mittel die AES- Funktion shel_read(pcmd, ptail) aufgerufen und der Pfad aus pcmd (Programmname mit Pfad) entnommen! Diese Methode schl„gt allerdings fehl, wenn SaugUtil nicht per shel_write() gestartet wurde, aber dann greift hoffentlich vorher eine der ersten beiden Methoden! Falls es jetzt immer noch nicht klappt, bin ich bald mit meinem Latein am Ende;-) *-------------------------------- v4.8 ------------------------------------* 11.08.94 - Pfadsuche nochmal korrigiert;-) Man muž doch tats„chlich bei 'IF FSFIRST(ordner$,16)' explizit '<>0' anh„ngen, damit die Abfrage im Compilat korrekt funktioniert. Aužerdem waren die beiden Parameter von SHEL_READ() vertauscht ... komisch, bei SHEL_WRITE() verlangt sie GFA-Basic genau umgekehrt:-( 12.08.94 - Neue Funktion 'Liste hinzuladen'. Diese versteckt sich hinter dem Menpunkt 'Liste laden... (Shift)^O', wird also durch zus„tliches Drcken der Shift-Taste aufgerufen. Diese Funktion erlaubt es, an eine bereits geladene Liste, eine weitere anzuh„ngen! Ein paar Voraussetzungen mssen dabei erfllt sein: - Es muž schon eine Liste geladen sein (loggisch:-). - Die Dimensionierung und der vorhandene Speicher mssen das Laden weiterer Files zulassen. - Die hinzuzuladende Liste darf keine Fastload-Liste sein. Ist die bereits geladene Liste eine Fastloadliste, ist es beim Hinzuladen aus programmtechnischen Grnden nicht m”glich, unbekannte Filedaten in die entsprechenden FILEDATA-Dateien aufzunehmen, da diese Daten direkt in der Fastload-Liste gespeichert sind. In diesem Fall erfolgt dann die Abfrage der entsprechenden FILEDATA-Datei nur zur Bestimmung des Datentyps (Programmtyp, Quelltext oder Copyright)! Unbekannte Betriebssysteme werden ohne Nachfrage in die interne System-Liste bernommen! S„mtliche Listenkenndaten (Maus, GPT, Listendatum usw.) werden von der bereits geladenen Liste bernommen, nur die statistischen Daten werden initialisiert und beim n„chsten Zugriff darauf fr die komplette Liste neu berechnet! Nach dem Hinzuladen k”nnen alle Files zusammen in einer neuen oder der ursprnglichen Liste (z.B. Fastload) gesichert werden, wobei auch hier gilt, daž das nur m”glich ist, wenn alle Listen komplett geladen wurden! Somit ist es jetzt ohne weiteres m”glich, Listen (insbes. Fastload-Listen) Stck fr Stck zu erweitern, ohne den Umweg ber einen ASCII-Editor zu gehen! Denkbar w„re z.B., immer nur die Liste mit 'neuen' Files zu saugen oder vom MFF erzeugte Filelisten an die entsprechenden Gesamtlisten anzuh„ngen! Hin und wieder sollte man aber doch mal eine komplette Liste saugen, um auch in Punkto 'Gel”schte Files' wieder auf dem Laufenden zu sein! - Bugfix: Einige Dialogfelder waren nicht breit genug fr die maximal m”gliche Mauskrzell„nge von 7 Zeichen. Das konnte in seltenen F„llen zu Dialogmll (freischwebender Cursor) fhren. 13.08.94 - Bugfix: Wenn man bei schon geladener Liste unter 'Programm- Parameter' fr 'Max. Anzahl Files/Liste' einen kleineren als den aktuellen Wert konfiguriert hatte, kam es beim n„chsten Laden einer Fastloadliste, mit mehr Files als eingestellt waren, zu einem Absturz. Andererseits wurde eine Fastloadliste f„lschlicherweise mit der Fehlermeldung "Zu viele Files" (sinngem„ž) abgelehnt, wenn sie mehr Files enthielt, als die Dimensionierung der aktuell geladenen Liste, obwohl man vielleicht im Programm-Parameter-Dialog schon einen h”heren Wert eingestellt hatte. 14.08.94 - Der Returncode von fsel_[ex]input wird jetzt ausgewertet. Im Fehlerfall (0) erscheint eine Meldung und der Aufruf wird wie "Abbruch" gewertet! Als Ursache fr einen Fehler drfte eigentlich nur Speichermangel in Frage kommen. 16.08.94 - Beim Programmstart entstand eine Verz”gerung von mehreren Sekunden, wenn nicht sofort eine Liste geladen wurde. Grund war eine berflssige Speicherinitialisierung, die ich jetzt rausgeschmissen habe. Das Programm reagierte dann nicht sofort auf Tastendrcke und die Maus. - Die Ladegeschwindigkeit bei ASCII-Listen (nicht Fastload) wurde noch etwas gesteigert, indem ich nicht mehr, wie bisher, periodisch eine Garbage Collection ausl”se (GFA-Basic: ~FRE(0), bisher nach jedem 10. File, also viel zu oft), sondern nur noch, wenn es n”tig ist. Jetzt wird die GC immer dann ausgel”st, wenn der interne Speicher (Programmspeicher) unter 2 KB f„llt (GFA-Basic: FRE()<2048)! 17.08.94 - Batch: Der zuknftige User-Abwimmelungsspruch der Maus "Zugang momentan gesperrt" (z.B. wenn das MausNet l„uft) wird erkannt! - PROGRAMME-Messages: Wenn die Ausgabe nicht in der Form 'Eine Message pro Betriebssystem' erfolgt, wird jetzt fr die Textvariablen %B und %S (Betriebssystem bzw. -krzel) der String "***" ausgegeben (bisher "?")! In diesem Fall ist ja kein bestimmtes Betriebssystem mit der Message verknpft. - Bei den Funktionen 'Liste hinzuladen' und 'Liste laden ab Offset' wird jetzt "LST" als Extension vorgegeben, da Fastload-Listen hierbei sowieso abgelehnt werden! Ich weiž schon gar nicht mehr, warum ich die Defaultextension berhaupt konfigurierbar gemacht habe. Wahrscheinlich wegen Ulf Dunkel, der seine Listen immer aus der Gruppe PROGRAMME mit der Extension "TXT" abgespeichert hat und sich deshalb an der Vorgabe "LST" st”rte:-) 18.08.94 - Die Žnderung vom 04.07.94 (s.o.) wurde noch so weit erg„nzt, daž jetzt beim Suchen der Defaultliste notfalls auch die Listennummer unbercksichtigt bleibt, allerdings nur, wenn im Namen der Defaultliste ein "-" enthalten ist! Beispiel: Wenn die Defaultliste "G:\LISTEN\OS-22.FST" nicht gefunden wird, wird die Maske "G:\LISTEN\OS-*.LST" zum Suchen benutzt und die erste passende Liste zum Laden angeboten! Bei der bisherigen Methode wurde nur die Extension der Suchmaske in "LST" ge„ndert, womit Usern, die die Defaultliste nicht immer unter demselben Namen ablegen (wie ich z.B. als "OS-ALL.[FL]ST"), nicht geholfen war. - RUFUS-Batch: Name und Pfad der Pufferdatei werden jetzt schon am Anfang des Batches gesetzt (CoNnect-like), so daž diese RUFUS auch bei einem Abbruch des Batches mit Esc bekannt sind! 22.08.94 - Bugfix: Die 'Diskinfo'-Funktion lieferte evtl. falsche (zu kleine oder negative) Werte! Der Fehler trat nur bei Medien mit mehr als 32767 Clustern auf, da ich vergessen hatte die Multiplikation der Dfree()-Ergebnisse mit der GFA-Compiler-Option $*%/$*& zu klammern! Deshalb wurden die an der Multiplikation beteiligten Faktoren (LONG-Variablen) vom Compiler auf WORD gecastet. Dieser Fehler trat bevorzugt bei CD-ROMs auf, da diese bei der maximalen Cluster-Anzahl nicht durch eine 16-Bit-FAT beschr„nkt sind! - Bugfix: Wenn man bei der Filedatensuche den Schalter 'Files anzeigen' gesetzt hatte und das Einzelfilefenster nicht das oberste war, wurde das Fenster zwar getoppt, aber es wurden nur die Textobjekte mit den Daten neugezeichnet und nicht das komplette Fenster! Das gab dann ein wenig Bildschirmmll, war aber sonst nicht weiter gef„hrlich. - Bugfix: Die Funktion 'File -> FF (append)' und die Suchfunktionen bei gesetztem 'Gefundene halten' stellten die neu 'gefundenen' Files immer an das Ende der gerade im Fundfenster stehenden 'Teilliste', so daž sie bei dem Sortierkriterium 'Unsortiert' nicht eingereiht wurden (entsprechend der Reihenfolge im šbersichtsfenster). Das war natrlich nicht so gedacht. Jetzt werden die Files mit INSERT an der richtigen Stelle in das Fund-Array 'eingeh„ngt' (bei 'File -> FF (append)') bzw. die laufenden Nummern im Fund-Array anschliežend neu sortiert (bei den Suchfunktionen, INSERT wrde hier zu lange dauern)! 25.08.94 - James-Mails: #DEL-Bl”cke werden jetzt mit einem "#END" abgeschlossen. Die aktuelle James-Version st”rt sich nicht dran und zuknftige Versionen werden es wahrscheinlich brauchen! Das L”schen soll ja auch dann noch funktionieren! 26.08.94 - Beim Start ohne SGI-Datei wird jetzt defaultm„žig der Wert "0" fr 'Maximale Anzahl Files/Liste" eingetragen, wodurch die automatische Dimensionierung eingeschaltet wird! - Anleitung: Das Kapitel ber 'James/Schnulli' wurde berarbeitet und die vielen Warnungen entfernt, da die Programme inzwischen hinreichend bekannt, bzw. in den meisten M„usen installiert sein drften. Aus dem Beta-Stadium sind James und Schnulli auf jeden Fall inzwischen herausgewachsen:-) SutiConv ******** *------------------------- v4.8ž vom 05.08.94 -----------------------------* 29.06.94 - Wildcard-Matching der bergebenen Dateinamen (s. SaugUtil). 22.07.94 - SutiConv strzte mit einem Bus-Error ab, wenn die 'Neue' Liste eine Fastload-Liste war! Ich hoffe, das ist kaum jemand aufgefallen, da meist die alte Liste Fastload ist und die neue im ASCII-Format ... 24.07.94 - Beim interaktiven Ausw„hlen der 'neuen' Liste wird jetzt in der Dateiauswahlbox nicht mehr die Extension der alten Liste als Dateimaske vorgegeben, sondern die Defaultextension wie bei der alten Liste. *------------------------- v4.8ž vom 09.08.94 -----------------------------* 09.08.94 - Workaround fr das Dgetpath()-Problem mit Meta-DOS (s.o.). *------------------------- v4.8ž vom 10.08.94 -----------------------------* 10.08.94 - Workaround fr das Dgetpath()-Problem erweitert (s.o.). *-------------------------------- v4.8 ------------------------------------* 11.08.94 - Hoffentlich letzte Žnderung der Pfadsuche (s.o.)! 14.08.94 - Auswertung des Returncodes von fsel_[ex]input() (s.o.). 26.08.94 - Im LOG-File wird jetzt auch die Anzahl der geladenen Files ausgegeben. -eof-