TP : Fichiers et Tableaux Séance N°2 Avril 2012
Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles
Révisons,,,
Program TP; uses CRT; Type Article = record Ref: Byte; Etat: boolean; Nom : string[20]; qte: Byte; Stck_min: Byte; Prix_uni: Word; Prix_total: Word; end; Var F: file of article ;
Begin Clrscr; Assign (F,stock.dat);
rewrite(F); For i:=1 to 20 do Begin Readln (art. Ref); art.etat := True ; Readln (art.nom); Readln (art. qte); Readln (art. Stck_min); Readln (art. Prix_uni); Readln (art. Prix_total); Write(F, art); End;
Seek(F,0); Read(F, art); art.Etat:= false; write(F,art); Seek(F,1); Read(F, art); art.Etat:= True; write(F,art); reset (F); while not eof(F) do begin read(F, art ); writeln(art.ref); end;
close(F); Readkey; end.
Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles 2 Ajout de trois articles à la fin du fichier
Taille dun fichier = nombre denregistrements Filesize (nom_logique);
Accès direct à un enregistrement dans un fichier Seek (nom_logique, expression_entière) Exemples: Seek(F, 0) Seek(F, FileSize(F)-1) Numéro denregistrement 1 er enregistrement Dernier enregistrement
Seek(F, FileSize(F)); For i:=1 to 3 do Begin Readln(art. Ref); art.etat := True; Readln(art.nom); Readln(art. qte); Readln(art. Stck_min); Readln(art. Prix_uni); Readln(art. Prix_total); Write(F, art); End;
Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles 2 Ajout de trois articles à la fin du fichier 3 Suppression du deuxième article
Suppression dun enregistrement La suppression se fait logiquement (Cas1) et physiquement (Cas2): Cas1: Par l'utilisation d'un champ dédié (exemple état (string) = '1' si présent ou '0' sinon) Cas2: Par l'utilisation d'un fichier (de même structure) pour copier les enregistrements de notre fichier sauf celui à supprimer.
Utilisons la première méthode Ajouter le champ Etat dans le record : Etat: Boolean; Ajouter linstruction suivante dans toutes les opérations dajout: art.Etat:= True; Ajouter à la fin du programme le bloc suivant: Seek(F,1); Read(F, art); art.Etat:= True; write(F,art);
Fin première partie,,, Evaluation next-Time !
Seek (F,1) ; Read(F, art); Art.etat := false; Write (F, art);
Exercice Supprimer le premier article Récupérer le deuxième Afficher les références de tous les articles