Graphiques
 
- Dégradé
- Animations BitBlt
- Animations Pic
- Contrôle Animation
- Défilement d'image
 
Interface
 
- Barre d'outils
- Barre de progression
- Clignotement
- Interface MDI
- Barre d'état
 
Texte & système
 
- Texte sur image
- Taille variable
- Informations système
 
Fichiers
 
- Grand fichier
- Choix de police
- Dictionnaire Word
- Listes
- Fichiers binaires
 
Souris et touches
 
- Curseur animé
- Touches
 

Les fichiers binaires
Vous savez déjà comment créer un fichier texte avec VisualBasic 6. Il existe une autre forme de fichier qui permet des opérations de lecture et d'écriture dans le fichier plus rapidement. Vous allez apprendre comment les créer dans cet exercice.
  1. Commencez par télécharger la feuille E16_F1xx.frm et le projet Ex_16xx.vbp. Téléchargez aussi le fichier E16_F1xx.Frx. Placez-les dans le même répertoire.

  2. Ouvrez le projet que vous venez de télécharger. L'interface de l'exercice est déjà prête.

  3. La première tâche consiste à déclarer un type de données. Ajoutez donc le code suivant dans la section Explicit du code.

'Déclaration du type livre contenant toutes les données d'une carte
'Indication du genre de variable et de la longueur du contenu de chacune

Private Type Livre
   Titre As String * 60
   Auteur As String * 60
   Edition As String * 60
   Année As String * 4
   Genre As String * 40
End Type

  1. Déclarez ensuite, toujours dans la section Explicit, une variable qui servira à garder le numéro d'enregistrement.

Dim V_enr As Integer
Dim V_Num As Integer

  1. Initialisez la variable à 1 dans l'événement Form_Load et attribuez-en la valeur à la propriété CAPTION de l'étiquette ET_No.

Private Sub Form_Load()
   V_enr = 1  
'Initialisation des  variables
   V_Num = 1
   ET_No.Caption = V_enr  
'Initialisation de la valeur de l'étiquette ET_No
End Sub

  1. Voici venu le temps de créer la procédure de sauvegarde de l'enregistrement. Ajoutez le code ci-dessous au bouton BO_Enregistrer.

Private Sub BO_Enregistrer_Click()
   Dim V_Liv As Livre  
'Initialisation d'une copie de l'enregistrement Livre
   If V_enr > 1 Then   'Calcul de la valeur de V_Num pour positionner la tête -->
   de lecture

      V_Num = Len(V_Liv) * V_enr
   Else
      V_Num = 1
   End If
   Open App.Path & "LIVRES.TXT" For Binary As #1 
'Ouverture du fichier
   'Initiation du contenu du type V_liv à l'aide des zones de texte

   V_Liv.Titre = ZT_Titre.Text   
   V_Liv.Auteur = ZT_Auteur.Text
   V_Liv.Edition = ZT_Édition.Text
   V_Liv.Année = ZT_Année.Text
   V_Liv.Genre = ZT_Genre.Text
   Put #1, V_Num, V_Liv  
'Écriture de l'enregistrement dans le fichier
   Close #1 
'Fermeture du fichier
End Sub

  1. Essayez votre programme. Entrez des données dans chacune des zones de texte, puis cliquez sur le bouton Enregistrer. Si vous désirez voir le résultat à ce moment-ci, ouvrez votre fichier avec le bloc-notes.

  2. Poursuivez votre travail en ajoutant le script suivant au bouton Récupérer.

Private Sub BO_Lire_Click()
   Dim V_Liv As Livre 
'Initialisation de la variable
   If V_enr > 1 Then  
'Positionnement de la tête de lecture du fichier
      V_Num = Len(V_Liv) * V_enr
   Else
      V_Num = 1
   End If
   Open App.Path & "LIVRES.TXT" For Binary As #1
   'Ouverture du fichier
   Get #1, V_Num, V_Liv  
'Lecture de l'enregistrement
   Close #1  
'Fermeture du fichier
   'Affichage de l'enregistrement dans les zones de texte

   ZT_Titre = V_Liv.Titre
   ZT_Auteur = V_Liv.Auteur
   ZT_Édition = V_Liv.Edition
   ZT_Année = V_Liv.Année
   ZT_Genre = V_Liv.Genre
End Sub

  1. Il ne reste que le bouton Nouvelle Carte à compléter. Voici le script qu'il doit contenir.

Private Sub BO_Carte_Click()
   Dim V_Liv As Livre 
'Déclaration de variable
   V_Liv.Titre = ""  
'Réinitialisation de l'enregistrement
   V_Liv.Auteur = ""
   V_Liv.Edition = ""
   V_Liv.Année = ""
   V_Liv.Genre = ""
   ZT_Titre.Text = ""  
'Vidage des zones de texte
   ZT_Auteur.Text = ""
   ZT_Édition.Text = ""
   ZT_Année.Text = ""
   ZT_Genre.Text = ""
   V_enr = V_enr + 1  
'Augmentation de la valeur de V_enr
   ET_No.Caption = V_enr 
'Affichage de V_enr
End Sub

  1. Sauvegardez votre programme en remplaçant les xx par vos initiales. Remplissez au moins 5 fiches de livres en cliquant sur le bouton Enregistrer à chaque fois. Refermez-le avant de le relancer. Cette fois, au lieu de cliquer sur le bouton Enregistrer, cliquez sur Récupérer.  

Application:

  • Comme il est plutôt désagréable d'avoir à fermer le programme pour passer en mode lecture, apportez-lui les corrections nécessaires pour qu'on puisse effectuer cette opération en restant dans le programme. Utilisez, par exemple,  une boîte InputBox pour demander le numéro d'enregistrement désiré, lequel sera affiché dans l'étiquette à cet effet. Vous pouvez aussi utiliser toute autre solution qui provoquera le même résultat. Sauvegardez le programme modifié sous le nom  Ex_16bxx.vbp.

 

Création d'aide
 
- À propos
- Astuce du jour
 
Cryptage
 
- Mot de passe
- Cryptage de fichier
 
Base de données
 
- Bibliothèque
 
Winsock
 
- Serveur de chat
- Client de chat 1
- Client de chat 2
 
Jeu d'arcade
 
- Interface
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
 
Navigateur WEB
 
- Interface 1
- Interface 2
- Interface 3
- Interface 4
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
© Copyright 2002 - Design : Webmasters-fr.net