FileSystem.FilePut Yöntem

Tanım

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. F Daha fazla bilgi için bkz FileSystem. .

Aşırı Yüklemeler

Name Description
FilePut(Int32, Int64, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, String, Int64, Boolean)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Object, Object, Object)
Geçersiz.
Geçersiz.
Geçersiz.

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, ValueType, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Single, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Int32, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Array, Int64, Boolean, Boolean)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Double, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Decimal, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, DateTime, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Char, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Byte, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Boolean, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Int16, Int64)

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

FilePut(Int32, Int64, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, long Value, long RecordNumber = -1);
static member FilePut : int * int64 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Long, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Int64

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, String, Int64, Boolean)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FilePut : int * string * int64 * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As String, Optional RecordNumber As Long = -1, Optional StringIsFixedLength As Boolean = false)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
String

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

StringIsFixedLength
Boolean

Optional. Yalnızca dize yazarken uygulanır. Dosyaya dize için iki baytlık dize uzunluğu tanımlayıcısının yazılıp yazılmayacağını belirtir. Varsayılan değer: False.

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Object, Object, Object)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Dikkat

FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.

Dikkat

This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202

Dikkat

Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public:
 static void FilePut(System::Object ^ FileNumber, System::Object ^ Value, System::Object ^ RecordNumber);
[System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")]
public static void FilePut(object FileNumber, object Value, object RecordNumber);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut(object FileNumber, object Value, object RecordNumber);
[System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[<System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")>]
static member FilePut : obj * obj * obj -> unit
Public Sub FilePut (FileNumber As Object, Value As Object, RecordNumber As Object)
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)

Parametreler

FileNumber
Object

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Object

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Object

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Öznitelikler

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, ValueType, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")]
public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = -1);
public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = -1);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")>]
static member FilePut : int * ValueType * int64 -> unit
static member FilePut : int * ValueType * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As ValueType, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
ValueType

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Öznitelikler

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesindeRecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Single, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, float Value, long RecordNumber = -1);
static member FilePut : int * single * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Single, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Single

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Int32, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, int Value, long RecordNumber = -1);
static member FilePut : int * int * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Integer, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Int32

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Array, Int64, Boolean, Boolean)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")]
public static void FilePut(int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
public static void FilePut(int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")>]
static member FilePut : int * Array * int64 * bool * bool -> unit
static member FilePut : int * Array * int64 * bool * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Array

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

ArrayIsDynamic
Boolean

Optional. Yalnızca dizi yazarken uygulanır. Dizinin dinamik olarak ele alınıp alınmayacağını ve uzunluğu açıklayan dize için bir dizi tanımlayıcısı yazıp yazmayacağını belirtir.

StringIsFixedLength
Boolean

Optional. Yalnızca dize yazarken uygulanır. Dosyaya dize için iki baytlık dize uzunluğu tanımlayıcısının yazılıp yazılmayacağını belirtir. Varsayılan değer: False.

Öznitelikler

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Double, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, double Value, long RecordNumber = -1);
static member FilePut : int * double * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Double, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Double

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Decimal, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, decimal Value, long RecordNumber = -1);
static member FilePut : int * decimal * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Decimal, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Decimal

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, DateTime, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, DateTime Value, long RecordNumber = -1);
static member FilePut : int * DateTime * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As DateTime, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
DateTime

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Char, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, char Value, long RecordNumber = -1);
static member FilePut : int * char * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Char, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Char

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Byte, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, byte Value, long RecordNumber = -1);
static member FilePut : int * byte * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Byte, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Byte

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Boolean, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, bool Value, long RecordNumber = -1);
static member FilePut : int * bool * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Boolean, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Boolean

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayan VarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır

FilePut(Int32, Int16, Int64)

Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb
Kaynak:
FileSystem.vb

Bir değişkenden disk dosyasına veri yazar. Bu My özellik, dosya G/Ç işlemlerinde FilePutdaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. FileSystem.

public static void FilePut(int FileNumber, short Value, long RecordNumber = -1);
static member FilePut : int * int16 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Short, Optional RecordNumber As Long = -1)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası.

Value
Int16

Gerekli. Diske yazılan verileri içeren geçerli değişken adı.

RecordNumber
Int64

Optional. Yazma işleminin başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).

Özel durumlar

RecordNumber < 1 ve -1'e eşit değil.

Dosya modu geçersiz.

Örnekler

Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Dosyaya yapının Person beş kaydı yazılır.

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Açıklamalar

FilePutyalnızca ve Random modunda Binary geçerlidir.

ile FilePut yazılan veriler genellikle kullanılarak FileGetbir dosyadan okunur.

Bir dosyadaki ilk kayıt veya bayt 1 konumunda, ikinci kayıt veya bayt 2 konumundadır, vb. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki FilePut kayıt veya Seek bayt yazılır.

Bağımsız değişken, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler. FilePut bağımsız değişkeni Trueolduğunda uzunluk tanımlayıcısını yazmaz. ile StringIsFixedLengthkullanıyorsanız = TrueFilePut, ile FileGetde aynı işlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.

Rastgele Mod

Modda Random açılan dosyalar için aşağıdaki kurallar geçerlidir:

  • Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen küçükse, FilePut sonraki kayıtları kayıt uzunluğu sınırlarına yazar. Bir kaydın sonu ile sonraki kaydın başlangıcı arasındaki boşluk, dosya arabelleğinin mevcut içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemediğinden, kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleşmesi genellikle iyi bir fikirdir. Yazılan verilerin uzunluğu işlevin yan tümcesinde RecordLength belirtilen uzunluktan FileOpen büyükse, bir özel durum oluşturulur.

  • Yazılan değişken bir dizeyse, FilePut dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesi RecordLength tarafından belirtilen kayıt uzunluğu, dizenin FileOpen gerçek uzunluğundan en az iki bayt büyük olmalıdır.

  • Yazılan değişken sayısal bir tür içeren bir nesneyse, FilePut nesnesini tanımlayan VarType iki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayı FilePut içeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarak Integer tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdeki RecordLength parametresi tarafından FileOpen belirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt daha büyük olmalıdır.

  • Yazılan değişken bir dize içeren bir nesneyse, FilePut nesnesini tanımlayanVarType(8) iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizenin RecordLengthFileOpen gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresine True geçmeniz StringIsFixedLength gerekir ve okuduğunuz dize doğru uzunlukta olmalıdır.

  • Yazılan değişken bir diziyse, dizinin boyutu ve boyutları için tanımlayıcı yazıp yazmama seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümler, dosya tanımlayıcısını sabit boyutlu bir dizi için değil dinamik bir dizi için yazar. Visual Basic 2005 varsayılan olarak tanımlayıcıyı yazmaz. Tanımlayıcıyı yazmak için parametresini ArrayIsDynamic olarak Trueayarlayın. Diziyi yazarken, dizinin okunma biçimiyle eşleşmeniz gerekir; tanımlayıcı ile okunacaksa tanımlayıcıyı yazmanız gerekir. Tanımlayıcı, dizinin derecesini, boyutunu ve her derece için alt sınırları belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi, dizi diske yazıldığında 218 bayt gerektirir.

    Dim MyArray(4, 9) As Integer
    
  • Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse), FilePut yalnızca değişken verilerini yazar. İşlevdeki RecordLength yan tümcesi FileOpen tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.

  • FilePut her biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği, VBFixedString diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.

    Note

    Özniteliği tarafından VBFixedString belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,

İkili Mod

Modda Binary açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random çoğu uygulanır. Modda Binary açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random farklıdır:

  • RecordLength İşlevdeki yan tümcesinin FileOpen hiçbir etkisi yoktur. FilePut tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.

  • Yapıdaki FilePut bir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.

  • FilePut iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı, dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki deyimler 1 numaralı dosyaya 11 bayt yazar:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • işlevini kullanarak bir dosyaya FilePut yazmak için numaralandırmadan Write erişim gerekirFileIOPermissionAccess.

Ayrıca bkz.

Şunlara uygulanır