Makale numarası: 257794 - Son Gözden Geçirme: 13 Temmuz 2004 Salı - Gözden geçirme: 2.2

Visual Basic ile ikili dosya erişimi nasıl kullanılır

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, bir ekin MSDN Yard?m?'nda "İkili dosya erişim kullanma" konusuna olarak tasarlanmıştır. Bu, bu konuda tartışılan yapılarına göre programlama bir örnek sağlar. Örnek kod rasgele erişim yöntemini kullanarak sabit uzunluklu kayıtlarının oluşan iki dosyalara gösterilmiştir ve değişken uzunluklu kayıtlarının ikili bir erişim yöntemi kullanarak dosyaları oluşur.

Daha fazla bilgi

Bu bir örnek oluşturmak için gereken adımları:

  1. Yeni bir standart exe DOSYASı Visual Basic projesi başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Proje menüsünde Proje için bir standart modül eklemek için Add Module ' ı seçin. Module1, varsayılan olarak oluşturulur.
  3. Proje menüsünde Proje Özellikleri</a1> iletişim kutusunu görüntülemek için Project1 Properties ' i seçin. Genel sekmesini seçin ve başlangıç nesne Sub Main için değiştirin.
  4. Module1 genel Tanımlamalar bölümüne aşağıdaki kodu ekleyin:
    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. Anlık pencereyi görüntülendiğinden emin olun. Yüklü değilse, Görünüm menüsünden seçmek gerekir.
  6. Projeyi çalıştırın ve sonuçları komut penceresi içinde görüntülendiğini unutmayın.

Referanslar

MSDN Yardım konu: "Kullanarak ikili dosya erişimi" aşağıdaki Web sitesinden edinilebilir:

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

Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbfileio kbhowto kbtophit KB257794 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:257794  (http://support.microsoft.com/kb/257794/en-us/ )