Numéro d'article: 257794 - Dernière mise à jour: mardi 13 juillet 2004 - Version: 2.2

Comment faire pour utiliser des accès de fichier binaire avec Visual Basic

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.

Sommaire

Agrandir tout | Réduire tout

Résumé

Cet article est destiné comme un supplément à la rubrique «Utilisation d'accès fichier binaire» dans l'aide de MSDN. Il fournit un exemple de programmation en fonction des structures abordées dans cette rubrique. L'exemple de code montre comment accéder à ces deux fichiers composés d'enregistrements de longueur fixe à l'aide de la méthode d'accès Random et fichiers composé d'enregistrements de longueur variable à l'aide de la méthode d'accès binaire.

Plus d'informations

Étapes pour créer cet exemple :

  1. Démarrez un nouveau projet EXE Standard Visual Basic. Form1 est créé par défaut.
  2. Dans le menu projet, sélectionnez Ajouter un module pour ajouter un module standard au projet. Module1 est créé par défaut.
  3. Dans le menu projet, sélectionnez Propriétés Projet1 pour afficher la boîte de dialogue Propriétés du projet. Sélectionnez l'onglet Général et modifiez l'objet de démarrage Sub Main.
  4. Ajoutez le code suivant à la section déclarations générales de Module1 :
    Option Explicit
    ' define structure of a variable-length record
    Type Person_VariableLength
        ID               As Integer
        MonthlySalary    As Currency
        LastReviewDate   As Long
        FirstName        As String
        LastName         As String
        Title            As String
        ReviewComments   As String
    End Type
    
    ' define structure of a fixed-length record
    Type Person_FixedLength
        ID               As Integer
        MonthlySalary    As Currency
        LastReviewDate   As Long
        FirstName        As String * 15
        LastName         As String * 15
        Title            As String * 15
        ReviewComments   As String * 150
    End Type
    
    ' variables for sample data
    Private binSampleOne As Person_VariableLength
    Private binSampleTwo As Person_VariableLength
    Private randomSampleOne As Person_FixedLength
    Private randomSampleTwo As Person_FixedLength
    
    ' record number for use with random (fixed-length) file
    Private intRecNum As Integer
    
    Public Sub main()
        buildSampleRecords
        demonstrateBinary
        demonstrateRandom
    End Sub
    
    Private Function demonstrateBinary()
        ' open the file and write the records
        Open "c:\BINsample" For Binary As #1
        Put #1, , binSampleOne
        Put #1, , binSampleTwo
        Close #1
        
        ' open the file and read the records
        Open "c:\binSample" For Binary As #1
        Dim udtPerson As Person_VariableLength
        Do While Not EOF(1)
            Get #1, , udtPerson
            ' display selected values
            With udtPerson
                Debug.Print .FirstName
                Debug.Print .LastName
                Debug.Print .ReviewComments
            End With
        Loop
        Close #1
    End Function
    
    Private Function demonstrateRandom()
        ' open the file and write the records
        Dim recSize As Person_FixedLength
        Open "c:\Randomsample" For Random As #1 Len = Len(recSize)
        Put #1, 1, randomSampleOne
        Put #1, 2, randomSampleTwo
        Close #1
        
        'open the file and read the records
        Dim udtPerson As Person_FixedLength
        Open "c:\randomsample" For Random As #1 Len = Len(udtPerson)
        ' demonstrate random access capability by reading file backwards
        For intRecNum = 2 To 1 Step -1
            Get #1, intRecNum, udtPerson
            ' display selected values
            With udtPerson
                Debug.Print .FirstName
                Debug.Print .LastName
                Debug.Print .ReviewComments
            End With
        Next intRecNum
        Close #1
    End Function
    
    Private Sub buildSampleRecords()
    ' routine to build sample records
    ' note that populating the data of the User Defined Type is the
    ' same regardless of fixed or variable length members
       With binSampleOne
            .ID = 1
            .MonthlySalary = 50000
            .LastReviewDate = #2/2/2000#
            .FirstName = "Wilma"
            .LastName = "Flintstone"
            .Title = "Movie Star"
            .ReviewComments = "Contract renewed for sequel"
        End With
        With binSampleTwo
            .ID = 2
            .MonthlySalary = 50000
            .LastReviewDate = #2/2/2000#
            .FirstName = "Fred"
            .LastName = "Flintstone"
            .Title = "Movie Star"
            .ReviewComments = "Replace with Clint Eastwood for sequel"
        End With
        With randomSampleOne
            .ID = 1
            .MonthlySalary = 50000
            .LastReviewDate = #2/2/2000#
            .FirstName = "Wilma"
            .LastName = "Flintstone"
            .Title = "Movie Star"
            .ReviewComments = "Contract renewed for sequel"
        End With
        With randomSampleTwo
            .ID = 2
            .MonthlySalary = 50000
            .LastReviewDate = #2/2/2000#
            .FirstName = "Fred"
            .LastName = "Flintstone"
            .Title = "Movie Star"
            .ReviewComments = "Replace with Clint Eastwood for sequel"
        End With
    End Sub
    					
  5. Assurez-vous que la fenêtre exécution est affichée. S'il n'est pas le cas, vous devez sélectionner à partir du menu affichage.
  6. Exécutez le projet et notez que les résultats sont affichés dans la fenêtre exécution.

Références

Rubrique d'aide MSDN: «À l'aide d'Access fichier binaire» est disponible sur le site Web suivant :

http://msdn.microsoft.com/en-us/library/aa231223(VS.60).aspx (http://msdn.microsoft.com/en-us/library/aa231223(VS.60).aspx)

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 5.0 Édition initiation
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Mots-clés : 
kbmt kbfileio kbhowto kbtophit KB257794 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 257794  (http://support.microsoft.com/kb/257794/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.