|--- The A.F.S. -> Automatic File Sorter -------| |(c) 1992 Michael Lhrig 2:2403/37.4@fidonet.org| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Inhalt: 1. šbliches (šbles?) 2. Warum dieses Programm? 3. Zur Installation und Bedienung 4. Einschr„nkungen 5. Arbeitsweise des Programmes 6. Internes 7. Warnung! 8. Historie 9. Registrierung 1. šbliches (šbles?): ~~~~~~~~~~~~~~~~~~~~~ Dieses Programm l„uft nur auf einem Atari-Rechner. Der Autor haftet nicht fr Sch„den jeglicher Art, die durch Verwendung die- ser Software entsteht. Dieses Programm ist in dieser Version nur zu Testzwecken freigegeben und darf daher nur von Beta-Testern benutzt werden. Es ist kein PD! sondern ist als Shareware vorgesehen. Um den Anreiz zu Erh”hen, wurde eine kleine Abfrage eingebaut, die vor jeder Sortierung auf einen Tastendruck wartet. Zu den Shareware-Bedingungen siehe ganz unten. Da dieses Programm noch in der Entwicklungsphase steckt, bin ich natrlich sehr daran interessiert, auf welchen Rechnertypen (TOS-Versionen) es l„uft, ob und wie Probleme entstanden sind und natrlich Verbesserungsvorschl„gen immer aufgeschlossen. Eine Historie steht immer am Ende dieses Textes. Es ist aber unbedingt notwendig sich den ganzen Text durchzulesen, damit man mit den Neuerungen auch etwas Anfangen kann. TIP -> von den unten beschriebenen Daten sollte man sich erst einmal eine Sicherheitskopie anfertigen! 2. Warum dieses Programm? ~~~~~~~~~~~~~~~~~~~~~~~~~ Ich fand' es bisher immer l„stig, meine Text-Dateien von Hand zu sortieren. Selbst mit einem Texteditor und einer eingebauten Sortierfunktion o.„. war es mir immer zu langwierig, alle meine Ordner nach diesen Dateien zu durchsuchen, um diese dann einzeln zu sortieren. Weil ich ein Fan von šbersicht und Ordnung bin, wollte ich mir es auch nicht nehmen lassen, irgendwie die Inhalte meiner Dateien in einer alphabetischen Reihenfolge sortieren zu lassen. Also hab' ich mich herangemacht und hier liegt es nun vor Euch... 3. Zur Installation und Bedienung: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Das Programm AFS.TTP l„žt sich von jeder Directory aus starten. Es ben”tigt zwei Dinge: 1. einen Atari-Rechner 2. Dateien, die sortiert werden sollen Es kann also in dem Ordner liegen bleiben, in dem es schon ist. Mit einem Doppelklick auf das Programm erh„lt man die Kommandozeile. Die Syntax fr die Eingabe sieht folgendermažen aus: "AFS [option] filename {filename}" (Das AFS entf„llt natrlich, wenn man das Programm vom Desktop aus startet) Unter [option] kann man nur "-d","-v" oder beide "-dv" eingeben. Ist Option "d" aktiviert, werden zus„tzlich zum Verzeichnis alle Unterver- zeichnisse duchsucht, wenn nicht, wird nur im aktuellen Verzeichnis gesucht. Ist Option "v" aktiviert, werden alle gefundenen Dateien nur auf dem Bildschirm angezeigt. Dies ist besonders fr die Benutzer wichtig, die sie mit der Eingabe von Suchmasken noch nicht so gut auskennen. Hier kann man also berprfen, ob die angezeigten Dateien auch wirklich denen entsprechen, die man glaubte, sortieren zu wollen. Ist eine Datei angezeigt, wird man aufgefordert, die Leertaste (space) zu drcken. Unter "filename" kann man eine oder mehrere Dateien eingeben und darf auch Wildcards benutzen. Beispiele: Um Dateien mit der Erweiterung "TXT" sortieren zu lassen, die sich im Pfad befinden, gibt man folgende Zeile ein: "*.txt" (die " dienen nur zur besseren Lesbarkeit und geh”ren nicht in eine Kommandozeile). Wahnsinn was? M”chte man jetzt zus„tzlich dazu auch noch alle Dateien mit der Erweiterung "LST" sortieren lassen... "*.txt *.lst" Vielleicht will man aber in von einem speziellen Verzeichnis aus, alle Unter- verzeichnisse incl. eine Datei mit der Erweiterung "BBS" sortieren lassen? Kein Problem... "-d k:\fileecho\*.bbs" hier wird im Verzeichnis "fileecho" auf der Partition "K:" nach Dateien vom Typ "*.BBS" gesucht. Die Suche wird auch in allen Unterverzeichnissen des Ver- zeichnis' "FILEECHO" durchgefhrt. Sind alle Dateien gefunden worden, f„ngt das Programm an, diese zu sortieren (gnstig fr Nodes, oder Points, die mit Stick & Hatch o.„. arbeiten, um eine sortierte Fileliste zu erhalten). usw... Am unteren Bildschirmrand (auf einem SM124) wird der Benutzername eingeblendet, auf den dieses Programm registriert ist. Falls es sich um eine nicht registrierte Version handelt, kommt statt des Namens nur ein Hinweis, daž dieses Programm "Shareware" ist. Das Programm l„žt sich jederzeit durch Ctrl-C abbrechen. Dann erscheint eine Meldung, das der Benutzer das Programm abgebrochen hat. Nach eine kleinen Warteschleife, kommt man zurck zum Desktop. Der Programm-Abbruch wird allerdings nicht ausgefhrt, w„hrend eine Datei geschrieben wird. Auch wird er nicht ausgefhrt, nachdem alle Dateien bearbeitet wurden (falls jemand auf die Idee kommen sollte, um die 10s Schleife am Ende des Programm's zu verkrzen). 4. Einschr„nkungen: ~~~~~~~~~~~~~~~~~~~ In meinem Programm sind keine GEM-Routinen eingebunden. Bei evtl. Fehlern, die ber das TOS kommen und in einer Dialogbox beantwortet werden mssen, steht die Maus evtl. nicht zur Verfgung (muž aber nicht so sein). Die Zeilenl„nge in den einzelnen Text-Dateien sollte den Wert 255 nicht berschreiten, da sonst mein Programm diese beim Einlesen abschneidet. Der Rest der berlangen Zeile wird dann wie ein weiterer Eintrag verarbeitet und dann auch dementsprechend einsortiert. In der Shareware-Version wird man grunds„tzlich vor _jeder_ zu sortierenden Datei daran erinnert, sich registrieren zu lassen. Aužerdem erscheint am Ende der Sortierung _immer_ der kleine Zeitbalken (10s)! 5. Arbeitsweise des Programms: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nach einem Doppelklick auf das Programm erh„lt man die Kommandozeile. Dort kann man jetzt seine Eingaben t„tigen. Das Gleiche funktioniert auch, wenn man die Datei, die man gerne sortiert haben m”chte einfach auf das Programm zieht. Wird ein Eintrag gefunden, so wird dieser Eintrag abgearbeitet. Das Programm berprft danach, ob eine Option in der Kommandozeile bergeben wurde und alls keine Option vorhanden war, wird jetzt berprft, ob eine Suchmaske eingegeben wurde. War auch das nicht der Fall, bekommt man einen Benutzungshinweis. Jetzt werden alle gefundenen Pfade abgesucht, ob in jenen die zu sortierende/n Datei/en enthalten ist/sind. Wird/werden diese gefunden, so l„dt das Programm sie nacheinander in das RAM und sortiert sie gleich beim Einlesen. Nach dem Einlesen wird die so sortierte Datei unter dem gleichen Namen wieder abge- speichert. Am Programmstart wird oben rechts auf dem Bildschirm auch die Startzeit, sowie das aktuelle Datum eingeblendet. Darunter wird immer der aktuelle verfgbare Speicher angezeigt. Nach Beendigung der Aktion wird unter der Startzeit fr ca. 2 sek die Zeit eingeblendet, bei der das Programm fertig war. Damit man noch einen ungef„hren Eindruck davon hat, wie "lange" diese 2 Sekunden noch dauern, wird unter der Abschlužmeldung eine kleine Linie aus "*" eingeblendet, die st„ndig abnimmt. Dann wird das Programm verlassen und man landet wieder im Desktop. 6. Internes: ~~~~~~~~~~~~ Dieses Programm arbeitet nun doch wieder mit einer dynamischen Speicherverwal- tung, deshalb kann ich wieder nicht sagen, wieviel Speicher es verbrauchen wird, da das von der Gr”že der zu sortierenden Dateien abh„ngt. Pro Zeile mžt Ihr aber mit min. 255 Byte rechnen (Speicherverwaltung muž noch hinzugezogen werden). Ein Beispiel: Ich habe einmal eine Liste von 5605 Personen sortieren lassen. Jede Zeile der Text-Datei war max. 60 Zeichen lang (dies interessiert aber nicht mein Programm, da es immer mit einer Zeilenl„nge von 255 Zeichen arbeitet). Mit Verwaltungsdaten kommen wir bei einer Zeile auf 266 Byte. Nach Adam Riese und Eva Zwerg macht das aber 5605*266 = 1.490.930 Byte! Die Datei wird vorher noch in das Ram geladen und verbraucht somit auch noch einmal kurzzeitig ca. 340 KB. Also macht das insgesamt ca. 1.83 MB! Es ist also nur eine Frage des Speicherausbaus, um gr”žere Dateien sortieren zu lassen. Fr den ganzen Vorgang wurde brigens auf einem 1040 STe mit TOS 2.06 und 4MB eine Zeit von 1'15" gebraucht (8 MHz). M”chte aber jemand so ein Monstrum von Datei danach gleich noch einmal sortieren lassen, so warne ich jetzt schon davor, das es zu einer Kaffeepause ausarten kann. Die Sortierung funktioniert immer am besten, wenn sich die Datei-Inhalte von einer alphabetischen Ordnung unterscheiden. Was bei kleineren Dateien nicht so stark auff„llt, bringt bei obigem Beispiel dann eine Wartezeit von bis zu 15 Min mit sich (liegt am Sortierverfahren)! Nun wnsche ich Euch da draužen vor der Bildr”hre noch ein angenehmes Sortieren Eurer Fileecho's. 7. Warnung! ~~~~~~~~~~~ ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! Mein Programm nimmt keine Rcksicht, welche Dateien sortiert werden. Es arbeitet alle Dateien, die in der Suchmaske angegeben wurden, ab! Sollte jemand von Euch auf die Idee kommen und "-d c:\*.*" eingeben, der ist SELBST SCHULD! Danach habt Ihr auf C: Dateien sortiert. Auch die PROGRAMME etc. Deshalb VORSICHT. Am Besten auf einer Diskette ben, falls man sich nicht sicher ist, oder die "V"-Option benutzen! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! 8. Historie: ~~~~~~~~~~~~ Version 0.1 - 0.6: ------------------ Aufbau der einzelnen Programmteile, die fr die Verwaltung, den Speicherbedarf, das Einlesen und andere Sachen zust„ndig sind. Version 0.6 - 0.8: ------------------ Implementation einer besseren Speicherverwaltung. Da die alte Version den angemeldeten Speicher nach dem Schreiben der sortierten Daten nicht wieder freigegeben hat, konnte es u.U. sehr schnell zu einem vollen Speicher kommen. Dies ist jetzt beseititgt (wie man es auch an der "Memory"-Anzeige verfolgen kann). šberall, wo in dem Programm Fehler bei zugriffen auf Daten, ob nun Intern (RAM), oder Extern (Dateien), auftreten k”nnen wurde eine Abfangroutine installiert. Sollte also ein Problem auftauchen, so wird eine Meldung auf den Bildschirm geschrieben und das Programm danach verlassen. Es kann allerdings auch vorkommen, das bei Wechselplattenbesitzern, eine Meldung der Treibersoft- ware ber das GEM kommt. In diesem Fall sollte man also entweder vorher die angemeldeten Partitionen aus dem System entfernen, oder sein Medium, einlegen und die Platte wieder hochfahren. Version 0.81 beta ----------------- Beseitigung des "Return-Fehlers" in den Textdateien, die zum frhzeitigen Abbruch der Sortierroutine fhrten. -> Vielen Dank an Karsten Ebeling fr diesen Tip. Die Wartezeit am Ende des Programms wurde auf 3 sek. verkrzt. Version 0.9 beta ---------------- Dynamische Speicherverwaltung entfernt, da der Aufwand an ben”tigtem Speicher unverh„ltnism„žig hoch zu der Gr”že der Datei war. Siehe oben. Das Sortieren w„hrend des Einlesens der Datei (bin„rer Baum) wurde v”llig entfernt und eine Quick-Sort, sowie eine Bubble-Sort-Routine implementiert. Es wurde eine Abfrage eingabaut, die berprft, ob die Text-Datei nur eine Zeile enth„lt. Sortieren lohnt sich ja auch erst ab zwei Zeilen... Alles in allem ist das Programm dadurch 25% schneller geworden! Version 1.0 beta ---------------- ...das Programm lief dann aber nicht mehr auf einem Atari-TT... Das sollte also wieder behoben sein. Die dynamische Speicherverwaltung ist also wieder eingebaut worden, damit ich nicht 2 Programmversionen pflegen muž. Die Speicherverwaltung ist berarbeitet worden und verbraucht nur noch soviel Speicher, wie n”tig. Beim Zurckschreiben der Daten wird gleichzeitig der nicht mehr ben”tigte Speicher freigegeben (erkennbar an der Speicheranzeige). Es kann ab jetzt sofort eine beliebige Datei auf das Programm[icon] gezogen werden, wodurch sich der "Single-Sort-Mode" einschaltet. Die Datei wird sofort sortiert, zurckgeschrieben und das Programm danach ohne Warteschleife verlas- sen (zieht bitte nicht aus Versehen das Programm drauf...). Die M”glichkeiten bei einer Bearbeitung mit einer Batch-Datei m”chte ich nur mal erw„hnen. In der Batch-Datei w„re dann folgendes denkbar: afs.ttp h:\nodelist\fidouser.lst ...nach diesem Aufruf wrde AFS _nur_ die Datei "fidouser.lst" sortieren und danach sofort! wieder verschwinden. Wird die Datei nicht gefunden geht's mit einer Fehlermeldung wieder zurck. Version 1.1beta --------------- Nun ist es endgltig vollbracht. Das Programm wird nur noch ber die Kommandozeile gesteuert. Eine Datei auf das Icon zu ziehen funktioniert aber trotzdem noch. Die Shareware-Abfrage wurde eingebaut und Ctrl-C funktioniert jetzt auch. 9. Registrierung ~~~~~~~~~~~~~~~~ Wer sich registreren lassen m”chte, der schicke mir bitte entweder einen Brief an meine Adresse, oder per EMail an meine Netz-Adresse. Michael Lhrig Sparkasse Berlin Antonienstr. 4 BLZ: 100 500 00 1000 Berlin 51 KTO: 640 180 531 Vermerk: AFS Registrierung, Name & Adresse Die H”he der einmaligen Registrierung bel„uft sich auf 20.-DM. Mit der Registrierung erh„lt man dann ein ruhiges Gewissen und natrlich die Vollversion, die einmal den Benutzernamen beinhaltet und zum anderen nicht mehr mit der Tastaturabfrage nervt. Wenn das Geld auf meinem Konto berwiesen wurde, schicke ich entweder eine Diskette an den Absender, oder ber das Modem (nach Vereibarung). Falls m”glich, sollte mir der Registrierfreudige eine Best„tigung ber das Fido senden, damit ich weiž, das es auch der rechtm„žige Besitzer ist, der mir das Geld geschickt hat. ----------------------------------------------------------------------------- I Michael Lhrig Antonienstr. 4 I I UseNet/InterNet: luehrig@krypta.in-berlin.de W-1000 Berlin 51,FRG I I FidoNet : 2:2403/37.4@Fidonet I ----------------------------------------------------------------------------- Michael Lhrig, am 31.10.1992 um 17:40 Uhr Ende der Kommunikation... "click"