Binary
 
Указывает, что файл или устройство будет открыто в двоичном(бинарном) режиме

Синтаксис

Open filename for Binary [Access access_type] [Lock lock_type] as [#]filenum

Параметры

filename
имя файла, чтобы открыть
access_type
показывает, как файл может быть открыт: для чтения, записи или того и другого
lock_type
блокировка, которая будет использоваться в то время как файл открыт
filenum
неиспользуемый(свободный) номер файла , который будет ассоциирован с открытым файлом

Описание

Открывает файл или устройство для чтения и / или записи двоичных данных в файл filenum, с свободным форматом.
Если файл не существует, новый файл будет создан. Указатель файла инициализируется при вызове Open в позиции 1.
Файловые операции Get # и Put # перемещают указатель файла в соответствии с размером данных; указатель может быть установлен на любом байте в файле.
Существующие данные в файле сохраняются при вызове Open.
В этом режиме файла, можно использовать любой буфер переменной для чтения / записи данных в файл.
Данные сохраняются в двоичном режиме, в том же внутреннем формате, который использует FreeBASIC с помощью Get # и Put #.

filename должно быть строковым выражением имени файла в целевой ОС, без шаблонов. Файл ищется в текущем каталоге, если путь не указан.
Access_type По умолчанию режим Random позволяет читать и писать в файл, если только спецификатор Access явно не указывает на определенный доступ :
    • Read - файл открывается только для ввода
    • Write - файл открывается только для вывода
    • Read Write - файл открывается для ввода и вывода (по умолчанию)

Lock_type указывает блокировку файла для других процессов (пользователей или потоков). Может быть:
    • Shared - файл может быть свободно доступен для других процессов
    • Lock Read - файл не может быть открыт одновременно для чтения
    • Lock Write - файл не может быть открыт одновременно для записи
    • Lock Read Write - файл не может быть открыт одновременно другими процессами.
Если тип блокировки не указан, то файл будет Shared для других потоков программы и Lock Read Write для других программ.
Lock и Unlock могут быть использованы для временного ограничения доступа к части файла.

filenum является допустимым FreeBASIC номером файла (в диапазоне 1..255) , не используемым для любого другого открытого файла в настоящее время. Это число определяет файл для остальной части файловых операций. Свободный файловый номер можно получить с помощью функции FreeFile.

Пример

'' Создать двоичный файл данных с одним числом в нем
Dim x As Single = 17.164

Open "MyFile.Dat" For Binary As #1
  '' Put без настройки положения запишет значение в последнем известном положении файла
  '' в нашем случае, в самом начале файла.
  Put #1, , x
Close #1


'' Теперь прочитаем число из файла
Dim x As Single = 0

Open "MyFile.Dat" For Binary As #1
  Get #1, , x
Close #1

Print x


'' Читаем все содержимое файла в строку
Dim txt As String

Open "myfile.txt" For Binary Access Read As #1
  If LOF(1) > 0 Then
    '' Наша строка имеет столько символов, сколько файл в байтах
    txt = String(LOF(1), 0)
    '' размер TXT известен. вся строка заполняется данными файла
    Get #1, , txt
  End If
Close #1

Print txt


Отличия от QB

  • Нет

См. также