Fortbildungskurs 13 Sonstige Fragen 13.3 Wir machen eine neue FLEX-Datei [Dieser Punkt war schon knapp in Lektion 9.2 angesprochen worden, jetzt machen wir das viel ausführlicher. Zur Wiederholung: h flexw geben] Nachdem wir nun einigermaßen wissen, was FLEX eigentlich ist, steht vielleicht mancher vor den Fragen: "Aber wie kann ich denn eine eigene FLEX-Datei machen, und wie kann ich sie dann in meine Arbeit integrieren?" Diese Lektion soll deshalb zeigen, Schritt für Schritt, wie man es anstellt. Um ein wirklich brauchbares Beispiel zu haben, nehmen wir mal diese Aufgabe: Ein FLEX soll die momentane Ergebnismenge durcharbeiten und dabei in jeden Datensatz ein Feld #31 mit einem neuen Schlagwort einfügen. Dabei kann es zwei Varianten geben: A) Jeder Satz bekommt dasselbe Schlagwort B) Bei jedem Satz wird der Nutzer nach einem neuen SW gefragt. Hier das Rezept, ausführen und testen am besten an der DemoBank! Die FLEXe sind hinterher auch an der eigenen Datenbank einsetzbar, wenn man die Datei im eigenen Startverzeichnis speichert, was automatisch der Fall ist. (Oder im FLEX- oder Programmverzeichnis, falls man dort das Recht hat.) Empfehlung: ins Datenverzeichnis legen, wenn der FLEX im Netz für alle ausführbar sein soll. 1. Neue Datei anlegen: h doku (Menü ?) Klicken auf "Neue Textdatei schreiben" (Mitte rechts) Anzeigefeld wird leer und breit. (Mit F11 schmal machen, wenn Sie wollen. Das hat keine Wirkung auf den Inhalt!) 2. In das Anzeigefeld hinein schreiben wir den Text des neuen FLEXes. Kopieren Sie die folgenden Zeilen von hier weg in das Anzeigefeld: (Alle Zeilen, die zwischen den Strichen stehen! Tip: Zuerst die Schreibmarke an den Anfang setzen, dann Shift-Taste runter und fest- halten, Pfeil-nach-unten-Taste so lange, bis man bei der unteren Zeile mit ---- angekommen ist, dann Strg+c - dann ist der Inhalt in der Zwischenablage! In das Anzeigefeld klicken und Strg+v.) SW-NEU.FLX : Neues Schlagwort in jeden Satz der Erg.Menge einfuegen 2005-03-14 Variante A: Dasselbe neue SW fuer alle Saetze Zuerst das gewuenschte neue Schlagwort abfragen: ask Wie soll das Schlagwort lauten? if "" end und in #uSW speichern ins #uSW Gibt es ueberhaupt eine Erg.Menge? Wenn nein -> :keine if empty jump keine Ersten Satz der Erg.Menge laden first Folgende Schleife wird fuer jeden Satz ausgefuehrt: :schleife Schlagwort in #31 einsetzen, aber wenn da schon was steht, mit "; " hinten anhaengen! if #31 var #31 "; " #uSW if not #31 var #uSW ins #31 und Satz wieder speichern: put naechsten Satz laden: next Wenn es noch einen gab, dann Sprung nach :schleife if yes jump schleife Sonst ist Schluss: jump schluss :keine Keine Erg.Menge, dann nur den momentanen Satz verarbeiten Neues SW an #31 anhaengen if #31 var #31 "; " #uSW if not #31 var #uSW ins #31 und Satz wieder speichern put :schluss Den momentanen Datensatz noch neu anzeigen show rec disp mes Erledigt! -------------------------------------------------------- --- >>> Variante B unten als Anhang! <<<--------------- 3. Diesen Text speichern Alt+s oder den Button [Speichern], dann den Namen sw-neu.flx im Feld "Dateiname" eingeben 4. Den FLEX ausprobieren Im Schreibfeld eingeben: X sw-neu Auf diese Weise kann man jede FLEX-Datei jederzeit starten! (Ob dabei immer was sinnvolles passiert, das kommt drauf an...) 5. Modifizieren (>>SuperTip!<<) Diese FLEX-Datei kann jetzt benutzt werden, um andere neue FLEXe zu bauen! Denn der Hauptteil, wo die Aktion eigentlich passiert, das sind nur die Zeilen: if #31 var #31 "; " #uSW if not #31 var #uSW ins #31 und Satz wieder speichern put Nur diese Zeilen braucht man zu ändern, wenn man eine andere Aktion mit einer Ergebnismenge machen will! Alles andere kann genauso übernommen werden. 6. Wie macht man es, das Modifizieren? So: h sw-neu.flx eingeben, Text erscheint Aenderungen ausfuehren Mit Alt+s wieder speichern, dabei den Namen ändern, wenn es eine neue Variante sein soll - die alte Datei wäre ja sonst weg! 7. FLEX auf einen Flip-Button legen a) Nur für die Dauer der Sitzung Eingeben: x flip 1&1: SW-NEU=X sw-neu Schon kann man mit Alt+1 oder Druck auf Button 1 den neuen FLEX starten b) Für die längere Dauer: Einbau in die Datei _start.flx Eingeben: h _start.flx Man sieht, daß es da schon acht Flip-Befehle gibt. Einen davon muß man sich aussuchen, den man nicht braucht und durch den eigenen ersetzen kann. Sagen wir, die Nummer 3. Dann ersetzen wir die Zeile "flip 3 ..." mit der folgenden; flip 3&3: SW-NEU=X sw-neu Auf dem Button 3 wird dann stehen: 3: SW-NEU und die 3 wird unterstrichen sein, d.h. mit ALt+3 ausloesbar. 8. Einbau in eine RTF-Hilfedatei 8.1. Dazu legen wir wieder eine neue Datei an, wie oben Punkt 1 8.2. Folgendes hineinschreiben: (was zwischen den Strichen steht) Eigenes Menü Neues Schlagwort einsetzen Jeden Datensatz der Ergebnismenge mit einem neuen Schlagwort versehen 8.3. Dann die drei Wörter "Neues Schlagwort einsetzen" markieren 8.4. Rechte Maustaste, Funktion "Flip" 8.5. Es wird eine Zeile unten erscheinen, die so aussieht; ?Neues Schlagwort einsetzen= 8.6. Hinter das = schreibt man X sw-neu 8.7. Mit Alt+s speichern, und zwar unter dem Namen e-menu.rtf 8.8. Aufrufen mit h e-menu Wenn der Flip nicht funktioniert: 8.9. Im Schreibfeld eingeben Dos edit e-menu.rtf Man sieht dann vielleicht eine Zeile, die so aussieht; \par \f0 ?Neues Schlagwort einsetzen=\f1 X e-menu Sie muß aber so aussehen: \par ?Neues Schlagwort einsetzen=X e-menu Nehmen Sie die überflüssigen Elemente \f0 und \f1 heraus, dann mit Alt+d und "Beenden" den Text wieder speichern. Wenn das geschafft ist, können Sie in Zukunft den neuen FLEX immer über dieses Menü aufrufen, also h e-menu eingeben, dann klicken. Das neue Menü ist eine RTF-Textdatei. Die können Sie mit weiteren Menüpunkten nach demselben Rezept immer weiter ausbauen: 8.10. h e-menu.rtf eingeben (also mit .rtf) Dann sieht man auch die Flip-Zeilen mit dem ? am Anfang, die man nicht sieht, wenn man nur h e-menu eingibt 8.11. Neue Menüpunkte einbauen 8.12. Schritte 3.-6. für jeden neuen Menüpunkt ausführen 8.13. Schritte 7.-9. zum Testen ausführen Und jetzt wollen Sie dasselbe machen, aber nicht mit #31, sondern mit einer anderen Kategorie? Das wäre eine gute Übung! (siehe Punkt 6.) ANHANG ------ Variante B: Suum cuique : Jedem Satz sein eigenes Schlagwort SW-NEUB.FLX : Neues Schlagwort in jeden Satz der Erg.Menge einfuegen 2005-03-14 Variante B: Anderes SW fuer jeden Satz Gibt es ueberhaupt eine Erg.Menge? Wenn nein -> :keine if empty jump keine Ersten Satz der Erg.Menge laden first Folgende Schleife wird fuer jeden Satz ausgefuehrt: :schleife Den Satz anzeigen sho rec disp Das gewuenschte neue Schlagwort abfragen: (Wenn #uSW schon belegt, erscheint es als Vorgabe) ask Wie soll das Schlagwort fuer diesen Satz lauten?=#uSW if "" end und in Hilfsvariable #uSW einfuegen ins #uSW Schlagwort in #31 einsetzen, aber wenn #31 schon besetzt, dann das neue hinten mit "; " anhaengen if #31 var #31 "; " #uSW if not #31 var #uSW ins #31 und Satz wieder speichern: put naechsten Satz laden: next Wenn es noch einen gab, dann Sprung nach :schleife if yes jump schleife Sonst ist Schluss: jump schluss :keine Das gewuenschte neue Schlagwort abfragen: ask Wie soll das Schlagwort fuer diesen Satz lauten?=#uSW if "" end und in #uSW speichern ins #uSW dann an #31 anhaengen if #31 var #31 "; " #uSW if not #31 var #uSW ins #31 und Satz wieder speichern put :schluss Den momentanen (also letzten) Datensatz noch neu anzeigen show rec disp mes Erledigt! Wenn man beide FLEXe braucht, muß man ihnen natürlich verschiedene Namen geben. Und in den Punkten 7. und 8. jeweils den richtigen Namen verwenden. Übung: Denken Sie sich weitere Varianten aus! Z.B., eine Kategorie zu beseitigen oder ihr eine andere Nummer zu geben. >>SonderTip: Das erste Wort einer FLEX-Zeile ist immer ein Befehlswort (Ausnahmen: Sprungziele! Die fangen mit : an. Und die eingerückten Zeilen sind nur Kommentare.) Um zu einem Befehl die Doku zu finden: h xa geben und den Befehl auf der Liste anklicken. (Befehlswörter sind oft verkürzt auf die ersten drei oder vier Buchstaben.) |