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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLengthwFileOpenfunkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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ąFilePutpolecenia ) 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ęRecordLengthwFileOpenfunkcji 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLengthwFileOpenfunkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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ąFilePutpolecenia ) 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ęRecordLengthwFileOpenfunkcji 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLengthwFileOpenfunkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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ąFilePutpolecenia ) 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ęRecordLengthwFileOpenfunkcji 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLengthwFileOpenfunkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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ąFilePutpolecenia ) 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ęRecordLengthwFileOpenfunkcji 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGeta następnie odczytuje dane, które przechodzą do zmiennej. W związku z tym długość rekorduFileOpenokreślona przezRecordLengthklauzulę 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw funkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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 (napisanymFilePutprzy użyciu ) jest poprzedzona deskryptorem, którego długość wynosi 2 plus 8 razy więcej wymiarów: (2 + 8 * NumberOfDimensions). Długość rekorduFileOpenokreślona przez klauzulęRecordLengthw 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje wszystkie zmienne z dysku stale; oznacza to, że bez dopełniania między rekordami.W przypadku dowolnej tablicy innej niż tablica w strukturze
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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
FileGetjest 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
RecordLengthklauzuliFileOpenfunkcji,FileGetodczytuje 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,
FileGetktóre przechodzą do zmiennej. W związku z tym długość rekordu określona przezRecordLengthklauzulęFileOpenfunkcji 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ćTruego 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
ArrayIsDynamicparametr 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 doFileGetokreś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
RecordLengthokreślona przez parametr wFileOpenfunkcji 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 Integer218 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),
FileGetodczytuje tylko dane zmiennej. Długość rekordu określona przez klauzulęRecordLengthwFileOpenfunkcji musi być większa lub równa długości odczytywanych danych.FileGetodczytuje 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ąFilePutpolecenia ) 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ęRecordLengthwFileOpenfunkcji 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. AtrybutVBFixedStringmoż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
RecordLengthFileOpenw funkcji nie ma wpływu.FileGetodczytuje 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
FileGetodczytuje tylko dane. Deskryptor nie jest odczytywany.FileGetodczytuje 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
FileGetfunkcji wymagaReaddostę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