[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