Bagikan melalui


FileSystem.FilePut Metode

Definisi

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 My memberi Anda produktivitas dan performa yang lebih baik dalam operasi I/O file daripada FilePut. Untuk informasi selengkapnya, lihat FileSystem.

FilePut(Int32, String, Int64, Boolean)

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.

FilePut(Object, Object, Object)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

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.

FilePut(Int32, ValueType, Int64)

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.

FilePut(Int32, Single, Int64)

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.

FilePut(Int32, Int32, Int64)

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.

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

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.

FilePut(Int32, Double, Int64)

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.

FilePut(Int32, Decimal, Int64)

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.

FilePut(Int32, DateTime, Int64)

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.

FilePut(Int32, Char, Int64)

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.

FilePut(Int32, Byte, Int64)

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.

FilePut(Int32, Boolean, Int64)

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.

FilePut(Int32, Int16, Int64)

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.

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausul dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausul dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausul dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 dalamRecordLength klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausul dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 mengidentifikasi VarType(8) objek, deskriptor dua byte yang menunjukkan panjang string, lalu menulis data string. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausa dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

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 klausul FileOpen 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 dalam RecordLength klausul FileOpen 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 oleh RecordLength klausul dalam FileOpen 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 mengidentifikasi VarType objek dan kemudian menulis variabel. Misalnya, saat menulis objek yang berisi bilangan bulat, FilePut tulis enam byte: dua byte yang mengidentifikasi objek sebagai VarType(3) (Integer) dan empat byte yang berisi data. Panjang rekaman yang ditentukan oleh RecordLength parameter dalam FileOpen 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 oleh RecordLength parameter dalam FileOpen fungsi harus setidaknya empat byte yang lebih besar dari panjang string yang sebenarnya. Jika Anda ingin menempatkan string tanpa deskriptor, Anda harus meneruskan True ke StringIsFixedLength 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 ArrayIsDynamicTrue. 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 oleh RecordLength klausa dalam FileOpen 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 oleh RecordLength klausul dalam FileOpen 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. Atribut VBFixedString 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 dalam FileOpen 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 memerlukan Write akses dari FileIOPermissionAccess enumerasi.

Lihat juga

Berlaku untuk