AW: o.*pt

Thomas Berger ThB at gymel.com
Do Mär 20 18:06:36 CET 2003


Lieber Herr Eversberg, liebe Liste,

> Folgender Job an der avanti-Demodatenbank demonstriert, dass die (implizite)
> Umcodierung mittels der o-Tabelle beim "write"-Befehl *falschherum* angewandt
> wird:
> 
> >>>
> find TIT "anlae?"
> get first
> // nicht korrekt: Bringt falsche Windows-Codierung
> write #20 newline
> // konsistent: Bringt ostwest-Codierung
> switch coding
> write #20 newline
> <<<
> 
> WIE sollen wir es denn sinnvollerweise aendern, damit existierende Anwendungen
> dann nicht entgleisen?

na, richtigrum halt, so wie bei a99: 

write #20 newline

muss im einen Coding-Modus ("aus") ostwest oder was auch
immer im Datensatz steht bringen, im anderen Coding-Modus
muss es die Umcodierung *von Datenbank nach Windows*
bringen, also die o.apt "vorwaerts". Derzeit ist es
"falschrum", d.h. mit eingeschaltetem "coding" wird
ein DOS-Umlaut aus dem Datensatz unter der absurden Annahme, 
es waere ein Windows-Zeichen "nach DOS" transformiert, das
Ergebnis ist also etwas, das ich im avanti-Client unter 
doppelter(!) Anwendung von o.apt auf das gewuenschte trimmen 
muesste: Wer sollte soetwas brauchen koennen?

Vor einigen Jahren uebrigens wurde das Default fuer
"coding" von "aus" auf "an" geaendert, existierende
Anwendungen sind vermutlich bis heute entgleist, ohne
dass es jemanden sonderlich gestoert haette.

Ich stelle mir einen avanti-Job wie das Schreibfeld von
a99 vor: Wenn ich dort hineinschreibe (also Windows-codiert)
write "äöü:" #20 newline
dann will ich im Normalfall (o.apt-Umcodierung ist "an")
1.) "meine" äöü so sehen, wie eingegeben
2.) "äöü" aus #20 in derselben Form sehen wie die aus dem CSTRING.

Das sollte funktionieren, wenn 
a) der gesamte Job implizit von allegro-windows nach allegro-OSTWEST
   konvertiert wird (Variante: zeilenweise unter Beruecksichtigung
   des jeweils aktuellen "coding"-Wertes, Vorsicht aber bei
   jump-Befehlen!)
b) wie "normal" Datenbankinhalte standardmaessig von DOS nach Windows
   konvertiert werden oder (coding "aus") unveraendert bleiben.

Vorschlag:
Als Ergaenzung von "switch coding", das ja wie ein Schalter
funktiniert, explizite Setzungen "switch coding 0" und
"switch coding 1" (default) erlauben.

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro