[Allegro] Trick 36: Umcodierung testen und im FLEX ausnutzen

Bernhard Eversberg ev at biblio.tu-bs.de
Fr Jan 19 13:54:02 CET 2007


Trick 36: Umcodierung testen und per FLEX ausnutzen

Aufgabe: Schnell mal eben prüfen, ob eine Umcodierung korrekt
          funktioniert.

Warum?  Im Index sieht man "mueller" statt "Müller". Das liegt daran,
         daß die Sonderzeichen über eine Tabelle umgewandelt werden.
         Auch in den Anzeige- und Exportparametern gibt es solche
         Tabellen. Darin können Fehler stecken oder unerwünschte
         Umwandlungen, die man ändern möchte. Jede Parameterdatei
         kann aber zwei Tabellen haben, die mit den p- bzw. q-
         Befehlen definiert werden. (Handbuch 10.2.4.1)

Methode 1 (schon lange existent): F7
---------
    In irgendeinem Datensatz ein Feld eingeben, in dem die fraglichen
    Sonderzeichen vorkommen. Dann F7. (Vorher speichern, wie bei DOS,
    ist nicht nötig!) Man sieht, was dabei rauskommt.
    In der Anzeige sieht man zudem, wie die Zeichen in den Display-
    parametern umgewandelt werden.
    Nachteil: An dieser Stelle muß man wissen, über welche der beiden
    Tabellen (p oder q) das betr. Feld für Index bzw. Anzeige
    umcodiert wird.


Methode 2 (NEU in V27): Der FLEX-Befehl  xcode
----------------------
    Befehle in dieser Form verwenden:

    x var "zeichenfolge"\xcode ab\mes

    Dabei gilt:
        zeichenfolge: diejenigen Zeichen, deren Umcodierung man
                      prüfen will
        a: einer dieser Werte:
           d : Display-Parameter
           x : Export-Parameter
           i : Index-Parameter

        b: einer dieser beiden Werte
           p : p-Tabelle (incl. der P-Befehle)
           q : q-Tabelle (incl. der Q-Befehle)

    Damit kann man nun jede Tabelle ganz gezielt und genau testen.

    UND: In eigenen FLEXen kann man die Tabellenumwandlung mit ihren
         vielen Möglichkeiten einsetzen, um Zeichenfolgen in jeder
         denkbaren Weise umzuwandeln. Bisher mußte man umständlich eine
         Parameterdatei mit einem Abschnitt machen, in dem dann die
         Umcodierung ausgeführt wurde. Dazu wurde der Befehl  dow wX
         gebraucht. Jetzt ist sowas viel leichter.

    Zum Ausprobieren geben Sie mal:

    x var "äöüßÄÖÜ"\xcode iq\mes
    und dann dasselbe mit ip .




Mehr Informationen über die Mailingliste Allegro