hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
les fichiers
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Enregistrements & fichiers
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Lun 30 Nov - 14:00 (2009)    Sujet du message: les fichiers Répondre en citant

PublicitéSupprimer les publicités ?
1. Déclaration

Pour
utiliser un ou des fichiers tout au long d'un programme, il faudra
l'identifier par une variable dont le type est fonction de
l'utilisation que l'on veut faire du fichier. Il existe trois types de
fichiers :

* Les fichiers textes (Text),
qui sont écrits au format texte (chaînes de cractères, nombres) dans
lesquels ont peut écrire et lire ligne par ligne ou à la file avec les
procédures Write(Ln) et Read(Ln). Chaque fin de ligne du fichier se
termine par les caractères 10 et 13 de la table ASCII qui signifient
respectivement retour chariot et passage à la ligne. Ces deux derniers
caractères sont transparent au programmeur. On pourra donc y écrire ou
y lire indifférament des chaînes ou des nombres, cela dépend du type
que l'on affecte à la variable passée en paramètre aux procédures
d'entrée/sorties (voir plus bas).
Note : S'il y a lieu de faire une
convertion nombre/chaîne, le compilateur le fait tout seul, par contre
si le type de la variable ne correspond pas avec la donnée lue dans le
fichier et qu'aucune convertion n'est possible (exemple : WriteLn(f,
x:Real); alors que le fichier ne contient que des lettres), alors cela
produit une erreur.
Syntaxe :
Code:
Var f : Text ;


* Les fichiers typés (File Of),
qui sont des fichiers écrits sur disque telles que les données se
présentent en mémoire. C'est-à-dire que la taille du fichier résultera
directement et exactement de la taille en mémoire qu'occupe telle ou
telle variable. Cela accrue la vitesse d'accès aux données du fichiers.
Mais le plus grand avantage c'est que l'on obtient ainsi des fichiers
parfaitement formatés, c'est-à-dire qu'on peut y lire et écrire
directement des variables de type structuré qui contiennent plusieurs
champs de données ( voir chap Type) sans avoir à se soucier des divers
champs qu'elles contiennent. Il va sans dire que ce type de fichier est
préférable à tous les autres.
Syntaxe :

Code:
Var f : File Of type ;
Exemple :
Var f : File Of Integer ;


* Les fichiers tout court ! (File),
qui sont des fichiers dont on ne connait pas le contenu. N'ayant aucune
information sur la structure des données, n'ayant aucune convertion à
faire, la lecture et son écriture en sont plus rapide. Mais sont
utilité est bien maigre : à part faire une simple copie d'un fichier
dans un autre...
Syntaxe :

Code:
Var f : File ;



2. Lecture, écriture

Avant
de travailler sur un fichier, il faut le déclarer en lui affectant une
variable qui servira à désigner le fichier tout au long du programme.
Assign s'applique à tous les types de fichiers (Text, File Of et File).
Syntaxe :

