FileSystem.FileGet 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.
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
Przeciążenia
FileGet(Int32, Array, Int64, Boolean, Boolean) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, String, Int64, Boolean) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, ValueType, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Single, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Int64, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Int32, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Decimal, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Double, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, DateTime, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Char, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Byte, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Boolean, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Int16, Int64) |
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta |
FileGet(Int32, Array, Int64, Boolean, Boolean)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FileGet : int * Array * int64 * bool * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
- ArrayIsDynamic
- Boolean
Opcjonalny. Dotyczy tylko podczas pisania tablicy. Określa, czy tablica ma być traktowana jako dynamiczna i czy deskryptor tablicy opisujący rozmiar i granice tablicy jest konieczne.
- StringIsFixedLength
- Boolean
Opcjonalny. Stosuje się tylko przy pisaniu ciągów. Określa, czy należy napisać deskryptor dwu bajtowy dla ciągu, który opisuje długość. Wartość domyślna to False
.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane FileGet
za pomocą polecenia są zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje kolejne rekordy na granicach długości rekordu. Odstęp między końcem jednego rekordu a rozpoczęciem następnego rekordu jest dopełniane istniejącą zawartością buforu pliku. 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, String, Int64, Boolean)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FileGet : int * string * int64 * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczytywanie.
- StringIsFixedLength
- Boolean
Opcjonalny. Stosuje się tylko przy pisaniu ciągów. Określa, czy należy napisać deskryptor dwu bajtowy dla ciągu opisującego długość. Wartość domyślna to False
.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane FileGet
za pomocą polecenia są zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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 otwartych w Binary
trybie różnią się od reguł trybu Random
:
Klauzula
RecordLength
FileOpen
w funkcji nie ma wpływu.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, ValueType, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref ValueType Value, long RecordNumber = -1);
static member FileGet : int * ValueType * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Odczytywanie FileGet
danych za pomocą polecenia jest zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazanej doFileGet
określenia, co należy odczytać.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
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna do odczytu jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (zapisywanym za pomocąFilePut
polecenia ) jest poprzedzona deskryptorem, którego długość jest równa 2 plus 8 razy krotnie liczbie wymiarów: (2 + 8 * NumberOfDimensions). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu 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.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Single, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref float Value, long RecordNumber = -1);
static member FileGet : int * single * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Odczytywanie FileGet
danych za pomocą polecenia jest zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Int64, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref long Value, long RecordNumber = -1);
static member FileGet : int * int64 * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczytywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane FileGet
za pomocą polecenia są zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Int32, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref int Value, long RecordNumber = -1);
static member FileGet : int * int * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczytywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane FileGet
za pomocą polecenia są zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Decimal, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref decimal Value, long RecordNumber = -1);
static member FileGet : int * decimal * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczytywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane FileGet
za pomocą polecenia są zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Double, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref double Value, long RecordNumber = -1);
static member FileGet : int * double * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Odczytywanie FileGet
danych za pomocą polecenia jest zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazanej doFileGet
określenia, co należy odczytać.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
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna do odczytu jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (zapisywanym za pomocąFilePut
polecenia ) jest poprzedzona deskryptorem, którego długość jest równa 2 plus 8 razy krotnie liczbie wymiarów: (2 + 8 * NumberOfDimensions). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu 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.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, DateTime, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref DateTime Value, long RecordNumber = -1);
static member FileGet : int * DateTime * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Dane odczytywane FileGet
przy użyciu są zwykle zapisywane w pliku za pomocą polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazanej doFileGet
określenia, co należy odczytać.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
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna do odczytu jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (zapisywanym za pomocąFilePut
polecenia ) jest poprzedzona deskryptorem, którego długość jest równa 2 plus 8 razy krotnie liczbie wymiarów: (2 + 8 * NumberOfDimensions). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu 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.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Char, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref char Value, long RecordNumber = -1);
static member FileGet : int * char * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Dane odczytywane FileGet
przy użyciu są zwykle zapisywane w pliku za pomocą polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazanej doFileGet
określenia, co należy odczytać.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
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna do odczytu jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (zapisywanym za pomocąFilePut
polecenia ) jest poprzedzona deskryptorem, którego długość jest równa 2 plus 8 razy krotnie liczbie wymiarów: (2 + 8 * NumberOfDimensions). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu 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.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Byte, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą produktywność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref byte Value, long RecordNumber = -1);
static member FileGet : int * byte * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Dane odczytywane FileGet
przy użyciu są zwykle zapisywane w pliku za pomocą polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany. Następnie rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Boolean, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref bool Value, long RecordNumber = -1);
static member FileGet : int * bool * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczytywanie.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i Binary
.
Dane odczytywane za pomocą FileGet
polecenia są zwykle zapisywane w pliku za pomocą polecenia FilePut
.
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 odczytany następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu,
FileGet
a następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpen
określona przezRecordLength
klauzulę funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien mieć prawidłową długość.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazane doFileGet
określenia, co należy odczytać.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ść rekordu
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna, do którego jest odczytywana, jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (napisanymFilePut
przy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpen
określona przez klauzulęRecordLength
w funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu podczas zapisywania 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.FileGet
odczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z wyliczenia FileIOPermissionAccess .
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic
Dotyczy
FileGet(Int32, Int16, Int64)
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
- Źródło:
- FileSystem.vb
Wczytuje dane z otwartego pliku dysku do zmiennej. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileGet
. Aby uzyskać więcej informacji, zobacz FileSystem.
public static void FileGet (int FileNumber, ref short Value, long RecordNumber = -1);
static member FileGet : int * int16 * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef 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, do której wczytywane są dane.
- RecordNumber
- Int64
Opcjonalny. Liczba rekordów (Random
pliki trybu) lub liczba bajtów (Binary
pliki trybu), w których rozpoczyna się odczyt.
Wyjątki
RecordNumber
< 1 i nie równe -1.
Tryb pliku jest nieprawidłowy.
Uwagi
FileGet
jest prawidłowy tylko w Random
trybie i .Binary
Odczytywanie FileGet
danych za pomocą polecenia jest zwykle zapisywane w pliku przy użyciu polecenia FilePut
.
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
, odczytany jest następny rekord lub bajt po ostatniej FileGet
funkcji lub FilePut
(lub wskazywany przez ostatnią Seek
funkcję).
Ważne
Podczas odczytu z plików, nie należy podejmować decyzji dotyczących zawartości pliku na podstawie rozszerzenia nazwy pliku. Na przykład plik o nazwie Form1.vb nie może być plikiem źródłowym programu Visual Basic.
Tryb losowy
W przypadku plików otwartych w Random
trybie obowiązują następujące reguły:
Jeśli długość odczytywanych danych jest mniejsza niż długość określona w
RecordLength
klauzuliFileOpen
funkcji,FileGet
odczytuje 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ą odczytywanych danych.Domyślnie, jeśli zmienna odczytywana do elementu jest ciągiem, odczytuje deskryptor dwu bajtowy zawierający długość ciągu, a następnie odczytuje dane,
FileGet
które przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLength
klauzulęFileOpen
funkcji musi być co najmniej dwie bajty większe niż rzeczywista długość ciągu. Program Visual Basic 6.0 i jego starsze wersje obsługują ciągi o stałej długości; przy wprowadzaniu do pliku, deskryptor długości nie jest zapisywany. Jeśli chcesz odczytać ciąg bez deskryptora, należy przekazaćTrue
go do parametruStringIsFixedLength
, a odczytany ciąg powinien być prawidłową długością.Jeśli wczytywana zmienna jest tablicą, można wybrać, czy odczytać deskryptor, by uzyskać informacje o wielkości i wymiarze tablicy. Aby napisać deskryptor, ustaw
ArrayIsDynamic
parametr naTrue
. Podczas odczytywania tablicy należy dopasować sposób zapisu tablicy. Jeśli został on zapisany z deskryptorem, należy odczytać deskryptor. Jeśli deskryptor nie jest używany, rozmiar i granice tablicy przekazanej doFileGet
określenia, co należy odczytać.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
RecordLength
określona przez parametr 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
218 bajtów zostało rozdzielonych w następujący sposób:
18 bajtów deskryptora: (2 + 8 * 2)
200 bajtów dla danych: (5 * 10 * 4).
Jeśli zmienna do odczytu jest dowolnym innym typem zmiennej (a nie ciągiem o zmiennej długości lub obiektem),
FileGet
odczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa długości odczytywanych danych.FileGet
odczytuje elementy struktur tak, jakby były odczytywane indywidualnie, z tą różnicą, że nie ma dopełniania między elementami. Na dysku tablica dynamiczna w typie zdefiniowanym przez użytkownika (zapisywanym za pomocąFilePut
polecenia ) jest poprzedzona deskryptorem, którego długość jest równa 2 plus 8 razy krotnie liczbie wymiarów: (2 + 8 * NumberOfDimensions). Długość rekordu określona przez klauzulęRecordLength
wFileOpen
funkcji musi być większa lub równa sumie wszystkich bajtów wymaganych do odczytania poszczególnych elementów. Obejmuje to wszystkie tablice i ich deskryptory. AtrybutVBFixedString
można zastosować do pól ciągów w strukturach, aby wskazać rozmiar ciągu 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.FileGet
odczytuje wszystkie zmienne z dysku w sposób ciągły; oznacza to, że bez dopełnienia między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGet
odczytuje tylko dane. Deskryptor nie jest odczytywany.FileGet
odczytuje ciągi o zmiennej długości, które nie są elementami struktur bez oczekiwania deskryptora o długości dwóch bajtów. Liczba bajtów odczytanych jest równa liczbie znaków znajdujących się już w ciągu.Ważne
Odczytywanie z pliku przy użyciu
FileGet
funkcji wymagaRead
dostępu z FileIOPermissionAccess wyliczenia.
Zobacz też
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Odczyt z plików w Visual Basic
- Zapisywanie w plikach w Visual Basic