home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / bbs / afsdemo / afs.txt < prev   
Text File  |  1992-10-31  |  15KB  |  337 lines

  1.                |--- The A.F.S. -> Automatic File Sorter -------|
  2.                |(c) 1992 Michael Lührig 2:2403/37.4@fidonet.org| 
  3.                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4.  
  5.                Inhalt:
  6.                        1. Übliches (Übles?)
  7.                        2. Warum dieses Programm?
  8.                        3. Zur Installation und Bedienung
  9.                        4. Einschränkungen
  10.                        5. Arbeitsweise des Programmes
  11.                        6. Internes
  12.                        7. Warnung!
  13.                        8. Historie
  14.                        9. Registrierung
  15.  
  16. 1. Übliches (Übles?):
  17. ~~~~~~~~~~~~~~~~~~~~~
  18. Dieses Programm läuft nur auf einem Atari-Rechner.
  19.  
  20. Der Autor haftet nicht für Schäden jeglicher Art, die durch Verwendung die-
  21. ser Software entsteht. Dieses Programm ist in dieser Version nur zu Testzwecken 
  22. freigegeben und darf daher nur von Beta-Testern benutzt werden. Es ist kein PD!
  23. sondern ist als Shareware vorgesehen. Um den Anreiz zu Erhöhen, wurde eine 
  24. kleine Abfrage eingebaut, die vor jeder Sortierung auf einen Tastendruck 
  25. wartet. Zu den Shareware-Bedingungen siehe ganz unten.
  26.  
  27. Da dieses Programm noch in der Entwicklungsphase steckt, bin ich natürlich sehr 
  28. daran interessiert, auf welchen Rechnertypen (TOS-Versionen) es läuft, ob und 
  29. wie Probleme entstanden sind und natürlich Verbesserungsvorschlägen immer 
  30. aufgeschlossen. Eine Historie steht immer am Ende dieses Textes. Es ist aber 
  31. unbedingt notwendig sich den ganzen Text durchzulesen, damit man mit den 
  32. Neuerungen auch etwas Anfangen kann.
  33.  
  34. TIP -> von den unten beschriebenen Daten sollte man sich erst einmal eine        
  35.        Sicherheitskopie anfertigen!
  36.  
  37.  
  38. 2. Warum dieses Programm?
  39. ~~~~~~~~~~~~~~~~~~~~~~~~~
  40. Ich fand' es bisher immer lästig, meine Text-Dateien von Hand zu sortieren. 
  41. Selbst mit einem Texteditor und einer eingebauten Sortierfunktion o.ä. war es 
  42. mir immer zu langwierig, alle meine Ordner nach diesen Dateien zu durchsuchen, 
  43. um diese dann einzeln zu sortieren.
  44.  
  45. Weil ich ein Fan von Übersicht und Ordnung bin, wollte ich mir es auch nicht 
  46. nehmen lassen, irgendwie die Inhalte meiner Dateien in einer alphabetischen 
  47. Reihenfolge sortieren zu lassen.
  48.  
  49. Also hab' ich mich herangemacht und hier liegt es nun vor Euch...
  50.  
  51.  
  52. 3. Zur Installation und Bedienung:
  53. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  54. Das Programm AFS.TTP läßt sich von jeder Directory aus starten.
  55.  
  56. Es benötigt zwei Dinge:
  57.      
  58.      1. einen Atari-Rechner
  59.      2. Dateien, die sortiert werden sollen
  60.  
  61. Es kann also in dem Ordner liegen bleiben, in dem es schon ist.
  62. Mit einem Doppelklick auf das Programm erhält man die Kommandozeile. 
  63. Die Syntax für die Eingabe sieht folgendermaßen aus:
  64.  
  65. "AFS [option] filename {filename}"
  66. (Das AFS entfällt natürlich, wenn man das Programm vom Desktop aus startet)
  67.  
  68. Unter [option] kann man nur "-d","-v" oder beide "-dv" eingeben.
  69.  
  70. Ist Option "d" aktiviert, werden zusätzlich zum Verzeichnis alle Unterver-
  71. zeichnisse duchsucht, wenn nicht, wird nur im aktuellen Verzeichnis gesucht.
  72.  
  73. Ist Option "v" aktiviert, werden alle gefundenen Dateien nur auf dem Bildschirm 
  74. angezeigt. Dies ist besonders für die Benutzer wichtig, die sie mit der Eingabe 
  75. von Suchmasken noch nicht so gut auskennen. Hier kann man also überprüfen, ob 
  76. die angezeigten Dateien auch wirklich denen entsprechen, die man glaubte, 
  77. sortieren zu wollen. Ist eine Datei angezeigt, wird man aufgefordert, die 
  78. Leertaste (space) zu drücken.
  79.  
  80. Unter "filename" kann man eine oder mehrere Dateien eingeben und darf auch 
  81. Wildcards benutzen.
  82.  
  83. Beispiele:
  84.  
  85. Um <alle> Dateien mit der Erweiterung "TXT" sortieren zu lassen, die sich im 
  86. <aktuellen> Pfad befinden, gibt man folgende Zeile ein:
  87.  
  88. "*.txt" (die " dienen nur zur besseren Lesbarkeit und gehören nicht in
  89.          eine Kommandozeile).
  90.  
  91. Wahnsinn was?
  92.  
  93. Möchte man jetzt zusätzlich dazu auch noch alle Dateien mit der Erweiterung 
  94. "LST" sortieren lassen...
  95.  
  96. "*.txt *.lst"
  97.  
  98. Vielleicht will man aber in von einem speziellen Verzeichnis aus, alle Unter-
  99. verzeichnisse incl. eine Datei mit der Erweiterung "BBS" sortieren lassen?
  100.  
  101. Kein Problem...
  102.  
  103. "-d k:\fileecho\*.bbs"
  104.  
  105. hier wird im Verzeichnis "fileecho" auf der Partition "K:" nach Dateien vom Typ 
  106. "*.BBS" gesucht. Die Suche wird auch in allen Unterverzeichnissen des Ver-
  107. zeichnis' "FILEECHO" durchgeführt. Sind alle Dateien gefunden worden, fängt das 
  108. Programm an, diese zu sortieren (günstig für Nodes, oder Points, die mit Stick 
  109. & Hatch o.ä. arbeiten, um eine sortierte Fileliste zu erhalten).
  110. usw...
  111.  
  112. Am unteren Bildschirmrand (auf einem SM124) wird der Benutzername eingeblendet, 
  113. auf den dieses Programm registriert ist. Falls es sich um eine nicht 
  114. registrierte Version handelt, kommt statt des Namens nur ein Hinweis, daß 
  115. dieses Programm "Shareware" ist. 
  116.  
  117. Das Programm läßt sich jederzeit durch Ctrl-C abbrechen. Dann erscheint eine 
  118. Meldung, das der Benutzer das Programm abgebrochen hat. Nach eine kleinen 
  119. Warteschleife, kommt man zurück zum Desktop.
  120.  
  121. Der Programm-Abbruch wird allerdings nicht ausgeführt, während eine Datei 
  122. geschrieben wird. Auch wird er nicht ausgeführt, nachdem alle Dateien 
  123. bearbeitet wurden (falls jemand auf die Idee kommen sollte, um die 10s Schleife 
  124. am Ende des Programm's zu verkürzen).
  125.  
  126.  
  127. 4. Einschränkungen:
  128. ~~~~~~~~~~~~~~~~~~~
  129. In meinem Programm sind keine GEM-Routinen eingebunden. Bei evtl. Fehlern, die 
  130. über das TOS kommen und in einer Dialogbox beantwortet werden müssen, steht die 
  131. Maus evtl. nicht zur Verfügung (muß aber nicht so sein).
  132.  
  133. Die Zeilenlänge in den einzelnen Text-Dateien sollte den Wert 255 nicht 
  134. überschreiten, da sonst mein Programm diese beim Einlesen abschneidet. Der Rest 
  135. der überlangen Zeile wird dann wie ein weiterer Eintrag verarbeitet und dann 
  136. auch dementsprechend einsortiert.
  137.  
  138. In der Shareware-Version wird man grundsätzlich vor _jeder_ zu sortierenden 
  139. Datei daran erinnert, sich registrieren zu lassen. Außerdem erscheint am Ende 
  140. der Sortierung _immer_ der kleine Zeitbalken (10s)!
  141.  
  142.  
  143. 5. Arbeitsweise des Programms:
  144. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  145. Nach einem Doppelklick auf das Programm erhält man die Kommandozeile. Dort kann 
  146. man jetzt seine Eingaben tätigen.
  147.  
  148. Das Gleiche funktioniert auch, wenn man die Datei, die man gerne sortiert haben 
  149. möchte einfach auf das Programm zieht. Wird ein Eintrag gefunden, so wird <nur> 
  150. dieser Eintrag abgearbeitet.
  151.  
  152. Das Programm überprüft danach, ob eine Option in der Kommandozeile übergeben 
  153. wurde und alls keine Option vorhanden war, wird jetzt überprüft, ob eine 
  154. Suchmaske eingegeben wurde. War auch das nicht der Fall, bekommt man einen 
  155. Benutzungshinweis.
  156.  
  157. Jetzt werden alle gefundenen Pfade abgesucht, ob in jenen die zu sortierende/n 
  158. Datei/en enthalten ist/sind. Wird/werden diese gefunden, so lädt das Programm 
  159. sie nacheinander in das RAM und sortiert sie gleich beim Einlesen. Nach dem 
  160. Einlesen  wird die so sortierte Datei unter dem gleichen Namen wieder abge-
  161. speichert.
  162.  
  163. Am Programmstart wird oben rechts auf dem Bildschirm auch die Startzeit, sowie 
  164. das aktuelle Datum eingeblendet. Darunter wird immer der aktuelle verfügbare 
  165. Speicher angezeigt.
  166.  
  167. Nach Beendigung der Aktion wird unter der Startzeit für ca. 2 sek die Zeit 
  168. eingeblendet, bei der das Programm fertig war. Damit man noch einen ungefähren 
  169. Eindruck davon hat, wie "lange" diese 2 Sekunden noch dauern, wird unter der 
  170. Abschlußmeldung eine kleine Linie aus "*" eingeblendet, die ständig abnimmt.
  171.  
  172. Dann wird das Programm verlassen und man landet wieder im Desktop.
  173.  
  174.  
  175. 6. Internes:
  176. ~~~~~~~~~~~~
  177.  
  178. Dieses Programm arbeitet nun doch wieder mit einer dynamischen Speicherverwal-
  179. tung, deshalb kann ich wieder nicht sagen, wieviel Speicher es verbrauchen 
  180. wird, da das von der Größe der zu sortierenden Dateien abhängt. Pro Zeile müßt 
  181. Ihr aber mit min. 255 Byte rechnen (Speicherverwaltung muß noch hinzugezogen 
  182. werden).
  183.  
  184. Ein Beispiel:
  185. Ich habe einmal eine Liste von 5605 Personen sortieren lassen. Jede Zeile der 
  186. Text-Datei war max. 60 Zeichen lang (dies interessiert aber nicht mein 
  187. Programm, da es immer mit einer Zeilenlänge von 255 Zeichen arbeitet). Mit 
  188. Verwaltungsdaten kommen wir bei einer Zeile auf 266 Byte. Nach Adam Riese und 
  189. Eva Zwerg macht das aber 5605*266 = 1.490.930 Byte! Die Datei wird vorher noch 
  190. in das Ram geladen und verbraucht somit auch noch einmal kurzzeitig ca. 340 KB. 
  191. Also macht das insgesamt ca. 1.83 MB!
  192.  
  193. Es ist also nur eine Frage des Speicherausbaus, um größere Dateien sortieren zu 
  194. lassen. Für den ganzen Vorgang wurde übrigens auf einem 1040 STe mit TOS 2.06 
  195. und 4MB eine Zeit von 1'15" gebraucht (8 MHz).
  196.  
  197. Möchte aber jemand so ein Monstrum von Datei danach gleich noch einmal 
  198. sortieren lassen, so warne ich jetzt schon davor, das es zu einer Kaffeepause 
  199. ausarten kann. Die Sortierung funktioniert immer am besten, wenn sich die 
  200. Datei-Inhalte von einer alphabetischen Ordnung unterscheiden. Was bei kleineren 
  201. Dateien nicht so stark auffällt, bringt bei obigem Beispiel dann eine Wartezeit 
  202. von bis zu 15 Min mit sich (liegt am Sortierverfahren)!
  203.  
  204. Nun wünsche ich Euch da draußen vor der Bildröhre noch ein angenehmes Sortieren 
  205. Eurer Fileecho's.
  206.  
  207.  
  208. 7. Warnung!
  209. ~~~~~~~~~~~
  210. ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG !
  211. Mein Programm nimmt keine Rücksicht, welche Dateien sortiert werden. Es 
  212. arbeitet alle Dateien, die in der Suchmaske angegeben wurden, ab!
  213. Sollte jemand von Euch auf die Idee kommen und "-d c:\*.*" eingeben, der ist 
  214. SELBST SCHULD! Danach habt Ihr auf C: <ALLE> Dateien sortiert. Auch die 
  215. PROGRAMME etc. Deshalb VORSICHT. Am Besten auf einer Diskette üben, falls man 
  216. sich nicht sicher ist, oder die "V"-Option benutzen!
  217. ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG ! ! ACHTUNG !
  218.  
  219.  
  220. 8. Historie:
  221. ~~~~~~~~~~~~
  222.  
  223. Version 0.1 - 0.6:
  224. ------------------
  225. Aufbau der einzelnen Programmteile, die für die Verwaltung, den Speicherbedarf, 
  226. das Einlesen und andere Sachen zuständig sind.
  227.  
  228.  
  229. Version 0.6 - 0.8:
  230. ------------------
  231. Implementation einer besseren Speicherverwaltung. Da die alte Version den 
  232. angemeldeten Speicher nach dem Schreiben der sortierten Daten nicht wieder 
  233. freigegeben hat, konnte es u.U. sehr schnell zu einem vollen Speicher kommen. 
  234. Dies ist jetzt beseititgt (wie man es auch an der "Memory"-Anzeige verfolgen 
  235. kann).
  236.  
  237. Überall, wo in dem Programm Fehler bei zugriffen auf Daten, ob nun Intern 
  238. (RAM), oder Extern (Dateien), auftreten können wurde eine Abfangroutine 
  239. installiert. Sollte also ein Problem auftauchen, so wird eine Meldung auf den 
  240. Bildschirm geschrieben und das Programm danach verlassen. Es kann allerdings 
  241. auch vorkommen, das bei Wechselplattenbesitzern, eine Meldung der Treibersoft-
  242. ware über das GEM kommt. In diesem Fall sollte man also entweder vorher die 
  243. angemeldeten Partitionen aus dem System entfernen, oder sein Medium, einlegen 
  244. und die Platte wieder hochfahren.
  245.  
  246.  
  247. Version 0.81 beta
  248. -----------------
  249. Beseitigung des "Return-Fehlers" in den Textdateien, die zum frühzeitigen 
  250. Abbruch der Sortierroutine führten.
  251.  
  252. -> Vielen Dank an Karsten Ebeling für diesen Tip.
  253.  
  254. Die Wartezeit am Ende des Programms wurde auf 3 sek. verkürzt.
  255.  
  256.  
  257. Version 0.9 beta
  258. ----------------
  259. Dynamische Speicherverwaltung entfernt, da der Aufwand an benötigtem Speicher 
  260. unverhältnismäßig hoch zu der Größe der Datei war. Siehe oben.
  261.  
  262. Das Sortieren während des Einlesens der Datei (binärer Baum) wurde völlig 
  263. entfernt und eine Quick-Sort, sowie eine Bubble-Sort-Routine implementiert. 
  264.  
  265. Es wurde eine Abfrage eingabaut, die überprüft, ob die Text-Datei nur eine 
  266. Zeile enthält. Sortieren lohnt sich ja auch erst ab zwei Zeilen...
  267.  
  268. Alles in allem ist das Programm dadurch 25% schneller geworden!
  269.  
  270.  
  271. Version 1.0 beta
  272. ----------------
  273. ...das Programm lief dann aber nicht mehr auf einem Atari-TT...
  274.  
  275. Das sollte also wieder behoben sein.
  276.  
  277. Die dynamische Speicherverwaltung ist also wieder eingebaut worden, damit ich 
  278. nicht 2 Programmversionen pflegen muß. 
  279.  
  280. Die Speicherverwaltung ist überarbeitet worden und verbraucht nur noch soviel 
  281. Speicher, wie nötig. Beim Zurückschreiben der Daten wird gleichzeitig der nicht 
  282. mehr benötigte Speicher freigegeben (erkennbar an der Speicheranzeige).
  283.  
  284. Es kann ab jetzt sofort eine beliebige Datei auf das Programm[icon] gezogen 
  285. werden, wodurch sich der "Single-Sort-Mode" einschaltet. Die Datei wird sofort 
  286. sortiert, zurückgeschrieben und das Programm danach ohne Warteschleife verlas-
  287. sen (zieht bitte nicht aus Versehen das Programm drauf...). Die Möglichkeiten 
  288. bei einer Bearbeitung mit einer Batch-Datei möchte ich nur mal erwähnen.
  289.  
  290. In der Batch-Datei wäre dann folgendes denkbar:
  291. afs.ttp h:\nodelist\fidouser.lst
  292.  
  293. ...nach diesem Aufruf würde AFS _nur_ die Datei "fidouser.lst" sortieren und 
  294. danach sofort! wieder verschwinden. Wird die Datei nicht gefunden geht's mit 
  295. einer Fehlermeldung wieder zurück.
  296.  
  297. Version 1.1beta
  298. ---------------
  299. Nun ist es endgültig vollbracht. 
  300.  
  301. Das Programm wird nur noch über die Kommandozeile gesteuert.
  302. Eine Datei auf das Icon zu ziehen funktioniert aber trotzdem noch.
  303. Die Shareware-Abfrage wurde eingebaut und Ctrl-C funktioniert jetzt auch.
  304.  
  305.  
  306. 9. Registrierung
  307. ~~~~~~~~~~~~~~~~
  308. Wer sich registreren lassen möchte, der schicke mir bitte entweder einen Brief 
  309. an meine Adresse, oder per EMail an meine Netz-Adresse.
  310.  
  311.                Michael Lührig      Sparkasse Berlin
  312.                Antonienstr. 4      BLZ:  100 500 00
  313.                1000 Berlin 51      KTO:  640 180 531
  314.                
  315.                Vermerk: AFS Registrierung, Name & Adresse
  316.  
  317. Die Höhe der einmaligen Registrierung beläuft sich auf 20.-DM.
  318.  
  319. Mit der Registrierung erhält man dann ein ruhiges Gewissen und natürlich die 
  320. Vollversion, die einmal den Benutzernamen beinhaltet und zum anderen nicht mehr 
  321. mit der Tastaturabfrage nervt. Wenn das Geld auf meinem Konto überwiesen wurde, 
  322. schicke ich entweder eine Diskette an den Absender, oder über das Modem (nach 
  323. Vereibarung). Falls möglich, sollte mir der Registrierfreudige eine Bestätigung 
  324. über das Fido senden, damit ich weiß, das es auch der rechtmäßige Besitzer ist, 
  325. der mir das Geld geschickt hat. 
  326.  
  327. -----------------------------------------------------------------------------
  328. I  Michael Lührig                                      Antonienstr. 4       I
  329. I  UseNet/InterNet: luehrig@krypta.in-berlin.de        W-1000 Berlin 51,FRG I
  330. I  FidoNet        : 2:2403/37.4@Fidonet                                     I
  331. -----------------------------------------------------------------------------
  332.  
  333. Michael Lührig, am 31.10.1992 um 17:40 Uhr
  334.  
  335. Ende der Kommunikation... "click"
  336.  
  337.