Code:
Assign ( variable d'appel , nom du fichier ) ;


Ensuite,
il faut renvoyer le pointeur au début du fichier pour pouvoir lire
(Text, File Of et File) ou écrire (File Of et File) à partir du début
du fichier. Attention, on ne peut pas écrire sur un Text avec Reset !
Syntaxe :
Code:
Reset ( variable d'appel ) ;


Il
est possible pour le type File uniquement, de spécifier la taille de
chaque bloc de donnée lu ou écrit sur le fichier, en rajoutant en
argument à Reset une variable (ou un nombre directement) de type Word
(entier) spécifiant cette taille en octet. Cela nécessite de connaître
la taille mémoire de chaque type de variables (voir chap IV "Différents
types de variables"). Par exemple cette taille vaudra 6 si on veut lire
des nombres réels (Real) ou bien 256 pour des chaînes de caractères
(String). Le fait que la variable taille soit de type Word implique que
sa valeur doit être comprise entre 0 et 65535. Par défaut, taille=128
octets.
Syntaxe :

Code:
Reset ( variable d'appel, taille ) ;


Pour
créer un fichier qui n'existe pas ou bien pour en effacer sont contenu,
on emploi ReWrite qui pemret d'effectuer des lectures (File Of et File)
et écritures (Text, File Of et File). Attention, on ne peut pas lire
sur un Text avec ReWrite !
Syntaxe :
Code:
Rewrite ( variable d'appel ) ;


Tout
comme Reset, ReWrite permet de spécifier une taille aux échanges de
données sur un File seulement (aussi bien en écriture qu'en lecture).
Avec ReWrite c'est le cas ou le fichier n'existe pas encore alors
qu'avec Reset c'est le cas ou il existe déjà.
Syntaxe :
Code:
Rewrite ( variable d'appel, taille) ;


Pour
lire le contenu d'une ligne d'un fichier Text ouvert, on utilise la
même instruction qui permet de lire la valeur d'une variable au clavier
à savoir ReadLn. Sera alors lue, la ou les variable(s) correspondant au
contenu de la ligne courante (celle pointée par le pointeur). Si la ou
les variable(s) n'étai(en)t pas de taille suffisament grande pour
contenir toutes les données de la ligne, alors l'exédent serait perdu.
Syntaxes :
Code:

ReadLn ( variable d'appel, variable ) ;
ReadLn ( variable d'appel, var1, var2, ... varN) ;


Pour écrire sur un fichier Text, il suffit d'employer la commande WriteLn.

Syntaxes :
Code:

WriteLn ( variable d'appel, variable ) ;
WriteLn ( variable d'appel, var1, var2, ... varN) ;


Les
procédures Read et Write s'utilisent respectivement de la même manière
que ReadLn et WriteLn mais s'appliquent aux File Of aussi bien qu'aux
Text.

Pour lire et écrire sur un File, il faut utiliser les procédures BlockRead et BlockWrite.
Syntaxes :
Code:

BlockRead ( f, variable, nbr ) ;
BlockRead ( f, variable, nbr, result ) ;
BlockWrite ( f, variable, nbr ) ;
BlockWrite ( f, variable, nbr, result ) ;


BlockRead
lit sur le fichier f de type File une variable qui contiendra un nombre
de bloc mémoire (dont la taille est définie par Reset ou ReWrite) égale
à nbr. La variable facultative result prend pour valeur le nombre de
bloc effectivement lu (car il peut y en avoir moins que prévu
initialement).

BlockWrite écrit sur le fichier f de type File
une variable sur un nombre de bloc mémoire égale à nbr. La variable
facultative result prend pour valeur le nombre de bloc effectivement
écrit (car il peut y en avoir plus à écrire que ne le permet
l'initialisation par Reset ou ReWrite). Dans le cas ou cette variable
result est ommise et qu'il est impossible d'écrire autant de blocs que
voulu, il est généré une erreur !

Note : Les variables nbr et result doivent être de type Word.

Il
est impératif de fermer les fichiers ouverts pendant un programme Turbo
Pascal avant de terminer le programme sous peine de voir les données
inscrites en son sein perdues.
Syntaxe :
Code:

Close ( variable d'appel ) ;


Il
est possible de rappeler un fichier Text en cours de programme même
s'il a déjà été refermé grâce à sa variable d'appel. Et alors la
position courante du curseur sera à la fin du fichier. Ne fonctionne
qu'en écriture et qu'avec un Text.
Syntaxe :

Code:
Append ( variable d'appel ) ;


La syntaxe Append est équivalente au bloc suivant :
Code:
Begin
Reset(variable d'appel) ;
Seek(variable d'appel, FileSize(variable d'appel)) ;
End ;
Code:
Program exemple12 ;
Uses crt, dos ;
Var f : text ;
nom : string ;
choix : char ;
Procedure lecture ;
Begin
Append (f) ;
Reset (f) ;
Readln (f, nom) ;
Writeln (nom) ;
End ;
BEGIN
Clrscr ;
Assign (f, 'init.txt') ;
Rewrite (f) ;
Write ('Entrez un nom d''utilisateur : ') ;
Readln (nom) ;
nom := 'Dernier utilisateur : ' + nom ;
Writeln (f, nom) ;
Close (f) ;
Write ('Voulez-vous lire le fichier init.txt ? [O/N] ') ;
Readln (choix) ;
If (choix='O') or (choix='o') then lecture ;
END.


Ce
programme exemple12 illustre les principales commandes qui permettent
de travailler sur des fichiers de type texte. Ici, le programme
réinitialise à chaque lancement le fichier init.txt et y inscrit une
valeur entrée par l'utilisateur (son nom, en l'occurrence). Il permet
également à l'utilisateur de lire le contenu du fichier (qui ne
contient qu'une seule ligne de texte).


 
Revenir en haut
Disdous


Hors ligne

Inscrit le: 22 Fév 2010
Messages: 52
Point(s): 52
Moyenne de points: 0

Posté le: Lun 8 Mar - 18:57 (2010)    Sujet du message: les fichiers Répondre en citant

Merci Smile
et si dans un exercice on nous dit que le fichier est déjà créé. Quoi faire?
perso j'ai recréer le fichier avec un Noter bien dans la feuille de l'examen:
NB: le fichier est déjà créé (depuis les énoncés). L'utilisation de Recréer(Fich) est utilisé pour effacer son contenue. 


dans les énoncés on nous a dit que le fichier est enregistrer dans c:\source.dat. je comprends pas pourquoi on nous donne des énoncés pas vraiment nécessaires... 
merci d'avance


 
Revenir en haut
bilelbenyahya


Hors ligne

Inscrit le: 23 Avr 2010
Messages: 3
Point(s): 4
Moyenne de points: 0

Posté le: Dim 25 Avr - 23:45 (2010)    Sujet du message: les fichiers Répondre en citant

si le fichier est déjà crée  alors il faut utiliser pour ouvrier et lire sont continue ou bien le modifie  le code: reset(variable d'appele)  ; 
exemple :procedure d'afichage ;
procedure aficher(var f:fichie);
 begin
  reset(f);
  while not (eof(f)) do
  begin
  read(f,e);
  with e do
   begin
    writeln('le nom est : ',nom );
    writeln('le preno m est: ', prenom);
    writeln('lage est : ',age);
    readln;  clrscr;
   end;
  end;
end;


 
Revenir en haut
ayachi


Hors ligne

Inscrit le: 16 Mai 2010
Messages: 1
Point(s): 1
Moyenne de points: 0

Posté le: Jeu 20 Mai - 16:12 (2010)    Sujet du message: les fichiers Répondre en citant

merci kari
Cé grand effort


 
Revenir en haut
7amdouch


Hors ligne

Inscrit le: 25 Mai 2010
Messages: 2
Point(s): 2
Moyenne de points: 0

Posté le: Mar 25 Mai - 19:01 (2010)    Sujet du message: les fichiers Répondre en citant

Okay Okay Okay Okay Okay Okay
mes amis s'il y a des problemes svp ????????????,


 
Revenir en haut
jijy


Hors ligne

Inscrit le: 06 Nov 2010
Messages: 3
Féminin
Point(s): 3
Moyenne de points: 0

Posté le: Dim 5 Déc - 19:41 (2010)    Sujet du message: les fichiers Répondre en citant

merci pour ce cour par ce que c'est très facile a comprendre  :-)

 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 17:20 (2016)    Sujet du message: les fichiers

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Enregistrements & fichiers Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation