Introduction
L'extension «.SWG» permet d'indiquer un fichier d'archive de code source en langage de programmation Pascal compressé.
Structure du fichier
Voici la structure d'information d'entête du fichier d'archive :
Déplacement | Taille | Description |
---|---|---|
0 | 1 octet | Ce champ permet d'indiquer la taille de l'entête |
1 | 1 octet | Ce champ permet d'indiquer la sommation de vérification de l'entête |
2 | 5 octets | Ce champ permet d'indiquer l'identificateur de type de compression |
7 | 4 octets | Ce champ permet d'indiquer la taille de l'archive compressé |
11 | 4 octets | Ce champ permet d'indiquer la taille de l'archive original |
15 | 4 octets | Ce champ permet d'indiquer la date et l'heure compactée |
19 | 2 octets | Ce champ permet d'indiquer les attributs et drapeaux du fichier |
21 | 4 octets | Ce champ permet d'indiquer la vérification CRC-32 du tampon. |
25 | 13 octets | Ce champ permet d'indiquer le nom du fichier SWAG sous forme d'une chaine de caractères de format Pascal, c'est-à-dire que le premier octet indique la longueur de la chaine de caractères. |
38 | 41 octets | Ce champ permet d'indiquer le sujet et la description SWAG sous forme d'une chaine de caractères de format Pascal, c'est-à-dire que le premier octet indique la longueur de la chaine de caractères. |
79 | 36 octets | Ce champ permet d'indiquer l'auteur ou la contribution SWAG sous forme d'une chaine de caractères de format Pascal, c'est-à-dire que le premier octet indique la longueur de la chaine de caractères. |
115 | 71 octets | Ce champ permet d'indiquer la clef de recherche, délimité par une virgule, du SWAG sous forme d'une chaine de caractères de format Pascal, c'est-à-dire que le premier octet indique la longueur de la chaine de caractères. |
186 | variable | Ce champ permet d'indiquer le nom du fichier (FileName) du SWAG sous forme d'une chaine de caractères de format Pascal, c'est-à-dire que le premier octet indique la longueur de la chaine de caractères. |
variable | 2 octets | Ce champ permet d'indiquer la valeur CRC 16-bits. Ce champ est immédiatement à la fin du nom de fichier SWAG (FileName). |
Exemple
Voici un exemple montrant la structure de ce format suivant en Turbo Pascal 7 :
- Type
- {Fichier compressé «SWAG» bibliothèque de fichier Pascal}
- SwagHeader=Record
- HeadSize:Byte; {Taille de l'entête}
- HeadChk:Byte; {Sommation de vérification de l'entête}
- HeadID:Array[1..5]of Char; {Identificateur de type de compression}
- NewSize:LongInt; {Taille compressée}
- OrigSize:LongInt; {Taille original}
- Time:LongInt; {Heure et date compactée}
- Attr:Word; {Attributs et drapeaux de fichier}
- BufCRC:LongInt; {Vérification CRC-32 du tampon }
- Swag:String[12]; {Nom du fichier SWAG}
- Subject:String[40]; {Sujet, description}
- Contrib:String[35]; {Auteur ou contribution}
- Keys:String[70]; {Clef de recherche, délimité par une virgule}
- FileName:String[79]; {Nom du fichier (longueur variable)}
- CRC:Word; {CRC 16-bit (immédiatement après «FName»)}
- End;
Dernière mise à jour : Mardi, le 24 juin 2014