FileSystem.FileGet Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе FileSystem.
Перегрузки
| Имя | Описание |
|---|---|
| FileGet(Int32, Array, Int64, Boolean, Boolean) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, String, Int64, Boolean) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, ValueType, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Single, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Int64, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Int32, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Decimal, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Double, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, DateTime, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Char, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Byte, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Boolean, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
| FileGet(Int32, Int16, Int64) |
Считывает данные из открытого файла диска в переменную. Эта |
FileGet(Int32, Array, Int64, Boolean, Boolean)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе FileSystem.
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target object type could not be statically analyzed and may be trimmed")]
public static void FileGet(int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
public static void FileGet(int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target object type could not be statically analyzed and may be trimmed")>]
static member FileGet : int * Array * int64 * bool * bool -> unit
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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Array
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
- ArrayIsDynamic
- Boolean
Optional. Применяется только при написании массива. Указывает, должен ли массив рассматриваться как динамический и должен ли дескриптор массива описывать размер и границы массива.
- StringIsFixedLength
- Boolean
Optional. Применяется только при написании строки. Указывает, следует ли писать дескриптор двухбайтов для строки, описывающей длину. Значение по умолчанию — False.
- Атрибуты
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи заполняется существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, String, Int64, Boolean)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- String
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
- StringIsFixedLength
- Boolean
Optional. Применяется только при написании строки. Указывает, следует ли писать дескриптор двухбайтов для строки, описывающей длину. Значение по умолчанию — False.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, ValueType, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе FileSystem.
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target object type could not be statically analyzed and may be trimmed")]
public static void FileGet(int FileNumber, ref ValueType Value, long RecordNumber = -1);
public static void FileGet(int FileNumber, ref ValueType Value, long RecordNumber = -1);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target object type could not be statically analyzed and may be trimmed")>]
static member FileGet : int * ValueType * int64 -> unit
static member FileGet : int * ValueType * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As ValueType, Optional RecordNumber As Long = -1)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- ValueType
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
- Атрибуты
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Single, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Single
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Int64, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Int64
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Int32, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Int32
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Decimal, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Decimal
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Double, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Double
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, DateTime, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- DateTime
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Данные, считыванные с помощьюFileGet, обычно записываются в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Char, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Char
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Данные, считыванные с помощьюFileGet, обычно записываются в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Byte, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Byte
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Данные, считыванные с помощьюFileGet, обычно записываются в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется. Затем размер и границы массива, переданные вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Boolean, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Boolean
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Данные, считыванные с помощьюFileGet, обычно записываются в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic
Применяется к
FileGet(Int32, Int16, Int64)
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
- Исходный код:
- FileSystem.vb
Считывает данные из открытого файла диска в переменную. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileGet. Дополнительные сведения см. в разделе 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)
Параметры
- FileNumber
- Int32
Обязательно. Любой допустимый номер файла.
- Value
- Int16
Обязательно. Допустимое имя переменной, в которую считываются данные.
- RecordNumber
- Int64
Optional. Число записей (Random файлы режима) или число байтов (Binary файлы режима), с которого начинается чтение.
Исключения
RecordNumber
< 1 и не равно -1.
Недопустимый режим файла.
Комментарии
FileGetдопустимо только в режиме и Random в Binary режиме.
Чтение данных с FileGet помощью файла обычно записывается в файл.FilePut
Первая запись или байт в файле находятся на позиции 1, вторая запись или байт — на позиции 2 и т. д. Если не указано RecordNumber, считывается следующая запись или байт после последней FileGet или FilePut функции (или указанная последней Seek функцией).
Important
При чтении из файлов не следует принимать решения о содержимом файла на основе расширения имени файла. Например, файл с именем Form1.vb может не быть исходным файлом Visual Basic.
Случайный режим
Для файлов, открытых в Random режиме, применяются следующие правила:
Если длина считываемых данных меньше длины, указанной
RecordLengthвFileOpenпредложении функции,FileGetсчитывает последующие записи на границах длины записи. Пространство между концом одной записи и началом следующей записи помещается с существующим содержимым буфера файла. Так как объем данных заполнения не может быть определен с какой-либо определенностью, обычно рекомендуется иметь длину записи, соответствующую длине считываемых данных.По умолчанию, если переменная, считываемая в нее, является строкой, считывает дескриптор с двумя байтами,
FileGetсодержащий длину строки, а затем считывает данные, которые передаются в переменную. Таким образом, длина записи, указаннаяRecordLengthпредложениемFileOpenфункции, должна быть не менее двух байтов больше фактической длины строки. Visual Basic версии 6.0 и более ранних версий поддерживают строки фиксированной длины; при установке в файл дескриптор длины не записывается. Если вы хотите прочитать строку без дескриптора, необходимо передатьTrueStringIsFixedLengthпараметру, а строка, которую вы читаете, должна быть правильной длиной.Если переменная, в которой выполняется чтение, представляет собой массив, можно выбрать, следует ли читать дескриптор для размера и измерения массива. Чтобы написать дескриптор, задайте
ArrayIsDynamicдля параметра значениеTrue. При чтении массива необходимо соответствовать способу записи массива. Если он был написан с дескриптором, необходимо прочитать дескриптор. Если дескриптор не используется, размер и границы массива, передаваемые вFileGetопределение того, что нужно считывать.Дескриптор задает ранг массива, размер и нижние границы для каждого ранга. Его длина равна 2 плюс 8 раз число измерений: (2 + 8 * NumberOfDimensions). Длина записи, указанная
RecordLengthпараметром вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для записи данных массива и дескриптора массива. Например, в следующем объявлении массива требуется 218 байт, когда массив записывается на диск.Dim MyArray(4, 9) As Integer218 байт распределяются следующим образом:
18 байт для дескриптора: (2 + 8 * 2)
200 байт для данных: (5 * 10 * 4).
Если переменная, считываемая в нее, является любым другим типом переменной (а не строкой переменной длины или объектом),
FileGetсчитывает только данные переменной. Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна длине считываемых данных.FileGetсчитывает элементы структур, как будто каждое из них считывается по отдельности, за исключением того, что между элементами отсутствует заполнение. На диске динамический массив в определяемом пользователем типе (записанном сFilePut) префиксируется дескриптором, длина которого равна 2 плюс 8 раз: (2 + 8 * NumberOfDimensions). Длина записи, указаннаяRecordLengthпредложением вFileOpenфункции, должна быть больше или равна сумме всех байтов, необходимых для чтения отдельных элементов. Сюда входят все массивы и их дескрипторы. АтрибутVBFixedStringможно применить к строковым полям в структурах, чтобы указать размер строки при записи на диск.
Двоичный режим
Для файлов, открытых Binary в Random режиме, большинство правил режима применяются с некоторыми исключениями. Следующие правила для файлов, открытых в Binary режиме, отличаются от правил для Random режима:
Предложение
RecordLengthвFileOpenфункции не действует.FileGetсчитывает все переменные из диска непрерывно; т. е. без заполнения между записями.Для любого массива, отличного от массива в структуре,
FileGetсчитывает только данные. Дескриптор не считывается.FileGetсчитывает строки переменной длины, которые не являются элементами структур, не ожидая дескриптора двухбайтовой длины. Число считываемых байтов равно числу символов, уже находящихся в строке.Important
Для чтения из файла с помощью
FileGetфункции требуетсяReadдоступ из FileIOPermissionAccess перечисления.
См. также раздел
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- Seek
- FileGetObject(Int32, Object, Int64)
- Читание из файлов в Visual Basic
- Запись файлов в Visual Basic