Information Technology Reference
In-Depth Information
-le mode LDS ( linear data set ) est un mode d'accès qui efface la notion d'enregis-
trement. Le fichier se présente simplement comme une suite d'octets découpés en
paquets d'une taille de 4 096 octets. Cette organisation est similaire à celle mise
en œuvre par le système Unix.
Parallèlement à la méthode d'accès VSAM, le système 370 gère un autre mode
d'accès situé à mi-chemin entre le mode séquentiel et le mode direct. Dans cette
organisation appelée organisation partitionnée , le fichier est découpé en membres,
stockés les uns derrière les autres, selon leur ordre de création. Un index placé en
début de fichier pointe sur chacun des membres. Les enregistrements placés dans un
membre sont ensuite accédés de manière séquentielle.
14.1.3 Exemples
Manipulation de fichiers avec le langage Ada
Le langage Ada permet la définition de fichiers accessibles en mode séquentiel et en
mode direct.
Voici un premier programme illustrant la définition et la manipulation de deux
fichiers A et B, définis comme étant à accès séquentiel. Les fichiers contiennent des
enregistrements de type T_ENRG, composés de deux champs nom_eleve et note. Les
opérations OPEN et CREATE associent les fichiers logiques A et B à un fichier physique,
respectivement Notes_Eleves qui est ouvert en mode lecture (IN_FILE) et Copie_Eleves
qui est ouvert en mode écriture (OUT_FILE). Les enregistrements lus dans le fichier A
en mode séquentiel sont écrits dans le fichier B.
Fichier séquentiel
type T_ENRG is
-- définition de l'enregistrement
record
nom_eleve : string[30];
note : integer
end record;
-- instanciation du paquetage SEQUENTIAL_IO permettant l'utilisation du mode
séquentiel. Le paquetage contient les fonctions d'accès.
with SEQUENTIAL_IO;
package T_IO is new SEQUENTIAL_IO(ELEMENT_TYPE = > T_ENRG);
-- déclaration de deux fichiers A et B de type séquentiel
A, B : T_IO.FILE_TYPE; ENRG : T_ENRG;
BEGIN
-- ouverture du fichier A en mode lecture seule (IN_FILE)
T_IO.OPEN(A, IN_FILE, "Notes_Eleves");
-- ouverture du fichier B en mode écriture seule (OUT_FILE)
T_IO.CREATE(B, OUT_FILE, "Copie_Eleves");
-- lecture d'un enregistrement dans A et copie dans B jusqu'à atteindre
la fin de fichier pour A
 
Search WWH ::




Custom Search