[Allegro] Allegro-Rohdaten (*_1.xld)

Roland Henkel Roland.Henkel at sbb.spk-berlin.de
Do Jan 26 14:12:17 CET 2006


Hallo Herr Fischer,

wenn das script in Perl ist, könnten Sie so vorgehen
open(fp,$filename);
binmode(fp);

seek(fp, 4, 1)
while (<fp>) {
# Das erste Zeichen des eingelesenen Satzes ist das Steuerzeichen (z.B. 
0x09 für gelöschte Sätze)
# tue irgend etwas
# ggf. vorhandene Untersätze muss man auf geeignete Weise extra behandeln
seek(fp, 4,1);
}

Durch seek  wird die Datei auf die 4. Position relativ zur aktuellen 
Position gestellt.
Damit überspringen Sie die gefährlichen Satznummern


Viele Grüsse
R. Henkel


Thomas Fischer schrieb:
> Lieber Herr Eversberg, liebe Liste,
>
> ich möchte einige Daten aus Allegro mit einem Script bearbeiten und dafür der Einfachheit halber direkt auf die Daten zugreifen. Dabei tritt die Frage auf, wie ich einen Datensatz erkenne.
>
> Ich weiß (Nummern geben den ASCII-Wert an):
> - Jeder Datensatz steht (im Prinzip) in einer Zeile
> - Jeder Datensatz beginnt mit einer Kennnummer (01, 02 - 07 (?) oder 09)
> - Danach kommen vier Bytes interne Satznummer
>   (in der Online-Dokumentation unter
>    h ac0-0=Datenspeicherung und -struktur
>    steht das anders herum)
> - Jeder Datensatz endet mit 00
>
> Mein Problem sind die vier Bytes der internen Kennnummer. Steht darin z.B. ein 0D 0A, so entsteht ein Zeilenwechsel im Datensatz (darum oben "im Prinzip"). Und die interne Nummer 854529 sieht wie ein Wechsel zwischen zwei Datensätzen aus. Wird das intern einfach über die Länge ausgewertet, damit die Bruchstücke wieder zusammengeführt werden? Oder habe ich etwas übersehen?
>
> Mit freundlichen Grüßen
> Thomas Fischer
>
> --
> Dr. Thomas Fischer
> Niedersächsische Staats- und Universitätsbibliothek
> Historisches Gebäude
> Papendiek 14
> 37070 Göttingen
> Tel.: +49 551 39-3883
> und   +43 662 621498
>
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro
>
>
>   




Mehr Informationen über die Mailingliste Allegro