ID do artigo: 257794 - Última revisão: terça-feira, 13 de julho de 2004 - Revisão: 2.2

Como usar o acesso a arquivos binários com o Visual Basic

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Este artigo serve como um suplemento para o tópico "Usando binário acesso de arquivo" na Ajuda do MSDN. Ele fornece um exemplo de programação com base em estruturas discutidas nesse tópico. O código de exemplo demonstra como acessar os dois arquivos compostos de registros de comprimento fixo usando o método de acesso aleatório e arquivos composto de registros de comprimento variável usando o método de acesso binário.

Mais Informações

Passos para criar este exemplo:

  1. Inicie um novo projeto Visual Basic Standard EXE. O Form1 é criado por padrão.
  2. No menu Project , selecione Adicionar módulo para adicionar um módulo padrão para o projeto. Módulo1 será criado por padrão.
  3. No menu Project , selecione Propriedades de Projeto1 para exibir a caixa de diálogo Propriedades do projeto . Selecione a guia Geral e altere o objeto de inicialização para Sub Main .
  4. Adicione o seguinte código à seção General Declarations 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. Verifique se a janela imediata é exibida. Se não estiver, você precisará marcá-lo no menu Exibir .
  6. Executar o projeto e observe que os resultados são exibidos na janela imediata.

Referências

Tópico da Ajuda do MSDN: "Usando binário acesso de arquivo" está disponível no seguinte site:

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

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbfileio kbhowto kbtophit KB257794 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 257794  (http://support.microsoft.com/kb/257794/en-us/ )