FileSystem.FilePut Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
| FilePut(Int32, String, Int64, Boolean) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Object, Object, Object) |
Geçersiz.
Geçersiz.
Geçersiz.
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, ValueType, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Single, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Int32, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Array, Int64, Boolean, Boolean) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Double, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Decimal, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, DateTime, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Char, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Byte, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Boolean, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
| FilePut(Int32, Int16, Int64) |
Bir değişkenden disk dosyasına veri yazar. Bu |
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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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ümcesinde
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic
Ş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
RecordLengthbelirtilen uzunluktanFileOpenküçükse,FilePutsonraki 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ümcesindeRecordLengthbelirtilen uzunluktanFileOpenbüyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePutdize 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ümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, dizeninFileOpengerç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,
FilePutnesnesini tanımlayanVarTypeiki bayt yazar ve sonra değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (VarType(3)) olarakIntegertanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiRecordLengthparametresi tarafındanFileOpenbelirtilen 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,
FilePutnesnesini 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, dizeninRecordLengthFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineTruegeçmenizStringIsFixedLengthgerekir 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
ArrayIsDynamicolarakTrueayarlayı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). İşlevdekiRecordLengthyan tümcesiFileOpentarafı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 IntegerYazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiRecordLengthyan tümcesiFileOpentarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePuther biri ayrı ayrı yazılmış gibi yapıların öğelerini yazar, ancak öğeler arasında doldurma yoktur. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Note
Özniteliği tarafından
VBFixedStringbelirtilenden 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ümcesininFileOpenhiçbir etkisi yoktur.FilePuttüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePutbir dizi dışındaki herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıştır.FilePutiki 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
FilePutyazmak için numaralandırmadanWriteerişim gerekirFileIOPermissionAccess.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
Visual Basic