UNPACK |
Décompacter |
|---|---|
| Pascal | |
Syntaxe
| Procedure Unpack(z:alfa;Var a:array of char;i:integer-type); |
Paramètres
| Nom | Description |
|---|---|
| z | Ce paramètre permet d'indiquer la valeur alfa à décompresser. |
| a | Ce paramètre permet d'indiquer le tableau de caractères recevant le contenu décompressé. |
| i | Ce paramètre permet d'indiquer la position d'index dans le paramètre a. |
Description
Cette procédure permet de décompresser la valeur de type de données alfa dans les variables spécifiés.
Algorithme
|
MODULE UNPACK(TypeOriginal,TypeDécompressé) POUR CHAQUE champ dans TypeOriginal FAIRE Extraire le champ de TypeCompresse Restaurer le champ à son format original FIN POUR CHAQUE RETOURNE le TypeDécompressé avec les champs restaurés |
Remarques
- UNPACK est l'opposée de la procédure PACK. Elle sert à décompresser une valeur de type alfa vers un tableau de caractères. Cela permet de manipuler séparément chaque caractère d'une chaîne compacte.
- Le paramètre z représente la source de données de type alfa. Il s'agit en général d'une chaîne compacte, souvent utilisée pour l'économie mémoire. Ce format est ensuite redistribué dans le tableau de destination.
- Le tableau de caractères a est la cible de la décompression. Chaque élément du tableau reçoit un caractère issu de la variable z. Cela permet une récupération structurée et indexée des données.
- Le paramètre i précise la position de départ dans le tableau a. Les caractères de z seront recopiés dans a à partir de cet index. C'est utile pour placer les données dans une portion spécifique du tableau.
- UNPACK permet de convertir une donnée compacte en une forme plus exploitable. Elle est pratique pour accéder directement à chaque caractère d'une chaîne. Cela facilite l'analyse ou la modification de contenus textuels.
- Cette procédure est couramment utilisée dans des programmes anciens ou bas niveau. Elle optimise le traitement de chaînes fixes tout en gardant une flexibilité. Le type alfa est souvent limité à une taille prédéfinie.
- La procédure n'effectue pas de vérification sur la taille du tableau a. Il est donc essentiel de s'assurer que le tableau est assez grand pour contenir les données. Une erreur ici pourrait causer des comportements imprévisibles.
- UNPACK contribue à la gestion manuelle de la mémoire et des structures. Elle démontre la logique de manipulation fine des données typique du langage Pascal. Cette opération est essentielle dans les systèmes contraints ou les formats rigides.
Dernière mise à jour : Mercredi, le 10 avril 2019