FICHIER
Les fichiers sont absolument nécessaires lorsqu'on doit garder certaines informations lorsque le programme est terminé. Il existe de nombreuses routines pour manipuler les fichiers.Opération sur les fichiers
Copier un fichierFichier
Les fichiers sont absolument nécessaires lorsqu'on doit garder certaines informations lorsque le programme est terminé. Il existe de nombreuses routines pour manipuler les fichiers.Copier un fichier
Le premier paramètre est le nom du fichier à copier et le deuxième et le nom du fichier copié. Si le dernier paramètre est à false, le fichier sera écrasé s'il existe.copyfile('c:\test\1.tmp','d:\2.tmp',false);
Renommer un fichier
La fonction RenameFile sert à renommer un fichier. On inscrit l'ancien nom de fichier et ensuite le nouveau nom voulu functionRenameFile('ancien.c','nouveau.c');La fonction retourne true si l'opération a bien été réalisée.
Déplacer un fichier
La fonction movefile sert à déplacer un fichier, le premier paramètre est la source, le deuxième est la cible.movefile('d:\2.tmp','c:\1.tmp');
Effacer un fichier
Cette opération efface le fichier du disque et enlève son entré du disque.DeleteFile(NomDuFichier);Cette procédure retourne true si le fichier a été effacé avec succès.
On devrait demander confirmation avant d'effacer le fichier.
Trouver un fichier
Pour trouver un fichier, il existe 3 routines- FindFirst
- FindNext
- FindClose
FindNext: recherche la prochaine occurrence du fichier correspondant à l'appel de Find First.
FindClose: Libère la mémoire allouée par les précédentes routines.
On a avantage à utiliser la routine FileExists avec ces routines afin d'éviter les erreurs si le fichier n'existe pas.
Lorsqu'on trouve le fichier, on peut vérifier les attributs de celui-ci
Constant | Value | Descrition |
faReadOnly | $00000001 | Lecture seulement |
faHidden | $00000002 | Fichier caché |
faSysFile | $00000004 | Fichier système |
faVolumeID | $00000008 | Numéro de volume |
faDirectory | $00000010 | Répertoire |
faArchive | $00000020 | Archive |
faAnyFile | $0000003F | N'importe quel fichier |
Modifier les propriétés d'un fichier
Changer l'attribut d'un fichier, nécessite 3 opérations- Lecture
- Changement
- Configuration
Attr := FileGetAttr(txtNomFic.Text);On modifie ses attributs en ajoutant ou en diminuant son nombre
AttrsChoisie:=AttrsChoisie+ fahidden;On affecte les changements attribut au fichier
FileSetAttr(txtNomFic.Text, AttrsChoisie);
Le code source d'un programme permettant de modifier les attributs d'un fichier est disponible ici
Les types de fichiers en entrée/sortie
Lecture Ce type de fichiers comporte du texte tout simplement. L'utilisation d'une variable du type TextFile est nécessaire pour l'emploi d'un fichier texte. Il y a 4 étapes à la manipulation d'un fichier.var Fic:Textfile; //1. Déclaration begin AssignFile(Fic,'c:\autoexec.bat'); //2. Assignation //ou System.Assign(Fic,'c:\autoexec.bat'); //3. Ouverture du fichier reset(Fic); //en lecture rewrite(Fic); //en ecrire Append(Fic); //en ajout CloseFile(Fic); //4.fermeture du fichier //ou System.Close(Fic); end;
Lecture d'un fichier texte
On utilise la procédure ReadLn pour la lecture d'un fichier texte, elle lie fichier, ligne par ligne.var car:string; begin readln( Fic, car); end;Étant donné qu'un fichier n'est pas infini, on doit vérifier s'il n'est pas rendu en fin de fichier.
while not Eof(Fic) do readln( Fic, car);Finalement l'ouverture d'un fichier se ferait ainsi
var Fic:textfile; car:string; begin AssignFile( Fic, 'c:\autoexec.bat'); reset(Fic); try while not Eof(Fic) do readln(Fic,car); finally closefile(Fic); end;
Écriture
L'écriture dans un fichier texte se fait par l'emploi de la méthode rewrite.var Fic:textfile; car:string; begin assignfile(Fic,car); rewrite(Fic); Writeln(Fic,'Bienvenue dans le monde fabuleux de Delphi '); Writeln(Fic,'Vous venez d'écrire dans un fichier texte, bravo'); closefile(fic); end;
Les fichiers binaires
Nous utiliserons la classe TFileStream pour faciliter la manipulation des fichiers binaires. Cette classe offre de multiples fonctionnalités aux niveaux des entrées-sortiesCréation et ouverture de fichier
Valeur | Description |
fmCreate | Ouvre le fichier en écriture, s'il existe |
fmOpenRead | Ouvre le fichier en lecteur seulement |
fmOpenWrite | Ouvre le fichier en écriture seulement |
fmOpenReadWrite | Ouvre le fichier pour le modifier |
var fs: TFileStream;Crée une instance(variable) de TFileStream
fs := TFileStream.create('c:\test.txt',fmCreate or fmOpenWrite');Après ces deux opérations, nous pouvons écrire et lire dans le fichier
Boite de dialogue
Windows fournit plusieurs boîtes de dialogue que n'importe qu'elle programmeur peut aisément incorporer dans ses programmes. Nous allons nous attarder à celles utilisées pour ouvrir et sauvegarder un fichier.La méthode exécutée
On doit utiliser la méthode exécutée pour utiliser une boîte de dialogue, cette méthode permet de créer et d'afficher la boîte de dialogueIf openDialog1.Execute then
Ouverture d'un fichier
L'ouverture d'un fichier se fait en employant la propriété filenameIf openDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Ces deux lignes de code affectent le contenu d'un fichier choisi à un mémo
La sauvegarde d'un fichier se ferait par
If saveDialog1.Execute then Memo1.Lines.savetoFile(saveDialog1.FileName);
Ces deux lignes de code sauvegardent le contenu du mémo dans un fichier.
Propriété de Topendialog et Tsavedialog
Voici quelques propriétés de ces composants
Title
Donne le titre de la boîte de dialogue opendialog1.Title:='Ouverture';Filter
Extension de fichier admis pour ouvrir ou sauvegarder un fichier savedialog1.Filter:='Text files (*.txt)|*.TXT|Pascal files (*.pas)|*.PAS';InitialDir
Change le répertoire courant pour celui spécifié savedialog1.InitialDir:='c:\';Toutes les propriétés de ces composants peuvent être modifiées en mode création en sélectionnant le composant et en allant dans les propriétés qui nous intéressent dans l'inspecteur d'objet
Code source disponible ici.
Aucun commentaire:
Enregistrer un commentaire