FileSystem.FilePut Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. F Aby uzyskać więcej informacji, zobacz FileSystem.
Przeciążenia
FilePut(Int32, Int64, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, String, Int64, Boolean) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Object, Object, Object) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, ValueType, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Single, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Int32, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Array, Int64, Boolean, Boolean) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Double, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Decimal, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, DateTime, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Char, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Byte, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Boolean, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Int16, Int64) |
Zapisuje dane ze zmiennej do pliku na dysku. Ta |
FilePut(Int32, Int64, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Int64
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto funkcji do zapisywania FilePut
danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, String, Int64, Boolean)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- String
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
- StringIsFixedLength
- Boolean
Opcjonalny. Stosuje się tylko przy pisaniu ciągów. Określa, czy należy napisać deskryptor długości ciągu dwu bajtowego dla ciągu do pliku. Wartość domyślna to False
.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku wypełnienia między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez
VBFixedString
atrybut, są obcinane podczas zapisywania na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie większość Random
reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwartych w Binary
trybie różnią się od reguł trybu Random
:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku w sposób ciągły, czyli bez uzupełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Object, Object, Object)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Przestroga
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
Przestroga
FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.
Przestroga
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Object
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Object
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Object
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
- Atrybuty
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto funkcji do zapisywania FilePut
danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i .Binary
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, zostanie zapisany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
wskazywany przez ostatnią Seek
funkcję.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia z elementem StringIsFixedLength
FilePut
= True
, musisz zrobić to samo z elementem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy w granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwa bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej dwa bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje dwu bajtowy deskryptor identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaDimensionów). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisania danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku wypełnienia między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez
VBFixedString
atrybut, są obcinane podczas zapisywania na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie większość Random
reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwartych w Binary
trybie różnią się od reguł trybu Random
:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku w sposób ciągły, czyli bez uzupełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, ValueType, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- ValueType
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto funkcji do zapisywania FilePut
danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i .Binary
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, zostanie zapisany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
wskazywany przez ostatnią Seek
funkcję.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia z elementem StringIsFixedLength
FilePut
= True
, musisz zrobić to samo z elementem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy w granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Single, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Single
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Int32, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Int32
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Array, Int64, Boolean, Boolean)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Array
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
- ArrayIsDynamic
- Boolean
Opcjonalny. Dotyczy tylko podczas pisania tablicy. Określa, czy tablica ma być traktowana jako dynamiczna, oraz czy należy napisać deskryptor tablicy dla ciągu opisującego długość.
- StringIsFixedLength
- Boolean
Opcjonalny. Stosuje się tylko przy pisaniu ciągów. Określa, czy należy napisać deskryptor długości ciągu dwu bajtowego dla ciągu do pliku. Wartość domyślna to False
.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Double, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Double
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Decimal, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Decimal
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, DateTime, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- DateTime
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie większość Random
reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwartych w Binary
trybie różnią się od reguł trybu Random
:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku w sposób ciągły, czyli bez uzupełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Char, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Char
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto funkcji do zapisywania FilePut
danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i .Binary
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, zostanie zapisany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
wskazywany przez ostatnią Seek
funkcję.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia z elementem StringIsFixedLength
FilePut
= True
, musisz zrobić to samo z elementem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy w granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwa bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej dwa bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje dwu bajtowy deskryptor identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaDimensionów). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisania danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku wypełnienia między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez
VBFixedString
atrybut, są obcinane podczas zapisywania na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie większość Random
reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwartych w Binary
trybie różnią się od reguł trybu Random
:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku w sposób ciągły, czyli bez uzupełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Byte, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Byte
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto funkcji do zapisywania FilePut
danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i .Binary
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, zostanie zapisany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
wskazywany przez ostatnią Seek
funkcję.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia z elementem StringIsFixedLength
FilePut
= True
, musisz zrobić to samo z elementem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy w granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Boolean, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Boolean
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic
Dotyczy
FilePut(Int32, Int16, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Zapisuje dane ze zmiennej do pliku na dysku. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FilePut
. Aby uzyskać więcej informacji, zobacz 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)
Parametry
- FileNumber
- Int32
Wymagane. Dowolna prawidłowa liczba plików.
- Value
- Int16
Wymagane. Prawidłowa nazwa zmiennej, która zawiera dane zapisane na dysku.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się zapisywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Przykłady
W tym przykładzie użyto FilePut
funkcji do zapisywania danych w pliku. Pięć rekordów struktury Person
jest zapisywanych w pliku.
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
Uwagi
FilePut
jest prawidłowy tylko w Random
trybie i Binary
.
Dane zapisywane FilePut
za pomocą polecenia są zwykle odczytywane z pliku przy użyciu polecenia FileGet
.
Pierwszy rekord lub bajt w pliku znajduje się na pozycji 1, drugi rekord lub bajt na pozycji 2 i tak dalej. Jeśli pominięto RecordNumber
, następny rekord lub bajt po ostatnim FileGet
lub FilePut
funkcji lub wskazywany przez ostatnią Seek
funkcję jest zapisywany.
Argument StringIsFixedLength
określa, czy funkcja interpretuje ciągi jako zmienną, czy stałą długość. FilePut
nie zapisuje deskryptora długości, gdy argument ma wartość True
. Jeśli używasz polecenia StringIsFixedLength
= True
z FilePut
programem , musisz wykonać to samo z parametrem FileGet
i musisz upewnić się, że ciąg jest inicjowany do oczekiwanej długości.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość zapisywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FilePut
zapisuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a początkiem następnego rekordu jest wypełniany istniejącą zawartością buforu plików. Ponieważ ilości danych uzupełniania nie można dokładnie określić, to zazwyczaj dobrze jest, gdy długość rekordu jest zgodna z długością zapisanych danych. Jeśli długość zapisywanych danych jest większa niż długość określona wRecordLength
klauzuliFileOpen
funkcji, zostanie zgłoszony wyjątek.Jeśli zapisywana zmienna jest ciągiem,
FilePut
zapisuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie zapisuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu.Jeśli zapisywana zmienna jest obiektem zawierającym typ liczbowy,
FilePut
zapisuje dwie bajty identyfikująceVarType
obiekt, a następnie zapisuje zmienną. Na przykład podczas pisania obiektu zawierającego liczbę całkowitąFilePut
zapisuje sześć bajtów: dwa bajty identyfikujące obiekt jakoVarType(3)
(Integer
) i cztery bajty zawierające dane. Długość rekordu określonaRecordLength
przez parametr wFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista liczba bajtów wymaganych do przechowywania zmiennej.Jeśli zapisywana zmienna jest obiektem zawierającym ciąg,
FilePut
zapisuje deskryptor dwu bajtowy identyfikującyVarType(8)
obiekt, deskryptor dwu bajtowy wskazujący długość ciągu, a następnie zapisuje dane ciągu. Długość rekorduRecordLength
określona przez parametr wFileOpen
funkcji musi wynosić co najmniej cztery bajty większe niż rzeczywista długość ciągu. Jeśli chcesz umieścić ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeżeli zapisywaną zmienną jest tablica, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Visual Basic 6.0 i starsze wersje zapisują deskryptor plików dla tablic dynamicznych, bez uwzględniania tablicy o stałym rozmiarze. Według domyślnych ustawień programu Visual Basic 2005 deskryptor nie jest zapisywany. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas zapisywania tablicy należy dopasować sposób odczytywania tablicy; jeśli będzie odczytywana z deskryptorem, należy napisać deskryptor. Deskryptor określa rangę tablicy, rozmiar i dolne granice dla każdej rangi. Jego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * LiczbaOfDimensions). Długość rekorduRecordLength
określona przez klauzulę wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do zapisu danych tablicy i deskryptora tablicy. Na przykład następująca deklaracja tablicy wymaga 218 bajtów, jeśli tablica zapisywana jest na dysku.Dim MyArray(4, 9) As Integer
Jeśli zapisywana zmienna jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FilePut
zapisuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości zapisywanych danych.FilePut
zapisuje elementy struktur tak, jakby zostały napisane indywidualnie, z wyjątkiem braku dopełniania między elementami. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania na dysku.Uwaga
Pola ciągów, które mają więcej bajtów niż określony przez atrybut, są obcinane podczas zapisywania
VBFixedString
na dysku,
Tryb binarny
W przypadku plików otwartych w Binary
trybie Random
większość reguł trybu ma zastosowanie z pewnymi wyjątkami. Następujące reguły dotyczące plików otwieranych w Binary
trybie różnią się od reguł Random
trybu:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FilePut
zapisuje wszystkie zmienne na dysku stale, czyli bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FilePut
zapisuje tylko dane. Deskryptor nie jest zapisywany.FilePut
zapisuje ciągi o zmiennej długości, które nie są elementami struktur bez deskryptora o długości dwóch bajtów. Liczba bajtów zapisanych jest równa liczbie znaków znajdujących się już w ciągu. Na przykład poniższe instrukcje zapisują 11 bajtów do pliku numer 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
Zapisywanie w pliku przy użyciu
FilePut
funkcji wymagaWrite
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Zapisywanie w plikach w Visual Basic