[Allegro] Umstellung von altem Avanti auf den neuen

Thomas Berger ThB at Gymel.com
Mi Mär 1 01:16:12 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Allers,

ich glaube Sie hatten frueher am Tag schon die richtigen Antworten
gegeben, da wussten Sie aber noch nicht, dass es *Ihre* Frage sein
wuerde ;-)

> Bei der zweiten Datenbank aber
> 
> http://buch.goethe.de/cgi-bin/acwww25/gk01.pl?Ort=bar
> 
> (Adresse des Produktivservers; was ich im folgenden beschreibe und 
> beklage, läuft auf dem Test- und Entwicklungsserver, den ich hier 
> nicht anbieten kann) war ich recht glücklos: wenn ich die Suche nach 
> "Titel / Stichwort=brecht" mache, kommt folgendes unbefriedigende 
> Ergebnis heraus:
> 
> http://www.goethe.de/z/82/acwww25/ha/gk/1.htm
> (die Verweisungen sind nicht verfolgbar!)

ein "Ê" also...

<a href="gk01r.pl?recnums=21391ÊBenjamin, Walter: Tentativas sobre
Brecht (1998)
&la=de&Ort=bar" class="iconlink"></a>


> Nach ein paar Stunden war ich dann soweit, herausbekommen zu haben, 
> daß es dann ein vernünftiges Ergebnis gibt, nämlich
> 
> http://www.goethe.de/z/82/acwww25/ha/gk/2.htm
> (auch hier: die Verweisungen sind nicht verfolgbar!)
> 
> wenn ich in der o.apt die Zeile
> 
> o .127 202   ...
> 
> desaktiviere.

Das "Ê" hat den Windows-Code 202. Anscheinend ist also bei Ihnen
irgendwo ein DOS-127 ein wichtiger Trenner zwischen Satznummer und
Inhalt.

Der alte Avanti war uneinheitlicher in Bezug auf die Umcodierung,
so dass in gewissen Kontexten ein Zeichen 127 nicht umdodiert wurde.

Das betrifft die Zeilen
write internal "Zeichen127" short newline
in allegro.pl bzw. das nachfolgende
( $SatzNummer, $KurzTitell ) = split( "Zeichen127", $Z, 2 );

Es lohnt sich an dieser Stelle, den diversen Umcodierungen nachzugehen:

1a. im Windows-Zeichensatz
write "äöü" newline   => šÓÒ
1b. im Windows-Zeichensatz
switch coding
write "äöü" newline   => äöü

hingegen
2a. im Windows-Zeichensatz
#uxx "äöü"
write #uxx newline    => äöü
2b. im Windows-Zeichensatz
switch coding
#uxx "äöü"            => äöü
write #uxx newline

sowie
3a. im Windows-Zeichensatz
var "äöü" ; ins #uxx ; write #uxx newline  => äöü
3b. im Windows-Zeichensatz
switch coding
var "äöü" ; ins #uxx ; write #uxx newline  => äöü


Fazit:
direkte Strings "..." in write-Anweisungen unterliegen "switch coding"
und werden von avanti als im DOS-Zeichensatz aufgefasst, bei der
Ausgabe also via o-Tabelle umcodiert. In var-Anweisungen hingegen
werden sie zunaechst via o-Tabelle von Windows nach DOS gewandelt,
bei der anschliessenden Ausgabe dann wieder zurueck.

Reparatur: Die ganze Angelegenheit scheint mir in allegro.pl hoechst
krampfig geloest: Jeder Satz wird mit einem write-Befehl explizit
mit seiner Satznummer ausgegeben. Eigentlich gibt es den Befehl
"list recnum" hierfuer, der das Zeichen ":" als Trenner zwischen
Satznummer und Kurztitelzeile nutzt.
Wie dem auch sei: Sie koennen in der oben zititerten Konstruktion aus
allegro.pl jede beliebige Nicht-Ziffer als Trennzeichen nutzen,
vorzugsweise solche Zeichen, die nicht per o-Tabelle umcodiert werden.

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEBOfMhKFJT0F1FsoRArLaAJwNdzHFEYutRp8McK5UVPLBvfvZaQCfdgli
LSV3Q9WzEMKoe5SgXJ/2R1E=
=Rncj
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro