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 FilePut
daha 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, ile aynı FileGet
iş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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizeninRecordLength
FileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değil),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePut
her biri ayrı ayrı yazılmış gibi yapı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda açılan dosyalar için aşağıdaki kurallar, Binary
mod kurallarından Random
farklıdır:
RecordLength
İşlevdeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePut
bir dizi dışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki 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
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, ile aynı FileGet
iş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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizeninRecordLength
FileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değil),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, ile aynı FileGet
iş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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizeninRecordLength
FileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değil),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePut
her biri ayrı ayrı yazılmış gibi yapı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda açılan dosyalar için aşağıdaki kurallar, Binary
mod kurallarından Random
farklıdır:
RecordLength
İşlevdeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePut
bir dizi dışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki 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
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, ile aynı FileGet
iş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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizeninRecordLength
FileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değil),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePut
her biri ayrı ayrı yazılmış gibi yapı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda açılan dosyalar için aşağıdaki kurallar, Binary
mod kurallarından Random
farklıdır:
RecordLength
İşlevdeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePut
bir dizi dışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki 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
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, ile aynı FileGet
iş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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse, bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkene giden verileri yazar. Bu nedenle, işlevdeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafından belirtilen kayıt uzunluğu, dizeninRecordLength
FileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türüyse (değişken uzunluğunda bir dize veya nesne değil),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, yazılan verilerin uzunluğundan büyük veya buna eşit olmalıdır.FilePut
her biri ayrı ayrı yazılmış gibi yapı öğelerini yazar, ancak öğeler arasında doldurma yoktur. Öznitelik,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda açılan dosyalar için aşağıdaki kurallar, Binary
mod kurallarından Random
farklıdır:
RecordLength
İşlevdeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tüm değişkenleri bitişik olarak, yani kayıtlar arasında doldurma olmadan diske yazar.Yapıdaki
FilePut
bir dizi dışında herhangi bir dizi için yalnızca verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki 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
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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 FilePut
daha 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
FilePut
yalnızca ve Binary
modunda Random
geçerlidir.
ile FilePut
yazılan veriler genellikle kullanılarak FileGet
bir 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 True
uzunluk tanımlayıcısını yazmaz. ile FilePut
kullanıyorsanızStringIsFixedLength
= True
, aynı işlemi ile FileGet
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
RecordLength
belirtilen uzunluktanFileOpen
küçükse,FilePut
sonraki 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ümcesindeRecordLength
belirtilen uzunluktanFileOpen
büyükse bir özel durum oluşturulur.Yazılan değişken bir dizeyse,
FilePut
dize uzunluğunu içeren iki baytlık bir tanımlayıcı yazar ve ardından değişkenine giden verileri yazar. Bu nedenle, işlevindeki yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az iki bayt büyük olmalıdır.Yazılan değişken sayısal bir tür içeren bir nesneyse,
FilePut
nesnesini tanımlayanVarType
iki bayt yazar ve ardından değişkeni yazar. Örneğin, tamsayıFilePut
içeren bir nesne yazarken altı bayt yazar: nesneyi (Integer
) olarakVarType(3)
tanımlayan iki bayt ve verileri içeren dört bayt. İşlevdekiFileOpen
parametresi tarafındanRecordLength
belirtilen 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,
FilePut
nesnesini tanımlayanVarType(8)
iki baytlık bir tanımlayıcı, dizenin uzunluğunu belirten iki baytlık bir tanımlayıcı yazar ve sonra dize verilerini yazar. İşlevdeki parametresi tarafındanRecordLength
belirtilen kayıt uzunluğu, dizeninFileOpen
gerçek uzunluğundan en az dört bayt büyük olmalıdır. Tanımlayıcısı olmayan bir dize koymak istiyorsanız parametresineStringIsFixedLength
geçmenizTrue
ve 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
ArrayIsDynamic
olarakTrue
ayarlayı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). İşlevdekiFileOpen
yan tümcesiRecordLength
tarafından belirtilen kayıt uzunluğu, dizi verilerini ve dizi tanımlayıcısını yazmak için gereken tüm baytların toplamından büyük veya buna eşit olmalıdır. Örneğin, aşağıdaki dizi bildirimi dizi diske yazıldığı zaman 218 bayt gerektirir.Dim MyArray(4, 9) As Integer
Yazılan değişken başka bir değişken türündeyse (değişken uzunlukta bir dize veya nesne değilse),
FilePut
yalnızca değişken verilerini yazar. İşlevdekiFileOpen
yan tümcesiRecordLength
tarafı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,VBFixedString
diske yazıldığında dizenin boyutunu göstermek için yapılardaki dize alanlarına uygulanabilir.Not
Özniteliği tarafından
VBFixedString
belirtilenden daha fazla bayt içeren dize alanları diske yazıldığında kesilir,
İkili Mod
Modda Binary
açılan dosyalar için, bazı özel durumlar dışında mod kurallarının Random
çoğu uygulanır. Modda Binary
açılan dosyalar için aşağıdaki kurallar, mod kurallarından Random
farklıdır:
RecordLength
işlevindeki yan tümcesininFileOpen
hiçbir etkisi yoktur.FilePut
tü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
FilePut
verileri yazar. Hiçbir tanımlayıcı yazılmıyor.FilePut
iki baytlık uzunluk tanımlayıcısı olmadan yapıların öğesi olmayan değişken uzunlukta dizeler yazar. Yazılan bayt sayısı dizedeki karakter sayısına eşittir. Örneğin, aşağıdaki ifadeler dosya numarası 1'e 11 bayt yazar:Dim hellow As String = "Hello World" FilePut(1, hellow)
işlevini kullanarak bir dosyaya
FilePut
yazmak 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