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 gelen veriyi disk dosyasına 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
| FilePut(Int32, Int64, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, String, Int64, Boolean) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Object, Object, Object) |
Geçersiz.
Geçersiz.
Geçersiz.
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, ValueType, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Single, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Int32, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Array, Int64, Boolean, Boolean) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Double, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Decimal, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, DateTime, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Char, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Byte, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Boolean, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
| FilePut(Int32, Int16, Int64) |
Bir değişkenden gelen veriyi disk dosyasına yazar. Bu |
FilePut(Int32, Int64, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Int64
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlev tarafından işaret edilen sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız değişkeni, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, ile aynı FileGetişlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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 parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 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ğil),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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 açılan dosyalar için aşağıdaki kurallar, Binary 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ışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePutiki baytlık uzunluk tanımlayıcısı olmadan yapıların öğeleri olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, String, Int64, Boolean)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- String
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
- StringIsFixedLength
- Boolean
İsteğe bağlı. Yalnızca dize yazarken geçerlidir. 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ğildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlev tarafından işaret edilen sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız değişkeni, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, ile aynı FileGetişlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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 parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 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ğil),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Object, Object, Object)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
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
FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.
Dikkat
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
Bir değişkenden gelen veriyi disk dosyasına 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("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("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("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("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("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("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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Object
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Object
İsteğe bağlı. Yazmanın 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ğildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, ValueType, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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, ValueType Value, long RecordNumber = -1);
static member FilePut : int * ValueType * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As ValueType, Optional RecordNumber As Long = -1)
Parametreler
- FileNumber
- Int32
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- ValueType
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Single, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Single
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Int32, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Int32
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlev tarafından işaret edilen sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız değişkeni, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, ile aynı FileGetişlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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 parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 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ğil),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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 açılan dosyalar için aşağıdaki kurallar, Binary 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ışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePutiki baytlık uzunluk tanımlayıcısı olmadan yapıların öğeleri olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Array, Int64, Boolean, Boolean)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Array
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
- ArrayIsDynamic
- Boolean
İsteğe bağlı. Yalnızca dizi yazarken geçerlidir. Dizinin dinamik olarak kabul edilip edilmeyeceğini ve uzunluğu açıklayan dize için bir dizi tanımlayıcısı yazıp yazmayacağını belirtir.
- StringIsFixedLength
- Boolean
İsteğe bağlı. Yalnızca dize yazarken geçerlidir. 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ğildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlev tarafından işaret edilen sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız değişkeni, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, ile aynı FileGetişlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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 parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 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ğil),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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 açılan dosyalar için aşağıdaki kurallar, Binary 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ışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePutiki baytlık uzunluk tanımlayıcısı olmadan yapıların öğeleri olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Double, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Double
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlev tarafından işaret edilen sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız değişkeni, StringIsFixedLength işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, ile aynı FileGetişlemi yapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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 parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 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ğil),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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 açılan dosyalar için aşağıdaki kurallar, Binary 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ışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePutiki baytlık uzunluk tanımlayıcısı olmadan yapıların öğeleri olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Decimal, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Decimal
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya veri yazmak için işlevi kullanılır FilePut . Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, DateTime, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- DateTime
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Char, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Char
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Byte, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Byte
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Boolean, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Boolean
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma
Şunlara uygulanır
FilePut(Int32, Int16, Int64)
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
- Kaynak:
- FileSystem.vb
Bir değişkenden gelen veriyi disk dosyasına 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
Gereklidir. Herhangi bir geçerli dosya numarası.
- Value
- Int16
Gereklidir. Diske yazılan veriyi içeren geçerli değişken adı.
- RecordNumber
- Int64
İsteğe bağlı. Yazmanın başladığı kayıt numarası (Random mod dosyaları) veya bayt numarası (Binary mod dosyaları).
Özel durumlar
RecordNumber
< 1 ve -1'e eşit değildir.
Dosya modu geçersiz.
Örnekler
Bu örnekte, bir dosyaya FilePut veri yazmak için işlevi kullanılır. Yapıya Person ait beş kayıt dosyaya 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 Binary modunda Random 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 konumunda ve benzeri şekildedir. atlarsanızRecordNumber, son veya işlevden sonraki veya son FileGet işlevin işaret ettiği sonraki Seek kayıt veya FilePut bayt yazılır.
bağımsız StringIsFixedLength değişkeni, işlevin dizeleri değişken veya sabit uzunluk olarak yorumlayıp yorumlamayacağını denetler.
FilePut bağımsız değişkeni olduğunda Trueuzunluk tanımlayıcısını yazmaz. ile FilePutkullanıyorsanızStringIsFixedLength = True, aynı işlemi ile FileGetyapmanız ve dizenin beklenen uzunlukta başlatıldığından emin olmanız gerekir.
Rastgele Modu
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 bitişi ve sonraki kaydın başlangıç noktası arasındaki boşluk, dosya arabelleğinin varolan içeriğiyle doldurulur. Doldurma verilerinin miktarı kesin olarak belirlenemeyeceğinden, genellikle kayıt uzunluğunun yazılan verilerin uzunluğuyla eşleştirmek 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şkenine giden verileri yazar. Bu nedenle, işlevindeki 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 ardından değişkeni yazar. Örneğin, tamsayıFilePutiçeren bir nesne yazarken altı bayt yazar: nesneyi (Integer) olarakVarType(3)tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpenparametresi tarafındanRecordLengthbelirtilen kayıt uzunluğu, değişkeni depolamak için gereken gerçek bayt sayısından en az iki bayt 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ındanRecordLengthbelirtilen kayıt uzunluğu, dizeninFileOpengerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLengthgeçmenizTrueve içinde okuduğunuz dizenin doğru uzunlukta olması gerekir.Yazılan değişken bir dizi ise, dizi boyutları ve boyut için bir tanımlayıcıyı yazmanız gerekip gerekmediğine dair bir seçeneğiniz vardır. Visual Basic 6.0 ve önceki sürümleri, sabit boyutlu dizi için değil ancak dinamik bir dizi için dosya tanımlayıcısı yazar. Visual Basic 2005'de, tanımlayıcı yazılamıyor varsayılandır. Tanımlayıcıyı yazmak için parametresini
ArrayIsDynamicolarakTrueayarlayın. Diziyi yazarken, dizinin okunduğu şekilde eşleştirmelisiniz; tanımlayıcı ile okunacaksa, tanımlayıcıyı yazmalısınız. Tanımlayıcı, her bir derece için dizi derecesi, boyutu ve alt sınırı belirtir. Uzunluğu, boyut sayısının 2 artı 8 katına eşittir: (2 + 8 * NumberOfDimensions). İşlevdekiFileOpenyan tümcesiRecordLengthtarafı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ığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As IntegerYazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePutyalnızca değişken verilerini yazar. İşlevdekiFileOpenyan tümcesiRecordLengthtarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePutöğelerin arasında doldurma olmaması dışında, yapıların öğelerini her biri tek tek yazılmış gibi yazar. Özniteliği,VBFixedStringdiske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Ö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:
RecordLengthişlevindeki 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 bir dizi dışında herhangi bir dizi için yalnızca
FilePutverileri yazar. Hiçbir tanımlayıcı yazılmıyor.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 ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)işlevini kullanarak bir dosyaya
FilePutyazmak için sabit listesinden FileIOPermissionAccess erişim gerekirWrite.
Ayrıca bkz.
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic'te Dosyalara Yazma