Rätselhelfer V2.06 Bitte lesen Sie die Dokumentation vor der Nutzung dieses Programms! Achtung !!! Bevor Sie dieses Programm benutzen, sollten Sie einige Dinge wissen: 1.Dieses Programm ist KEIN Public Domain sondern Giftware. Es darf frei kopiert und genutzt werden, sofern alle Dateien im Originalzustand weitergegeben werden. Schicken Sie bitte eine Postkarte an den  Autor  . Ich würde gerne wissen, wie viele Leute mein Programm benutzen. Ich würde mich auch über ein kleines Geld- oder Sachgeschenk (es darf natürlich auch ein GROßES sein) freuen. 2.Benutzung auf eigene Gefahr! Bei der Entwicklung dieses Programms habe ich großen Wert auf die Vermeidung von Fehlern gelegt. Da das Programm in Assembler geschrieben wurde, kann ich aber keine Garantie für die fehlerfreie Funktion übernehmen. Ich übernehme keinerlei Haftung für erlittene Datenverluste oder andere Schäden jeglicher Art , die aus der korrekten oder fehler- haften Benutzung dieses Programms resultieren. Das Programm wurde auf folgenden Rechnern getestet: Rechner CPU ChipRAM FastRAM ß-Tester A 600 68000 2 MB --- Peter Krüger A 1200 68020 2 MB 4 MB Peter Krüger A 2000 68000 1 MB --- Stefan Kupfer A 2000 68030 1 MB 6 MB Volker Padur A 4000 68030 2 MB 4 MB Maik Solf 3.Das Datenfile wird in einem speziellen Format gespeichert und darf nur vom Rätselhelfer modifiziert werden! Um Fehlfunktionen des Programms durch das Laden eines defekten Brain-Files vorzubeugen, wird beim Laden eine Überprüfung der Struktur der Daten durchgeführt. Es ist aber dennoch möglich, daß vorhandene Fehler nicht erkannt werden und dadurch Fehl- funktionen auftreten. Was macht dieses Programm? Sind Sie auch ein Mensch, der gerne Kreuzworträtsel löst? Sie sitzen so da und Ihnen fällt dieser oder jener Begriff nicht ein. Wenn Sie keine Lust haben, den gesuchten Begriff nachzuschlagen, oder Ihnen die nötige Zeit dazu fehlt, so ist dieses Programm die beste Alternative. In Sekundenschnelle liefert Ihnen der Rätselhelfer viele der fehlenden Begriffe. Und die Bedienung ist kinderleicht: Im Hilfsmodus können Sie nach unbekannten Wörtern suchen und im Lernmodus können Sie dem Programm auch neue Wörter beibringen. Das Programm kennt über 16500 (!!!) verschiedene Begriffe , dabei waren von den zuletzt eingegebenen 586 Begriffen schon 526 bekannt, d.h.in ca. 90% aller Anfragen findet der Rätselhelfer eine Antwort. Das beiliegende Demo.brain umfaßt eine Auswahl von 1000 Begriffen. Das Programm wurde so konzipiert, daß sein Speicherplatzbedarf minimal ist, und die Geschwindigkeit der Abarbeitung selbst auf langsamen Computern mit einem 68000-Prozessor so groß ist,daß praktisch fast keine Wartezeiten auf- treten. Aus diesem Grund werden auch viele Abkürzungen in den Umschrei- bungen benutzt (z.B.: "zw." für zwischen; "gr." für griechisch usw.) und ähnliche Teile der Umschreibung zusammengesetzt, z.B.: "Fußglied,Glied am Fuß,Teil vom Fuß" wird zusammengesetzt zu "Teil v.Fußglied a.Fuß" Wie wird es installiert? Um das Programm zu installieren (sofern man davon sprechen kann), müssen Sie folgendes tun: 1.Kopieren Sie das Programm mit seinem Piktogramm in ein Verzeichnis Ihrer Wahl. 2.Kopieren Sie das Datenfile in ein Verzeichnis Ihrer Wahl,vorzugsweise zu- sammen mit dem Programm. 3.Kopieren Sie diese Hilfsdateien in ein Verzeichis Ihrer Wahl. 4.Nur für registrierte Benutzer: Kopieren Sie die Datei Rätsel.key in das Verzeichnis S: . Das war's auch schon. Wie startet man das Programm? Um dieses Programm nutzen zu können,benötigen Sie mindestens Kickstart2.0, die asl.library und die icon.library von Ihrer Workbench. (Und natürlich genug freien Speicher, um die Brain-Datei laden zu können!) Der Programmstart ist ganz leicht: 1.Programmstart in der Shell: Wechseln Sie mit CD in das Verzeichnis, in dem sich der Rätselhelfer be- findet. Geben Sie Rätselhelfer ein und drücken Sie Return. Der Rätsel- helfer öffnet in der Mitte des Workbenchscreens ein Fenster und einen Dateirequester, in dem Sie die Braindatei auswählen können, mit der Sie arbeiten möchten. Oder: Geben Sie hinter dem Programmnamen Rätselhelfer noch den Namen (eventuell mit vollständigem Pfad) der Braindatei an. Diese wird dann nach dem Start automatisch geladen. 2.Programmstart von der Workbench aus: Öffnen Sie auf der Workbench das Fenster, in dem sich der Rätselhelfer mit seinem Piktogramm befindet und doppelklicken Sie das Piktogramm. Das Programm wird gestartet und öffnet ein Fenster in der Mitte des Workbenchscreens. Sollte Ihnen eine andere Fensterposition besser gefal- len, so ändern Sie im Piktogramm die Zeile (Win_X=10) in Win_X=10 bzw. ersetzen Sie die 10 durch den Wert, der Ihnen gefällt. Mit der Zeile (Win_Y=10) ist das gleiche zu tun.Nach dem Speichern der geänderten Werte wird der Rätselhelfer sein Fenster beim Programmstart an der angegebenen Position öffnen. Ist der Eintrag Brainfile=Dateiname in den Tooltypes vorhanden, so wird die dort angegebene Datei automatisch geladen. Existiert die angegebene Datei nicht oder wurde gar keine Datei angege- ben, so wird ein Dateirequester geöffnet, in dem die Braindatei auszuwäh- len ist. Es ist nun auch möglich, das Dummyzeichen frei zu wählen. Dazu ist im Programmicon das gewünschte Dummyzeichen unter "Dummy=" anzugeben. Als Dummyzeichen sind alle Zeichen zugelassen, die keine Buchstaben dar- stellen (a-z,A-Z,ä,ö,ü,Ä,Ö,Ü,ß sind nicht zugelassen). Oder: Klicken Sie das Piktogramm des Rätselhelfers einmal an, halten Sie die Shift-Taste gedrückt und doppelklicken Sie das Piktogramm einer beliebi- gen Braindatei. Der Rätselhelfer wird gestartet und lädt automatisch die angeklickte Braindatei. Oder: Doppelklicken Sie das Piktogramm einer Braindatei. Der Rätselhelfer wird gestartet und lädt automatisch die doppelgeklickte Braindatei. (Das klappt zur Zeit nur dann richtig, wenn sich der Rätselhelfer im gleichen Verzeichnis wie die Braindatei befindet, befindet er sich nur im Suchpfad der Workbench, so wird die Fensterposition aus den Tool-Types und das eingestellte Dummyzeichen nicht erkannt !) Der Hilfsmodus Der Hilfsmodus dient zum Auffinden von Wörtern, die Sie nicht kennen, oder die Ihnen nicht mehr einfallen. Um einen Begriff zu suchen, geben Sie das Suchmuster in dem oberen Textgadget ein (die kürzere Box hinter "Wort:"). Dabei sind nur die Buchstaben a-z bzw. A-Z zulässig (Es können auch ä,ö,ü,Ä,Ö,Ü und ß eingege- ben werden, diese werden dann aber automatisch in AE,OE usw. umgewandelt). Noch leere Felder sind durch ein # bzw. das von Ihnen gewählte Dummy- zeichen aufzufüllen. Die Eingabe ist durch Return bzw. Enter abzuschließen. Ist die Eingabe korrekt, so werden alle Buchstaben in Großbuchstaben um- gewandelt und die Eingabebox für die Umschreibung aktiviert.(Falls das ein- gegebene Wort kein # enthält, so wird sofort danach gesucht!) Jetzt können Sie noch eine Umschreibung für den gesuchten Begriff eingeben. Diese Umschreibung sollte nur aus einem Wort oder einem Wortstamm bestehen, da die Umschreibung im Kreuzworträtsel nicht den exakt gleichen Wortlaut haben muß, wie im Datenfile des Programms. Wird keine Umschreibung eingege- ben, so werden alle Begriffe angezeigt, die zum Suchmuster passen; bei Eingabe einer Umschreibung nur jene, die zusätzlich die eingegebene Um- schreibung in ihrer Umschreibung enthalten. Bei der Prüfung der Umschrei- bung wird NICHT zwischen Groß- und Kleinschreibung unterschieden. Wurde ein passender Begriff gefunden, so startet ein Klick auf das Gadget Weiter die Suche nach dem nächsten Begriff. Durch einen Klick auf das Gadget Abbruch läßt sich die Suche abbrechen. (Wer hätte das gedacht?) Die gleiche Funktion wie das Gadget Weiter haben auch die Tasten W bzw. Return. Die Funktion des Gadgets Abbruch haben die Tasten A bzw. Esc. Der Lernmodus Der Lernmodus dient zur Eingabe neuer Begriffe und zur Änderung bzw. Ergänzung der Umschreibung schon bekannter Begriffe. Es ist zuerst das neue Wort im oberen Textgadget einzugeben (Das # ist jetzt natürlich nicht mehr zulässig, siehe auch  Hilfsmodus  ). Die Eingabe ist durch Drücken der Return- bzw. Entertaste abzuschließen. Nun wird der Begriff gesucht und mit seiner Umschreibung angezeigt (falls dieser Begriff schon bekannt sein sollte). Wenn vorhanden, wird die Umschreibung in das untere Textgadget übernommen, wo sie ergänzt, geändert oder neu eingegeben werden kann. Durch Drücken von Return/Enter bzw. Klicken auf das Gadget Weiter wird der Begriff in den aktuellen Datenspeicher übernommen. Wurde die Umschreibung des Begriffes vollständig gelöscht, so wird dieser Begriff aus dem aktuellen Datenspeicher gelöscht. Hierdurch ist es möglich, z.B. durch einen Tippfehler falsch eingegebene Begriffe wieder zu entfernen. Durch einen Klick auf das Gadget Abbruch wird der Begriff im aktuellen Datenspeicher nicht verändert. Die Umschreibung eines Begriffes kann maximal 256 Zeichen lang sein. Für die Ausgabe stehen 4 Zeilen mit je 64 Zeichen zur Verfügung.Es ist möglich, die Übersichtlichkeit zu erhöhen, indem durch das Einfügen von maximal 3 Backslashs ("\") ein Zeilenumbruch bei der Ausgabe erzeugt wird. Ist diese Darstellung aus Platzgründen nicht möglich, so wird die Umschreibung fort- laufend ausgegeben. Um eine Leerzeile in der Ausgabe zu erzeugen, sind zwei Backslashs hintereinander einzugeben. Ein Backslash am Zeilenanfang wird bei der Ausgabe ignoriert. (Siehe auch Beispiele) Nach Beendigung aller Eingaben sind die Daten abzuspeichern. Hierzu dient der Menüpunkt Daten speichern . Falls Sie das Speichern einmal vergessen haben sollten, so erinnert Sie das Programm vor dem Beenden noch daran. Beispiele für die Ausgabe Umschreibung: (im Textgadget ohne Anführungszeichen) "Zeile1\Zeile2" Ausgabe: Durch den \ wird die Ausgabe in der nächsten Zeile fortgesetzt. +----------------------------------------------------------------+ |Zeile1 | |Zeile2 | | | | | +----------------------------------------------------------------+ Umschreibung: "\Test" Ausgabe: Ein \ am Zeilenanfang wird ignoriert. +----------------------------------------------------------------+ |Test | | | | | | | +----------------------------------------------------------------+ Umschreibung: 64 Zeichen, dann ein \ . "1234567890123456789012345678901234567890123456789012345678901234\567890" Ausgabe: Nach 64 Zeichen wird eine neue Zeile begonnen, der \ am Anfang wird ignoriert, also keine Leerzeile. +----------------------------------------------------------------+ |1234567890123456789012345678901234567890123456789012345678901234| |567890 | | | | | +----------------------------------------------------------------+ Umschreibung: "Zeile1\\Zeile3" Ausgabe: Ein doppelter \ erzeugt bei der Ausgabe eine Leerzeile. +----------------------------------------------------------------+ |Zeile1 | | | |Zeile3 | | | +----------------------------------------------------------------+ Umschreibung: "Zeile1\\\Zeile4" Ausgabe: Von Zeile1 wird 3 Zeilen weiter unten (da 3 mal \) die Ausgabe fortgesetzt. +----------------------------------------------------------------+ |Zeile1 | | | | | |Zeile4 | +----------------------------------------------------------------+ Umschreibung: 64 Zeichen, dann ein \\\ . "1234567890123456789012345678901234567890123456789012345678901234\\\567890" Ausgabe: Nach 64 Zeichen wird eine neue Zeile begonnen, der \ am Anfang wird ignoriert, also nur 2 Leerzeilen. +----------------------------------------------------------------+ |1234567890123456789012345678901234567890123456789012345678901234| | | | | |567890 | +----------------------------------------------------------------+ Umschreibung: "Zeile1\Zeile2\Zeile3\Zeile4\Zeile5" Ausgabe: Es stehen nur 4 Zeilen für die Ausgabe zur Verfügung, also wird die Umschreibung nicht formatiert, sondern kontinuierlich ausge- geben. +----------------------------------------------------------------+ |Zeile1\Zeile2\Zeile3\Zeile4\Zeile5 | | | | | | | +----------------------------------------------------------------+ Autor dieses Programms ist: Peter Krüger Lerchenweg 12 38820 Halberstadt (Deutschland) email: pkrueger@hppool.cs.uni-magdeburg.de WWW: http://www.cs.uni-magdeburg.de/~pkrueger/pkrueger.html (Bitte schicken Sie eventuelle Geschenke, Fehlermitteilungen oder Verbes- serungsvorschläge an diese Adresse.) Die Geschichte des Rätselhelfers: + V1.0 (06.07.1993) Erste Umsetzung der Idee in ein Assembler-Programm. Ein- und Ausgabe er- folgen in einem CON:-Fenster. Es werden 2 Programme zum Editieren bzw. zum Helfen verwendet. Maximale Länge der Umschreibung sind 100 Byte. Die Daten werden als ASCII-Datei gespeichert. + V1.1 (12.11.1993) Es wird ein NEWCON:-Fenster verwendet. Zur Änderung einer vorhandenen Um- schreibung wird ein Textrequester der req.library verwendet. + V2.00 (irgendwann 1995 - es wurde sowieso andauernd was geändert) Es wird ein Intuition-Fenster verwendet. Die Funktionen Editieren und Hel- fen sind in einem Programm vereinigt. Die maximale Länge der Umschreibung wurde auf 255 Byte erhöht. Das Programm benutzt anstelle der req.library nun die asl.library und ist daher nur ab Kickstart 2.0 lauffähig. Das Suchen wurde durch die Benutzung eines internen Datenformats beschleunigt, aber das Laden und Speichern wurde durch die Umwandlung ASCII <--> intern deutlich langsamer. + V2.01 (03.05.1995) Die Daten werden nun nicht mehr als ASCII-Datei gespeichert, sondern als IFF-BRÄN-Datei. Es erfolgt eine Überprüfung der Struktur der Daten beim La- den. Die Daten werden nun im internen Format gespeichert. Dadurch wird be- sonders das Speichern erheblich schneller. Die Begriffe werden im Lernmodus nun am Anfang des Datenpuffers eingefügt. Dadurch werden diese dann im Hilfsmodus zuerst wiedergefunden und sehr lange nicht mehr eingegebene Begriffe erst zum Schluß. Das Programm erzeugt beim Speichern ein Piktogramm für das Brainfile, falls noch keines vorhanden ist. Es werden die Tooltypes, erweiterte Auswahl (Shift-Taste) und das Standart-Programm (Default-Tool) ausgewertet. In der Umschreibung können nun Steuerzeichen für den Zeilenumbruch ("\") verwendet werden. + V2.02 (21.10.1995) OpenWindowTagList wird anstelle von OpenWindow verwendet. Die Daten werden nun nach Länge sortiert gespeichert und innerhalb gleicher Länge alphabetisch sortiert. Dadurch konnte pro Eintrag 1 Byte eingespart werden und die Suchzeiten wurden merklich verkürzt. Durch die Sortierung entfällt im Lernmodus i.d.R. das häufige Umkopieren der Daten, was eine er- hebliche Geschwindigkeitssteigerung zur Folge hat. Die maximale Länge der Umschreibung wurde auf 256 Byte erhöht. Aufgrund der Änderungen mußte ein neues Speicherformat benutzt werden. Nach der Installation eines Keyfiles können beim Speichern die Daten gegen fremden Zugriff geschützt werden. (Nur der Besitzer des Keyfiles kann die Daten laden). Das Dummyzeichen kann frei gewählt werden. Die zur Suche benötigte Zeit wird gemessen und angezeigt. Zur Zeitmessung wird die Funktion DateStamp aus der dos.library verwendet, wodurch die Ge- nauigkeit der Zeitmessung auf ± 0.02 Sekunden beschränkt ist. Bei Eingabe von ä,ö,ü,Ä,Ö,Ü oder ß im Suchwort erfolgt eine Umwandlung in AE,OE,UE bzw. SS, sofern dabei die maximale Wortlänge nicht überschritten wird. + V2.03 (03.12.1995) Einige Routinen wurden optimiert bzw. durch neue ersetzt. + V2.04 (16.12.1995) Demo.brain wurde überarbeitet. Kleinere Fehler wurden behoben. + V2.05 (23.02.1996) Die Suchroutine wurde verbessert und dadurch ca. 7% schneller. Die Überprüfung der Datenstruktur des Brainfiles beim Laden wurde erweitert. + V2.06 (29.03.1996) Für die Textsuche wurde der Algorithmus "Naive Stringsuche" durch den "Boyer-Moore-Algorithmus" ersetzt. Der so erzielte Geschwindigkeitszuwachs ist stark von den Eingaben abhängig; bei Testmessungen wurden Werte von bis zu 25% ermittelt. Die Umwandlungsroutine von Klein- in Großbuchstaben wurde neu geschrieben, so daß es jetzt nicht mehr zur Verwechslung einiger Son- derzeichen (z.B. ^ und ~ ) kommt. Wie werde ich ein registrierter Nutzer ? Sie möchten sich registrieren lassen? Kein Problem! Schicken Sie einfach eine Schutzgebühr von 10,- DM an den Autor. Diese Schutzgebühr soll ein kleiner Ausgleich für die Arbeit sein, die ich in die Vervollständigung des Brainfiles gesteckt habe. ( Ich arbeite schon seit 1993 daran - und Ihr könnt mir glauben, daß es eine MENGE Arbeit ist.) Außerdem benötige ich Vor- und Zunamen sowie die vollständige Anschrift. Wer eine Internet-email-Adresse hat, der bekommt auf diesem Wege sein Key- file und die aktuellste Version des Brainfiles. Wer keine email-Adresse be- sitzt, muß mir eine (formatierte) 3.5"-Diskette sowie einen frankierten Rückumschlag mitschicken. Außerdem hätte ich gerne den PGP-Schlüssel (wenn vorhanden). Die Datei Rätsel.key ist in das Verzeichnis S: zu kopieren. Alle Dateien, die der Rätselhelfer von nun an speichert, können durch das Keyfile ge- schützt werden, wenn die Datei Rätsel.key beim Programmstart gefunden wurde. Wenn eine Datei im geschützten Format gespeichert wurde, so kann der Rätselhelfer diese nur dann wieder laden, wenn er das dazugehörige Keyfile beim Programmstart gefunden hat. Wurde eine geschützte Datei geladen, so wird diese bei erneutem Abspeichern automatisch im geschützten Format ge- speichert. Ach ja: Ich denke es versteht sich von selbst, daß die Key-/Brain-Files nicht wei- tergegeben werden dürfen. Die 10,- DM sollte jeder interessierte Nutzer schon übrig haben.