FileSystem.FilePut Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. F Untuk informasi selengkapnya, lihat FileSystem.
Overload
FilePut(Int32, Int64, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, String, Int64, Boolean) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Object, Object, Object) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, ValueType, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Single, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Int32, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Array, Int64, Boolean, Boolean) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Double, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Decimal, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, DateTime, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Char, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Byte, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Boolean, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Int16, Int64) |
Menulis data dari variabel ke file disk. Fitur ini |
FilePut(Int32, Int64, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Int64
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Pilihan. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
menulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
menulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotok saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, String, Int64, Boolean)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- String
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
- StringIsFixedLength
- Boolean
Pilihan. Hanya berlaku saat menulis string. Menentukan apakah akan menulis deskriptor panjang string dua byte untuk string ke file. Default adalah False
.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
menulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
menulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotok saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Object, Object, Object)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Perhatian
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
Perhatian
FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.
Perhatian
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Object
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Object
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Object
Opsional. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
- Atribut
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
menulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
menulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotok saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, ValueType, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- ValueType
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Single, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Single
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Int32, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Int32
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Array, Int64, Boolean, Boolean)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Array
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
- ArrayIsDynamic
- Boolean
Pilihan. Hanya berlaku saat menulis array. Menentukan apakah array akan diperlakukan sebagai dinamis, dan apakah akan menulis deskriptor array untuk string yang menjelaskan panjangnya.
- StringIsFixedLength
- Boolean
Pilihan. Hanya berlaku saat menulis string. Menentukan apakah akan menulis deskriptor panjang string dua byte untuk string ke file. Default adalah False
.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Double, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Double
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Pilihan. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Decimal, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Decimal
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Pilihan. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, DateTime, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- DateTime
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Char, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Char
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
menulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
menulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotok saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Byte, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Byte
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Pilihan. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Boolean, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Boolean
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Rekam nomor (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya berlaku dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman pertama atau byte dalam file berada di posisi 1, rekaman kedua atau byte berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Spasi antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya merupakan ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
tulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
tulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotong saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian Random
besar aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic
Berlaku untuk
FilePut(Int32, Int16, Int64)
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
- Sumber:
- FileSystem.vb
Menulis data dari variabel ke file disk. Fitur ini My
memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut
. Untuk informasi selengkapnya, lihat 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)
Parameter
- FileNumber
- Int32
Wajib diisi. Nomor file apa pun yang valid.
- Value
- Int16
Wajib diisi. Nama variabel valid yang berisi data yang ditulis ke disk.
- RecordNumber
- Int64
Opsional. Nomor rekaman (Random
file mode) atau nomor byte (Binary
file mode) di mana penulisan dimulai.
Pengecualian
RecordNumber
< 1 dan tidak sama dengan -1.
Mode file tidak valid.
Contoh
Contoh ini menggunakan FilePut
fungsi untuk menulis data ke file. Lima rekaman struktur Person
ditulis ke file.
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
Keterangan
FilePut
hanya valid dalam Random
mode dan Binary
.
Data yang ditulis dengan FilePut
biasanya dibaca dari file dengan menggunakan FileGet
.
Rekaman atau byte pertama dalam file berada di posisi 1, rekaman atau byte kedua berada di posisi 2, dan sebagainya. Jika Anda menghilangkan RecordNumber
, rekaman atau byte berikutnya setelah fungsi atau FilePut
terakhir FileGet
atau ditujukkan oleh fungsi terakhir Seek
ditulis.
Argumen StringIsFixedLength
mengontrol apakah fungsi menginterpretasikan string sebagai variabel atau panjang tetap. FilePut
tidak menulis deskriptor panjang ketika argumen adalah True
. Jika Anda menggunakan StringIsFixedLength
= True
dengan FilePut
, Anda harus melakukan hal yang sama dengan FileGet
, dan Anda harus memastikan bahwa string diinisialisasi ke panjang yang diharapkan.
Mode Acak
Untuk file yang dibuka dalam Random
mode, aturan berikut berlaku:
Jika panjang data yang ditulis kurang dari panjang yang ditentukan dalam
RecordLength
klausulFileOpen
fungsi,FilePut
tulis rekaman berikutnya pada batas panjang rekaman. Ruang antara akhir satu rekaman dan awal rekaman berikutnya dilapisi dengan konten buffer file yang ada. Karena jumlah data padding tidak dapat ditentukan dengan kepastian apa pun, umumnya ide yang baik untuk memiliki panjang rekaman yang cocok dengan panjang data yang ditulis. Jika panjang data yang ditulis lebih besar dari panjang yang ditentukan dalamRecordLength
klausulFileOpen
fungsi, pengecualian akan dilemparkan.Jika variabel yang ditulis adalah string,
FilePut
tulis deskriptor dua byte yang berisi panjang string, lalu tulis data yang masuk ke variabel. Oleh karena itu, panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus setidaknya dua byte yang lebih besar dari panjang string yang sebenarnya.Jika variabel yang ditulis adalah objek yang berisi jenis numerik,
FilePut
menulis dua byte yang mengidentifikasiVarType
objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat,FilePut
tulis enam byte: dua byte yang mengidentifikasi objek sebagaiVarType(3)
(Integer
) dan empat byte yang berisi data. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya dua byte lebih besar dari jumlah byte aktual yang diperlukan untuk menyimpan variabel.Jika variabel yang ditulis adalah objek yang berisi string,
FilePut
menulis deskriptor dua byte yang mengidentifikasiVarType(8)
objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan olehRecordLength
parameter dalamFileOpen
fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskanTrue
keStringIsFixedLength
parameter , dan string yang Anda baca harus memiliki panjang yang benar.Jika variabel yang ditulis adalah array, Anda memiliki pilihan apakah akan menulis deskriptor untuk ukuran dan dimensi array atau tidak. Visual Basic 6.0 dan versi yang lebih lama menulis deskriptor file untuk array dinamis tetapi tidak untuk array ukuran tetap. Visual Basic 2005 default untuk tidak menulis deskriptor. Untuk menulis deskriptor, atur parameter ke
ArrayIsDynamic
True
. Saat menulis array, Anda harus mencocokkan cara array akan dibaca; jika akan dibaca dengan deskriptor, Anda harus menulis deskriptor. Deskriptor menentukan peringkat array, ukuran, dan batas bawah untuk setiap peringkat. Panjangnya sama dengan 2 ditambah 8 kali jumlah dimensi: (2 + 8 * NumberOfDimensions). Panjang rekaman yang ditentukan olehRecordLength
klausa dalamFileOpen
fungsi harus lebih besar dari atau sama dengan jumlah semua byte yang diperlukan untuk menulis data array dan deskriptor array. Misalnya, deklarasi array berikut memerlukan 218 byte saat array ditulis ke disk.Dim MyArray(4, 9) As Integer
Jika variabel yang ditulis adalah jenis variabel lain (bukan string panjang variabel atau objek),
FilePut
hanya menulis data variabel. Panjang rekaman yang ditentukan olehRecordLength
klausul dalamFileOpen
fungsi harus lebih besar dari atau sama dengan panjang data yang ditulis.FilePut
menulis elemen struktur seolah-olah masing-masing ditulis secara individual, kecuali tidak ada padding antar elemen. AtributVBFixedString
dapat diterapkan ke bidang string dalam struktur untuk menunjukkan ukuran string saat ditulis ke disk.Catatan
Bidang string yang memiliki lebih banyak byte daripada yang ditentukan oleh
VBFixedString
atribut dipotok saat ditulis ke disk,
Mode Biner
Untuk file yang dibuka dalam Binary
mode, sebagian besar Random
aturan mode berlaku, dengan beberapa pengecualian. Aturan berikut untuk file yang dibuka dalam Binary
mode berbeda dari aturan untuk Random
mode:
Klausa
RecordLength
dalamFileOpen
fungsi tidak berpengaruh.FilePut
menulis semua variabel ke disk secara berdekatan, yaitu, tanpa padding di antara rekaman.Untuk array apa pun selain array dalam struktur,
FilePut
hanya menulis data. Tidak ada deskriptor yang ditulis.FilePut
menulis string panjang variabel yang bukan elemen struktur tanpa deskriptor panjang dua byte. Jumlah byte yang ditulis sama dengan jumlah karakter dalam string. Misalnya, pernyataan berikut menulis 11 byte ke nomor file 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Menulis ke file dengan menggunakan
FilePut
fungsi memerlukanWrite
akses dari FileIOPermissionAccess enumerasi.
Lihat juga
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Menulis ke File di Visual Basic