Cours 9 : Accès aux fichiers



Il existe trois mode d'accès aux fichiers dans Visual Basic 6 :
  1. Les fichiers à accès séquentiel ne peuvent ouvrir que des fichiers avec un contenu textuel.
  2. Les fichiers à accès direct sont formés en général de plusieurs enregistrements de longueur fixe.
  3. Les fichiers binaires sont tous les fichiers avec un contenu graphique.




1. Les fichiers à accès séquentiel


Il existe trois manières d'ouvrir un fichier texte :
  1. La 1ère manière est l'ouverture d'un fichier uniquement en lecture à l'aide de l'instruction Input.
  2. La 2ème manière est l'ouverture d'un fichier uniquement en écriture à l'aide de l'instruction Output.
  3. La dernière manière est l'ouverture d'un ficher en écriture aussi mais à la seule différence de la précédente manière, les nouvelles données sont entrées à la suite de l'enregistrement précédent. Pour cela, on utilise l'instruction Append.

Pour comprendre son fonctionnement, prenons un exemple. Lancez Visual Basic et ouvrez un nouveau projet. A la propriété Caption de la feuille Form1, affectez-lui la valeur "Bloc-note". Sur la feuille Form1, tracez un rectangle assez grand en utilisant le contrôle TextBox. Allez dans la boîte de propriété du contrôle TextBox et allez à sa propriété Text. Effacez-y le contenu. Ensuite, à sa propriété Multiline, choisissez True.
Maintenant, placez sur la feuille 4 contrôles CommandButton. Pour chacun des 4 contrôles, donnez leur, les valeurs "&Ouvrir", "&Effacer", "&Sauvegarder" et "&Quitter" à la propriété Caption et les valeurs "Ouvrir","Effacer", "Sauvegarder" et "Quitter" à la propriété Name.
Voici l'allure que la feuille form1 doit avoir à présent :

Feuille

Pour que ce bloc-note soit opérationnel, il faut définir des procédures qui gèrent les actions de chaque contrôle présent dans la feuille.
Double-cliquez sur le bouton de commande "Ouvrir" et écrivez la portion de code suivant :

Private Sub ouvrir_Click()
On Error Resume Next
Open "C:\Windows\Bureau\note.TXT" For Input As #1
retour = Chr$(13) + Chr$(10)
Line Input #1, texte
tout = texte
If Len(tout) <> 0 Then
While Not EOF(1)
Line Input #1, texte
tout = tout + retour + texte
Wend
End If
Close #1
End Sub

Explication :

Écrivons maintenant la portion de code correspondant au bouton "Sauvegarder" :

Private Sub Sauvegarder_Click()
Open "C:\Windows\Bureau\note.TXT" For Output As #1
Print #1, Text1.Text
Close #1
End Sub

Explication :

Passons à l'écriture de la procédure concernant le bouton "Effacer" :

Private Sub Effacer_Click()
Text1.Text = ""
Text1.SetFocus
End Sub
Explication :

Enfin, écrivons la portion de code correspondant à l'action du bouton "Quitter" :


Private Sub Quitter_Click()
End
End Sub
Explication :

Voilà, c'est tout. A présent, exécutez le programme et voyez ce que ça donne. Bien sûr, ce n'est qu'un simple petit programme mais en acquérant plus de connaissances par la suite, vous pourrez l'améliorer, lui ajouter de nouvelles fonctions, action,...




2. Les fichiers à accès direct


Les fichiers à accès direct contiennent des données contenues dans plusieurs enregistrements fixes. Pour déclarer un enregistrement, on utilise l'instruction Type pour créer un nouvel type de variable. Ensuite, On déclare une variable de ce type. Pour ouvrir un fichier à accès direct, on utilise l'instruction Open en indiquant la longueur de chaque enregistrement. Ainsi, un fichier à accès direct s'ouvre de la manière suivante : Open "C:\Windows\Bureau\fichier.adr" For Random As #1 Len = Len(Adr) où adr est le nom d'une variable de type prédéfini.
La lecture d'un enregistrement s'effectue de la manière suivante: Get #1, Numéro, adr.
L'écriture dans un fichier à accès direct s'effectue de la manière suivante: Put #1, Numéro, adr.




3. Les fichiers à accès binaire


Dans la mesure où le fonctionnement des fichiers à accès binaires est très proche de celui des fichiers à accès direct, reportez-vous aux fichiers à accès direct.

up
Cours précédent Cours suivant