Dies ist die Anleitung zu File-Find FF.TTP ===================================================== File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ FF ist Public-Domain, also v”llig kostenlos und frei kopierbar, solange diese Anleitung (FF.TXT) unver„ndert mitkopiert wird. FF.TTP darf auch nicht ver„ndert (gepatcht) werden (mit einer einzigen, unten angegebenen Ausnahme). Die Dateien FF.TTP und FF.TXT drfen nur unter diesen Namen weitergegeben werden. Es ist verboten, seinen Freunden die jeweils neueste Version von File_Find vorzuenthalten. File_Find darf nicht mit Gewinn verkauft werden, ohne mich vorher zu fragen. Der Autor ist: Harald Lžen, Alte Dorfstraže 7, D-3071 Pennigsehl oder Harald Lžen, Trkstraže 4a, D-3000 Hannover 1, Tel.0511-18599 fr eilige Spender: (Stadtsparkasse Hannover, BLZ 25050180, Kontonr. 25693093) Er bedankt sich bei Uli Kiel und Kurt Stege, die ihm bei der Programm- entwicklung sehr geholfen haben. Kennen Sie das? 'Wo ist die verd... readme-Datei zum Programm ... ?' 'Ich finde die Datei 'driver.dat' nicht! - oder drv.sys ? - oder system.drv ? - oder ... ?' 'Welche Font-Dateien CMR??.* hat TeX ?' Aufgabe des Programms ist es, verlorengegangene (aber nicht gel”schte) Dateien auf Disketten oder auf der Festplatte wiederzufinden. Dazu erlaubt es, ganze Laufwerke nach Dateien zu durchsuchen, die entweder zu einem vorgegebenen Suchmuster passen oder dem vorgegebenem Namen „hnlich sind. Sehr bequem kann man eine Datei auf vielen Disketten suchen. Das Programm ist schnell, einfach und trotzdem komfortabel. Der Aufruf von FF ohne Parameter bewirkt die Ausgabe des folgenden Textes: File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ Usage: FF [file [drives] [-+/ VMQF 0123456789]] file file with wildcards (*, ?) drives list of drives (set of @ABCDEFGHIJKLMNOP) (@: all drives except A and B) (no drives: you'll be asked for) V verbose-option on (show size, date, time, attributes) M more-option off (pause between pages) Q quit-option on (quit after run) F free_option off (show free disc space) + turns the following options on - turns the following options off / toggles the following options 0...9 look for similar filenames 0 = equal ... 9 = wide similar For more information see file FF.TXT Enter commandline (or HELP, UNDO, ESC): Man k”nnte FF.TTP also auch in FF.TOS umbenennen und die Parameter dann nachtr„glich eintippen, aber FF.TTP kmmert sich natrlich beim Start um eine mitgegebene Kommandozeile. Auswertung und jeweilige Ergebnisse sind bei beiden Methoden gleich. Im Folgenden steht FF immer fr den Aufruf von FF.TTP von einer COMMAND- Shell bzw. fr den Doppelklick auf FF.TTP im Desktop. Dahinter stehen die Parameter und eine Erkl„rung dazu. Und hier nun das erste von vielen Beispielen: FF ; liefert obigen Text Das Suchmuster ist fast wie blich. ('?' steht fr ein beliebiges Zeichen; '*' steht fr beliebig viele beliebige Zeichen.) Ausnahme: Enth„lt das Suchmuster keinen Punkt und wird der normale Mustervergleich gew„hlt, dann wird automatisch ein '*' angeh„ngt. Insbesondere wird ein fehlendes Suchmuster durch einen '*' ersetzt, allerdings mit Warnung. Aužerdem k”nnen '?' und '*' auch fr den Punkt '.' stehen. Die Joker '*' und '?' sind intelligenter eingebaut, als man es vom Gemdos bzw. Desktop gewohnt ist. Name und Extension von Dateien bzw. Suchmuster werden zusammen als eine einzige Zeichenkette aufgefažt. Mehrere Joker und wilde Kombinationen von Jokern werden richtig verarbeitet. Hat das Suchmuster mehr als 39 Zeichen, dann wird der Rest abgehackt. Das verstandene Suchmuster wird ausgegeben, bevor die Suche losgeht. Wenn ein Fehler aufgetreten ist, dann kann man das korrigieren. FF read ; findet z.B. READ, READ.ME, README.TXT, ... FF read*.* ; identisch zum oberen Beispiel FF read.* ; findet READ, READ.ME, aber nicht README.TXT FF read. ; findet nur noch READ, und sonst nichts. FF *. ; findet alle Dateien (und Ordner) ohne Extension FF ?b*c.de ; findet ABC.DE oder ABXC.DE, aber nicht BC.DE FF a??d**f ; findet z.B. ABCD.EFG, AB.DF, A.CDF, ABCDEFG.HIJ ; aber nicht ABD.F Die Laufwerksliste enth„lt alle Laufwerke, auf denen die angegebene Datei gesucht werden soll. Dabei steht der Klammeraffe '@' fr alle existierenden Laufwerke von C bis P, also nicht fr Diskettenlaufwerke. Die Laufwerke werden dann in alphabetischer Reihenfolge h”chstens einmal durchsucht. Ist kein einziges Laufwerk angegeben, fragt das Programm nach einem Laufwerk und untersucht es sofort. Anschliežend k”nnen weitere Laufwerke angegeben werden, insbesondere kann man so immer neue Disketten in A durchsuchen! ('Ich habe 50 PD-Disketten und auf irgendeiner davon ...') Die verstandenen Laufwerke werden ausgegeben, bevor die Suche losgeht. Wenn ein Fehler aufgetreten ist, dann kann man das korrigieren. FF *.tos ; Sucht nach *.TOS-Dateien auf beliebigen Laufwerken FF *.tos egf ; Sucht auf E, F und G FF *.tos @ ; Sucht auf der gesamten Festplatte (und auf Ramdisks) FF *.tos a@ ; Sucht zus„tzlich auf A. Hinter der Laufwerksliste erwartet das Programm nur noch Optionen, durch die man die Arbeitsweise des Programms steuern kann. Optionen werden durch mindestens ein Leerzeichen oder durch eins der Zeichen '+', '-' oder '/' von vorangehenden Parametern getrennt. Optionen k”nnen auch angegeben werden, wenn keine Laufwerksliste da ist. Der gesamte Rest der Kommandozeile wird den Optionen zugerechnet. Jede Option wird durch einen Buchstaben (oder eine Ziffer) dargestellt. Durch die vorangehenden Zeichen '+', '-' oder '/' wird die Option jeweils an-, aus- bzw. umgeschaltet. Buchstaben ohne diese vorangehenden Zeichen schalten die Option ebenfalls um. Wenn eine Option in der Kommandozeile nicht auftaucht, dann gilt der Standard. Solange das Programm noch l„uft, wird jedesmal die alte Einstellung zum neuen Standard, die jeweils letzten Optionen bleiben also erhalten, wenn nichts anderes gewnscht wird. (Ob das ewig so bleibt, weiž ich noch nicht.) Auch mehrere Optionen gleichzeitig sind natrlich m”glich. Wenn eine Option zweimal gesetzt wird, gilt die erste Einstellung. Die verstandenen Optionen werden ausgegeben, bevor die Suche losgeht. Wenn ein Fehler aufgetreten ist, dann kann man das korrigieren. Es folgt die Bedeutung der Optionen und ihre Normaleinstellung: V (verbose) Zu jeder gefundenen Datei werden auch die Gr”že, das Datum, die Uhrzeit und die Attribute ausgegeben (+V). Sonst werden nur die gefundenen Dateien (mit Pfad und Name) ausgegeben (-V). Standard ist -V. Q (quit) Nach Programmende wird nicht auf eine Taste gewartet, wichtig z.B. fr Batch-Jobs einer Command-Shell (+Q). Sonst wird am Ende einer Suche nach neuen Parametern (oder HELP fr Hilfe oder ESC fr Quit) gefragt (-Q). Standard ist -Q. M (more) Nach jeder ausgegebenen Bildschirmseite wird auf eine Taste gewartet (oder ESC fr Abbruch) (+M). Sonst rollt alles ohne anzuhalten durch den Bildschirm (-M). Standard ist +M. F (free) Zeigt den freien und gesamten Speicherplatz der Laufwerke bzw. Partitionen an (+F). Sonst ist die Ausgabe etwas krzer (-F). Standard ist +F. 0, 1, ..., 9 Es wird nicht mehr nach genau passenden Dateinamen gesucht, sondern nur nach „hnlich lautenden Namen. Allerdings ist der Joker '*' anders implementiert; er wirkt nur wie ein '?'. (Siehe dazu c't 7/89, "Mustervergleich mit gewichteter Levenshtein-Distanz".) Dabei werden Buchstaben eingefgt, ersetzt oder gel”scht, was jeweils etwas kostet. Die maximal zul„ssigen Kosten werden hier angegeben (0-9). + Schaltet alle folgenden Optionen auf +, also an. - Schaltet alle folgenden Optionen auf -, also aus. / Schaltet alle folgenden Optionen um. Beispiele: FF *.tos cde +v ; Verbose-Output FF *.tos @ +vm-Q ; Verbose, More und kein Quit FF *.tos +v ; Option Verbose, aber keine Laufwerksliste FF *.tos a /m +v ; More umschalten, Verbose an FF *.tos a m +vm -v; More umschalten, Verbose an In der gesamten Kommandozeile gilt: Kleine Buchstaben werden vor der Auswertung in grože umgewandelt. Die maximale L„nge einer Eingabezeile ist auf 75 Zeichen beschr„nkt, ggf. wird abgehackt. Im Desktop darf der Programmname FF nicht mehr mit in die Parameterzeile geschrieben werden. FF sagOTam. -6 ; grOž- und kleInsCHrifT ist šBERALL egal. Das Programm gibt zur Kontrolle nochmal alle Parameter aus, so wie sie verstanden wurden. Bei Unregelm„žigkeiten gibt es eine Fehlermeldung und die M”glichkeit, die Suche abzubrechen und neue Eingaben zu machen. Man kann dann auch ganz abbrechen oder sich die Hilfeseite ansehen. Je nach Lage der Dinge sind folgende Tasten wirksam: Bei der Parametereingabe: 'Enter commandline (or HELP, UNDO, ESC):' HELP fr Hilfe UNDO, CURSOR-UP, CURSOR-DOWN nochmal die letzte Eingabe CTRL-C Programmende (exitcode = 0) ESC Programmende bei leerer Eingabe, sonst Eingabe l”schen BACKSPACE, DELETE, <--, --> die blichen Funktionstasten alles M”gliche als Eingabe Nach Fehlern in der Eingabe 'Continue (RETURN, SPACE) or Cancel (ESC, UNDO):' RETURN, SPACE mit angezeigten Parametern loslegen ESC, UNDO, CTRL-C neue Eingabe Bei '' ESC, UNDO, CTRL-C Abbruch und neue Eingabe sonst weiter Bei 'drive:' a-p, A-P Suche auf angegebenem Laufwerk sonst neue Eingabe Immer beim Durchrollen des Textes CTRL-S stop CTRL-Q weiter CTRL-C Programmende (exitcode = -32) Bei schweren Fehlern bricht das Programm die Suche automatisch ab, nachdem nochmal eine der unbeliebten Fehlermeldungen (TOS-Error...) ausgegeben wurde. Dann geht es weiter wie eben, d.h. mit einer neuen Eingabe. Eine Fehlermeldung kann man leicht erzeugen, wenn man die Diskette in A wechselt, w„hrend das Programm auf A sucht, aber gerade auf eine Taste wartet (). (Pfui! Das tut man nicht!) Bei der Žhnlichkeitssuche (Option 0 bis 9) wird folgender Algorithmus angewandt: Ein gefundener Dateiname kann ver„ndert werden, indem ein Zeichen eingefgt wird (kostet 4 Einheiten), ver„ndert wird (kostet 2 Einheiten) oder entfernt wird (kostet 1 Einheit), damit er zum Suchmuster wird. Das Ersetzten eines Zeichens zu einem '?' bzw. '*' kostet nichts. Die Kosten aller Ver„nderungen werden aufsummiert. Ist diese Summe nicht gr”žer als die als Option eingegebene Zahl, gilt der Dateiname als passend. Die Kosten fr diese Operationen k”nnen versuchsweise gepatcht werden (s.u.). FF readme -0 ; findet nur README, aber nicht README.TXT FF readme -4 ; findet z.B. README.ABC (4), aber nicht mehr ; READ_ME.TXT (5) oder gar READMY.TXT (6), ; findet aber wieder READ_ME (1) und REAME (4) FF readme -9 ; findet fast alles, z.B. BLOEDAME (8) FF sagotam.*** -4 ; findet SAGROTAN.PRG (3), aber nicht SAGROTAN.C (9) FF sagotam. -4 ; findet SAGROTAN.C (4), aber nicht SAGROTAN.PRG (6) FF sagotam. -6 ; findet beide. Das Programm liefert, wenn alles gutgeht, immer Pfade und Namen aller gefundenen zum Suchmuster passenden Dateien und Ordnern. Meistens entspricht die Reihenfolge der Ausgabe genau der Ordnerstruktur. Pfade drfen nicht l„nger sein als 200 Zeichen. Zus„tzlich wird folgendes ausgegeben: - wenn berhaupt etwas gefunden wurde: Anzahl der gefundenen Dateien (Ordner z„hlen nicht mit) Davon verbrauchter Speicherplatz in KByte (wieder ohne Ordner) - je nach Einstellung der Free-Option: Freier Speicherplatz auf dem Laufwerk in KByte (2 KByte mehr, als das dumme Gemdos glaubt) Gesamtspeicherplatz auf dem Laufwerk in KByte Diese Daten sind sowieso vorhanden und brauchen keinen zus„tzlichen Zeitaufwand (das langsame Dfree wird dazu nicht gebraucht). Wenn die Verbose-Option angeschaltet ist, dann wird viel mehr ausgegeben. In tabellarischer Form erh„lt man von den gefundenen Dateien und Ordnern: die Datei-Attribute DLRHSA, das Datum, die Uhrzeit, die L„nge oder , den Namen (mit Pfad). Die Attribute bedeuten folgendes: D Subdirectory (Ordner) L Label (Diskettenname) R Read only H Hidden S System A Archiv Wenn der Bildschirm nicht 80 Spalten hat, dann kann die Ausgabe etwas mižgestaltet aussehen oder zu weit durchrollen. Das ist aber harmlos und ich war zu faul, das zu „ndern. Es folgen Beispiele aus dem t„glichen Leben. Eingaben stehen in geschweiften Klammern. Was geh”rt auf Partition E alles zu File_Find? Aufruf: e:\ff\ff.ttp ff e File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ file: FF* drives: E options: +MF -VQ drive E: E:\FF.SHI E:\FF\ E:\FF\FF.DUP E:\FF\FF.C E:\FF\FF.O E:\FF\FF.LNK E:\FF\FF.TXT E:\FF\FF.TTP E:\FF\FF.SHI E:\FF\FF115.C E:\FF\FF115.TTP E:\FF\FFS.S E:\FF\FFS.DUP E:\FF\FFS.O 13 files found (181 KByte) 871 KByte free of 3981 KByte Enter commandline (or HELP, UNDO, ESC): {ESC} exit Im folgendem Beispiel ist etwas falsch: Aufruf: e:\ff\ff.ttp ff# c# #vv File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ illegal drives illegal options file: FF#* drives: C options: +VMF -Q Continue (RETURN, SPACE) or Cancel (UNDO, ESC)? {ESC} Cancel Enter commandline (or HELP, UNDO, ESC): {ESC} exit Beispiel fr interaktiven Modus und Levenshtein-Distanz: Aufruf: e:\ff\ff.ttp fxt 4 File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ file: FXT drives: ... options: +MF -VQ 4 drive: {A} drive A: A:\STAU\ A:\FF\ A:\FF\FF.O A:\FF\FF.TTP A:\FF\FF.C A:\FF\FF.TXT 5 files found (89 KByte) 544 KByte free of 793 KByte drive: {Diskettenwechsel und Eingabe: A} drive A: A:\FF\ A:\FF\FF.TTP A:\FF\FF.TXT 4 files found (37 KByte) 641 KByte free of 711 KByte drive: {SPACE} Enter commandline (or HELP, UNDO, ESC): {ESC} exit Und noch ein Beispiel. Dazu wurden kurzzeitig einige Attribute gesetzt, um das auch mal zu zeigen: Aufruf: e:\ff\ff.ttp ff eh +v File_Find Version 1.20, 25.02.1991, (c)90,91 by _H_L_ file: FF* drives: EH options: +VMF -Q drive E: 18.01.1990 01:49:12 3185 Byte E:\FF.SHI D 29.11.1989 19:04:18 E:\FF\ 18.01.1990 05:25:24 34892 Byte E:\FF\FF.DUP 18.01.1990 05:28:16 34760 Byte E:\FF\FF.C RHSA 18.01.1990 05:28:24 13490 Byte E:\FF\FF.O 15.01.1990 00:29:34 194 Byte E:\FF\FF.LNK 18.01.1990 14:29:56 15046 Byte E:\FF\FF.TXT 18.01.1990 05:28:50 14553 Byte E:\FF\FF.TTP 18.01.1990 01:49:12 3185 Byte E:\FF\FF.SHI 17.01.1990 19:20:48 29685 Byte E:\FF\FF115.C 17.01.1990 19:21:20 14125 Byte E:\FF\FF115.TTP 18.01.1990 00:28:02 6806 Byte E:\FF\FFS.S 18.01.1990 00:23:22 6806 Byte E:\FF\FFS.DUP 18.01.1990 00:28:10 760 Byte E:\FF\FFS.O 13 files found (180 KByte) 870 KByte free of 3979 KByte drive H: 18.01.1990 05:00:46 34737 Byte H:\AUTOSAVE\FF.C {SPACE} 18.01.1990 14:25:50 15054 Byte H:\AUTOSAVE\FF.TXT 16.01.1990 19:51:48 28827 Byte H:\AUTOSAVE\FF11X.C 18.01.1990 00:18:44 6717 Byte H:\AUTOSAVE\FFS.S 4 files found (85 KByte) 5083 KByte free of 7563 KByte Enter commandline (or HELP, UNDO, ESC): {ESC} exit Die Zeile mit erscheint nur auf dem Bildschirm, wenn die Seite voll ist oder wenn das Programm zuende ist. Sie wird nach dem n„chsten Tastendruck sofort wieder gel”scht. Hier folgt noch eine besondere Spielerei fr fortgeschrittene Verrckte: Auf Wunsch von UK und KS haben sich die Bedeutungen der Optionen mehrfach ge„ndert gegenber Version 0.xx. Einige Leute wollen eben immer ihren eigenen Standard haben und sind zu faul, ihn als Option einzutippen. Man kann es aber wohl nicht allen recht machen. - Kann man doch! - Der vorgegebene Standard, d.h. die Einstellungen bei Programmstart, sind einstellbar. Durch einen einfachen Patch kann man ihn umkehren. Das geht so: Lieblingsdiskettenmonitor laden, die Datei FF.TTP bearbeiten, nach der Zeichenkette '/F=' suchen (die steht ziemlich weit hinten) oder nach den Bytes '2F 46 3D', folgendes finden: '/F=+/V=-/M=+/Q=-/C=2/D=4/I=1/' (bzw. die Bytes '2F 46 3D 2B 2F 56 3D 2D 2F 4D 3D 2B 2F ... 3D 31 2F'); dann nach Wunsch „ndern und speichern. Die '+' Zeichen rechts von den Gleichheitszeichen schalten jeweils Free, Verbose, More und Quit ein, '-' und alles andere schalten diese Optionen standardm„žig aus. Die Ziffern 2, 4 und 1 geben die Kosten der Operationen bei der speziellen Žhnlichkeitssuche, die woanders erkl„rt wird, an. Dabei stehen C, D und I fr Ver„ndern (Change), Entfernen (Delete) und Einfgen (Insert) von Buchstaben. Erlaubt sind nur die Ziffern von 0 bis 9, alles andere stellt die Standardwerte /C=2/D=4/I=1/ ein. Jetzt reichts aber mit den Sonderwnschen. Wer jetzt noch was will, der soll doch ..@@##!&&&!!.. und kann mich ..%%$%&@@"!. Es folgen einige vage Andeutungen zur Arbeitsweise: Normalerweise ist die Ausgabe so sortiert, daž zun„chst ein evtl. passender Ordnername und dann die darin enthaltenen (passenden) Dateien ausgegeben werden. Es wird aber nicht wirklich sortiert, sondern die Reihenfolge der Directory-Eintr„ge gilt. Wenn ein Ordner mehr als einen Cluster lang ist, k”nnen sich aber theoretisch zun„chst ganz andere Dateien aus anderen Ordnern dazwischenmogeln, bevor der erste Ordner komplett durchsucht ist. Das Programm kmmert sich selbst um Directories und FATs und l„žt das Gemdos gr”žtenteils in Ruhe. Es merkt sich intern eine (modifizierte) FAT und immer genau einen Directorycluster. Um den Anfang von FAT2 und Root-Directory zu finden, verl„žt sich FF auf die Angaben im Bios- Parameter-Block. Ab Version 1.17 kommt FF auch mit 'Flexdisk' klar. In Version 1.18 wurden die Speicherverwaltung und der Umgang mit kaputten Disketten verbessert (falsche Clusternummern in Ordnern), aber nur etwas. In Version 1.19 wurden ein paar Fehler verbessert ('Fehler verbessern' - so'n Quatsch). Dazu wurden ein paar 'unsigned' spendiert. Soweit ich weiž, ist es noch nicht zu Datenverlusten durch dieses Programm gekommen. Das Programm schreibt nichts, sondern greift nur lesend auf alle Laufwerke zu. Ich hoffe auch, mit media-change klarzukommen. (Genau vor Getbpb() steht in etwa Fsfirst("A:\",0). Dadurch hat das Gemdos die M”glichkeit, einen media-change noch zu erkennen, bevor das Bios diese Information l”scht. Andererseits gibt es keinen Žrger mit dem 40-Ordner- Problem, da Fsfirst nichts findet und keinen Mll hinterl„žt. Das waren Tips von Andreas Kromke (KAOS) und ST-Computer-2/90.) Bisher funktioniert alles prima. Allerdings ist dies kein Programm, das die Strukturen der Laufwerke prft. Es geht von intakten FATs und Directory-Eintr„gen aus. Ringf”rmig verkettete Ordner oder anderer Unsinn auf Disketten oder Festplatten fhren zu Endlosschleifen oder schlimmstenfalls zu Bomben, aber das ist dann das geringste Problem. Der Algorithmus zum speziellen Mustervergleich (Option ) steht in c't 7/89, "Mustervergleich mit gewichteter Levenshtein-Distanz". Aus einer Spielerei damit ist dieses Programm berhaupt erst entstanden. Der normale Mustervergleich mit den Jokern '*' und '?' stammt von Uli, ebenso wie die Methode, die FAT und alle Ordner zu untersuchen. Beides geschieht nicht rekursiv, sondern schlau und schnell. Es wird sehr wenig Speicherplatz verbraucht. Den gr”žten Teil der Benutzeroberfl„che hat Kurt programmiert. Daher sind die Optionen auch so unberechenbar, d.h. man weiž eigentlich nie so genau, ob man sie ein- oder ausschaltet. Neuerdings (seit Version 1.20) wird die Wirkung daher in der Hilfeseite mit angegeben ('on' oder 'off'). Ich frage mich, ob ich eigentlich auch etwas gemacht habe, aužer dieser Anleitung. File_Find ist zweisprachig, englische Bedienung und deutsche Anleitung. Ich habe vergessen, warum das so ist; was soll's. Das Programm wurde entwickelt mit Turbo-C 2.03 von Borland/Heimsoeth und mit einer sagenhaft tollen Shell von Kurt Stege. Und nun die blichen letzten Worte einer Anleitung: M”ge das Programm allen Anwendern viel Freude und Nutzen bringen. Und beruhigen Sie Ihr Gewissen: Die Kontonummer oben kann da helfen... (Wer ganz lieb bettelt, kann vielleicht auch den Quelltext bekommen. Bisher habe ich mich immer noch zu sehr gesch„mt, um dieses Machwerk zu ver”ffent- lichen, aber wer unbedingt lernen will, wie man es nicht machen soll,...) Eine letzte Warnung zum Schluž: Es hat sich gezeigt, daž man File_Find immer dann besonders dringend braucht, wenn man es gerade gel”scht oder in den dunkelsten Winkel seiner PD-Sammlung verbannt hat. Jetzt sind Sie gefordert; ich warte auf reichlich Lob und Kritik. (Fehler bitte so ausfšhrlich wie m”glich beschreiben). Bis bald, _H_L_.