Закрыть файл открытый с помощью инструкции open можно с помощью команды

Открытие и закрытие файлов

Файл обычно является некоторой совокупностью данных, объединенных одним именем. Тип файла, как правило, определяется его расширением. Мы рассматриваем файл как некое целое, хотя физически на диске он может быть представлен несколькими областями — говорят, что в этом случае файл фрагментирован.

Перед использованием любого файла он должен быть открыт, а по окончании использования — закрыт. Много файлов может быть открыто и доступно для чтения одновременно. Рассмотрим команды открытия и закрытия файлов.

  • Команда open имя, где имя должно содержать массив символов или символьную переменную, открывает файлы в зависимости от анализа параметра имя и расширения в имени имя:

    • переменная — открывает массив, названный по имени, в редакторе массивов (Array Editor);

    • .mat — открывает файл, сохраняет переменные в структуре в рабочей области;

    • .fig — открывает его в редакторе дескрипторонй графики Property Editor;

    • .m — открывает m-файл в редакторе-отладчике;

    • .mdl — открывает модель в Simulink;

    • .р — открывает, если он есть, m-файл с тем же именем;

    • . html — открывает HTML документ в браузере помощи.

Если файлы с расширением существуют в пути MATLAB, то открывается тот файл, который возвращается командой which имя, если нет — то файл из файловой системы. Если файл не имеет расширение имени, то он открывается той программой, формат файлов которой был бы обнаружен функцией игпсИГимя файла’) По умолчанию для всех файлов с окончаниями, отличными от вышеперечисленных, вызывается openother. Open вызывает функции орепххх, где ххх — расширение файла. Исключение — переменные рабочей области, для которых вызывается openvar, и рисунки, для работы с которыми вызывается openim. Создавая т-файлы с именем орепххх, пользователи могут изменять обработку файлов и добавлять новые расширения в список. Закрывать файлы, открытые при помощи open, нужно из редакторов, вызываемых ореnххх.

  • [FILENAME, PATHNAME] = uigetfile(FILTERSPEC. Title). Открывает диалог с именем Title и фильтром FILTERSPEC (например, массивом ячеек, содержащим расширения файлов) и возвращает файл, выбранный пользователем, и путь к нему. Возвращает FILENAME=0, если файл не существует или если пользователь нажал на Cancel. [FILENAME, PATHNAME] = uigetfile (FILTERSPEC, Title. X. Y) размещает окно диалога в точке X, Y (координаты в пикселях).

Пример:

[filename, pathname] = uigetfile(‘*.m;*.fig;*.mat:*.mdl’. ‘All MATLAB Files (*.m, *.fig, *.mat. *.mdl)’: …

  • [FILENAME, PATHNAME] = uiputfile(FILTERSPEC. TITLE) сохраняет файл в диалоге, управляемом пользователем. Параметры аналогичны таковым в функции uigetfile.

  • Команда ui open открывает диалог, и если пользователь выбрал файл с известным расширением, вызывает его, используя open, или если имя файла имеет неизвестное расширение, то вызывается uigetfile. Входными аргументами uiopen могут быть mat lab, load, figure, simulink, editor. Без входных аргументов или с входным аргументом matlab в окне диалога предлагается выбрать *.m, *.fig, *.mat, *.mdl (если Simulink установлен) , * . cdr (если state flow установлен) , *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (если установлен Real-Time Workshop). С аргументом load — *.mat. С аргументом figure предлагаются *.fig; simul ink — *.mdl, editor — *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.

Пример:

uiopen figure.

  • Команда uiload открывает файл в диалоге, управляемом пользователем, с использованием команды load.

Функция ui import запускает Мастер импорта (Import Wizard), импортирующий из файла в текущей папке или буфера обмена Windows. Она соответствует выбору Import Data из меню File или выбору Paste Special из меню Edit MATLAB.

  • ui import (FILENAME) — запускает Мастер Импорта, открывая файл FILENAME. Мастер импорта показывает данные для предварительного просмотра. В окне предварительного просмотра появляются данные и их представление в виде переменных MATLAB. Собственно данные, текст и заголовки представляются разными переменными MATLAB. Для данных ASCII вы должны удостовериться, что Мастер импорта распознал разделители столбцов. Самостоятельно он может распознать только символ табуляции, пробел, запятую или точку с запятой. Нужно щелкнуть мышью на кнопке Next и в следующем окне либо подтвердить выбор разделителя, сделанный Мастером, либо выбрать Other и ввести любой разделитель.

  • ui import (‘ -f i le’) — вначале выводит диалог выбора файла.

  • ui import (‘-pastespecial’) — вначале выводит для предварительного просмотра содержимое буфера обмена Windows.

  • S = ui import (…) хранит результирующие переменные как поля структуры S.

  • Команда uisave — управляемое пользователем сохранение (команда save описана в уроке 2) с Windows диалогом.

  • Функция saveas — сохраняет рисунок или модель Simulink в желаемом формате на носителе информации или на устройстве, разрешенном print.

  • Функция saveas (H, ‘FILENAME’ ) — сохраняет данные в соответствии с командой дескрипторной графики Н в файле FILENAME. Формат файла определяется расширением имени FILENAME.

  • Функция saveas (H. ‘FILENAME’ . ‘FORMAT’ ) — выполняет то же, но с параметром FORMAT (формат задается тем же способом, что и расширение имени файла и может от него отличаться). FORMAT имеет приоритет перед расширением имени файла. Параметры функции:

    • ‘fig’ — сохранить рисунок (график) в двоичном fig-файле;

    • ‘ m ‘ или ‘ mf i д ‘ — сохранить рисунок в двоичном fig-файле и создать m-файл для его загрузки;

    • ‘ mmat ‘ — сохранить рисунок в m-файле как последовательность команд создания рисунка. Может не поддерживать новейшие графические функции.

Примеры:

saveas(gcf. ‘output’, ‘fig’) saveas(gcf, ‘output’, ‘bmp’)

Команда или функция delete удаляет файл или объект графики.

  • delete имя файла удаляет файл текущей папки. Может быть использована *. Предпочтительно использование с записью в форме функции delete(‘mw файла’), когда имя файла — строка.

  • delete(H) удаляет графический объект с дескриптором Н. Если этот объект — окно, то оно предварительно закрывается.

  • Функция close(H) закрывает только графические окна. Для закрытия файлов необходимо использовать команду f close.

Для записи файлов на диск служит команда save, используемая в довольно очевидных формах:

save

save filename save filename varl var2 … save … option save( ‘ filename’ , …)

Соответственно для считывания файлов с диска служит команда load:

load

load filename load filename X Y Z

load filename -ascii load filename -mat

S

В этих командах имя файла указывается по правилам, принятым в операционных системах класса MS-DOS. Эти команды обычно дублируются кнопками панелей инструментов и браузером файлов.

Закрытие файлов

Для закрытия файла служит оператор Close, вызываемый:

Close [список-номеров-файлов]

Параметр список-номеров-файлов может содержать один или несколько номеров ранее открытых файлов, которые должны быть закрыты. Как обычно, номера в списке разделяются запятыми. Если параметр опущен, то закрываются все открытые в данный момент файлы. После выполнения оператора Close номера закрытых файлов снова можно использовать при открытии в операторе Open.

Закрыть все открытые оператором Open файлы может также оператор Reset. Как и вызов Close без параметров, он освободит все номера открытых файлов и перенесет содержимое их буферов на диск.

Запись в файлы последовательного доступа

При записи и чтении данных в последовательный файл происходит автоматическое редактирование данных. В зависимости от того, на кого ориентировано это редактирование, человека или программу компьютера применяются две формы редактирования. Соответственно операторы записи и чтения существуют в двух вариантах:

  1. Для записи «человеко-ориентированных» данных применяется оператор Print#, представляющий данные в формате, подготовленном для отображения на экране дисплея. По существу, мы уже хорошо знакомы с этим оператором, поскольку ни одна наша программа не обходилась без вывода данных в окно отладки, а применяемый для этих целей метод Print объекта Debug по синтаксису и по действию подобен оператору Print#.
  2. Для записи данных, обрабатываемых после их чтения программой, используется оператор Write#. Заметим, в каком — то смысле это более универсальный оператор, чем Print, он, например, не зависит от локализации.

Оператор Print# записывает в файл форматированные данные. Его вызов имеет вид:

Print #номер-файла, [список-вывода]

Здесь номер-файла — номер файла, открытого в режиме последовательного доступа для записи ( Append или Output ), список-вывода — одно или несколько выражений, разделенных пробелами или точками с запятой, определяющих выводимые данные. Каждое выражение в этом списке может быть снабжено дополнительной информацией о расположении данных, делающее их восприятие более удобным для пользователя. Общий вид такого выражения:

[{Spc(n) | Tab[(n)]}] [выражение] [симв-поз]
  • Spc(n) задает количество вставляемых пробелов.
  • Альтернативный параметр Tab(n) указывает абсолютный номер n столбца, в котором будет начинаться текст, определяемый параметром выражение. Если не указывать аргумент у Tab, то позицией вставки является следующая зона печати. (Можно полагать, что при выводе экран разделен на зоны, и табуляция позволяет переходить от одной зоны к другой).
  • Параметр выражение задает выражение, значение которого после редактирования и преобразования его в текстовую строку будет записано в файл. На выражения не накладывается особых ограничений, Это могут быть как строковые, так и числовые выражения, они могут содержать данные разных типов. Даты записываются в файл в кратком формате, значения булевых переменных — как ключевые слова Ложь ( False ) или Истина ( True ), пустое значение Empty — как пустое слово, нулевое значение Null выводится как «Null». Данные об ошибке выводятся в виде кода ошибки. Числовые данные выводятся в формате, зависящем от локализации. При выводе можно вызвать для форматирования данных функцию Format.
  • Параметр симв-поз задает положение следующего выражения. Если он равен «;» или пробелу, вставка следующего выражения будет происходить сразу за последним выведенным символом, Tab(n) указывает номер n столбца, начиная с которого будет выводиться выражение. Tab без аргумента или «,» — переход в следующую позицию табуляции (зону печати).

Создадим теперь открытый ранее файл read.me, записывая в него выражения, позволяющие продемонстрировать все возможности оператора Print:

Public Sub WritingWithPrint()
		Dim MyBool As Boolean, MyDate As Date
		Dim MyNull As Variant, MyFloat As Double, MyErr As Variant
 
	Print #1, "Первая строка файла"			' запись текстовой строки.
	'Первая строка файла
	Print #1, "Зона 1"; Tab; "Зона 2"	' запись в двух позициях табуляции.
	'Зона 1 Зона 2
	Print #1, "Зона 1", "Зона 2"		 ' запятая разделяет как табуляции.
	'Зона 1 Зона 2
	Print #1, "Привет,"; "старик!"	'; склеивает выражения.
	'Привет,старик!
	Print #1, "Привет,"; "старик!"	' пробел действует аналогично.
	'Привет,старик!
	Print #1, Spc(5); "5 пробелов "		' вставка 5 пробелов слева.
	'	 5 пробелов
	Print #1, Tab(20); "Старик,"; Tab(10); "привет!"	' печать в соответствующих столбцах.
	'					Старик
	'		 привет!
	Print #1, "one"; " "; "two"		'разделение пробелом
	'one two
	MyBool = False					 ' булева переменная
	Print #1, MyBool
	'False
	MyDate = #6/14/1999#				' значение даты
	Print #1, MyDate				 ' печать в кратком формате
	'14.06.99
	MyNull = Null						' нулевое значение
	Print #1, MyNull
	'Null
	MyFloat = 3.1416					'вещественное значение
	' использование функции Format:
	Print #1, MyFloat, Format(MyFloat, "#.00"), Format(MyFloat, "00.000")
	'3,1416 3,14 03,142
	On Error Resume Next
	Err.Raise 6
	MyErr = Err
	Print #1, MyErr
	MyErr = CVErr(2000)
	Print #1, MyErr
End Sub

14.2.

Здесь в комментариях показан ожидаемый вид показа строки при ее чтении и печати. Чтобы не томить ожиданием, давайте сразу приведем процедуру, которая читает и выводит в окно отладки записи этого файла:

Public Sub ReadingWithLine()
	Dim MyStr As String
	
	Close #1
	Open Path & "read.me" For Input As #1
	Do While Not EOF(1)
		Line Input #1, MyStr
		Debug.Print MyStr
	Loop
End Sub

Текст в окне отладки выглядит в полном соответствии с нашими ожиданиями. Вот он:

Первая строка файла
Зона 1		Зона 2
Зона 1		Зона 2
Привет,старик!
Привет,старик!
	 5 пробелов 
					Старик,
		 привет!
one two
False
14.06.99 
Null
 3,1416		3,14			03,142
 6 
Error 2000

Обратите внимание, ошибки, возбуждаемые методом Raise и функцией CVErr, редактируются по-разному, в первом случае записывается только код ошибки, во втором ѕ код сопровождается ключевым словом Error, не переводимым в локализованных версиях.

Заметьте, точно такой же текст можно получить, если в процедуре WritingWithPrint заменить оператор Print на Debug.Print, поскольку этот метод и этот оператор порождают одинаковый результат, разница лишь в том, что один из них помещает результаты в файл, а другой ѕ в окно отладки.

При выводе данных можно управлять шириной выводимых строк. Ширину выводимых строк для открытого файла устанавливает оператор:

Width #номер-файла, ширина

Параметр ширина принимает значения от 0 до 255. Если при печати в файл оператором Print добавление значения очередного выражения в строку приведет к превышению установленной границы, это значение будет печататься с новой строки. При этом значение одного выражения не переносится, даже если его длина превышает установленную границу. Например, если для файла с номером 1 ограничить ширину строки 5 символами:

а затем напечатать строку:

Str = "раму мылом"
Print #1, "мама", "мыла", Str

то в файле окажутся строки:

Обращаем внимание и на то, что переход к новой строке может происходить и при встрече с разделителем Tab(n), если n задает позицию меньшую, чем текущая позиция. Пример такой ситуации встречался в нашей процедуре.

Как было показано, оператор Print вводит в файл данные разных типов, редактируя их в момент ввода и преобразуя в текстовый формат. Попутно он занимается и форматированием текста, приводя его к форме, удобной для отображения на дисплее. Во многих ситуациях форматирование, ориентированное на выдачу на экран дисплея, не является необходимым. В этих случаях для создания последовательного файла применяется Write#. Его синтаксис:

Write #номер-файла, [список-вывода ]

Параметр номер-файла — номер открытого файла с последовательным доступом, список-вывода — одно или несколько разделенных запятыми числовых или строковых выражений, значения которых записываются в файл. Разделителями выражений могут быть пробелы и точка с запятой.

Также как и оператор Print, оператор Write производит редактирование данных в момент записи. При этом приняты следующие соглашения:

  • В числах в качестве разделителя целой и дробной частей всегда используется точка.
  • В качестве булевых значений используются слова #TRUE# и #FALSE#.
  • При записи дат применяется универсальный формат.
  • Ошибки выводятся в формате #ERROR код-ошибки#.
  • Для пустого значения выражения ( Empty ) ничего не записывается
  • Значение Null записывается как #Null#.

В отличие от оператора Print, оператор Write# вставляет при записи запятые между соседними выражениями и заключает строковые значения в кавычки. После записи последнего выражения вставляется перевод на новую строку (Chr(13) + Chr(10)).

Следующая процедура создает файл с последовательным доступом «readme.txt» и записывает в него данные с помощью оператора Write#. При записи мы старались повторить содержимое предыдущего файла, чтобы можно было сравнить работу, выполняемую операторами Print и Write. Вот текст этой процедуры:

Public Sub WritingWithWrite()
	Dim MyStr As String, MyBool As Boolean, MyDate As Date
	Dim MyNull As Variant, MyFloat As Double, MyErr As Variant
	
	'Открытие файла readme.txt
	Open Path & "readme.txt" For Output As #7
	
	'Создание файла
	Write #7, "Первая строка файла"			' запись текстовой строки.
	Write #7, "Зона 1", "Зона 2"	' запись двух строк.
	Write #7, "Привет,", "старик!"	'еще две строки
	MyStr = "раму мылом. "
	Write #7, "Мама ", "мыла ", MyStr
	MyBool = False					 ' булева переменная
	Write #7, MyBool
	MyDate = #6/14/1999#				' значение даты
	Write #7, MyDate					' запись даты
	MyNull = Null						' нулевое значение
	Write #7, MyNull
	MyFloat = 3.1416					'вещественное значение
	' использование функции Format:
	Write #7, MyFloat, Format(MyFloat, "0.00"), Format(MyFloat, "00.000")
	On Error Resume Next
	Err.Raise 6
	MyErr = Err
	Write #7, MyErr
	MyErr = CVErr(2000)
	Write #7, MyErr

End Sub

14.3.

Результат выполнения этой процедуры — файл «readme.txt» — в текстовом редакторе выглядит так:

"Первая строка файла"
"Зона 1","Зона 2"
"Привет,","старик!"
"Мама ","мыла ","раму мылом. "
#FALSE#
#1999-06-14#
#NULL#
3.1416,"3,14","03,142"
6
#ERROR 2000#

Сравните эти строки с теми, что выдаются оператором Print.

Закрытие файлов

После того как с открытым с помощью инструкции Open файлом выполнены необходимые действия, его нужно закрыть. Операция закрытия (или освобождения) является обязательной для всех объектов операционной системы, а не только для файлов. При закрытии файла освобождается его дескриптор, а другие приложения получают возможность работать с этим файлом, если он был заблокирован при открытии.

В VBA для закрытия файлов предусмотрены две инструкции: Reset и Close. Формат этих инструкций следующий:

Reset

Close [[#]Десктиптор [, [#]Дескриптор]…]

Инструкция Reset закрывает все файлы, открытые ранее с помощью инструкции Open. Инструкция Close закрывает только файлы с указанными дескрипторами, например:

Close 1, #3, hFile

Если при использовании инструкции Close дескрипторы закрываемых файлов не указаны, то она закрывает все открытые ранее файлы.

Чтение из файлов и запись в файлы

В VBA программисту предоставляется множество инструкций для чтения и записи данных при работе с файлами. Эти инструкции разделяются на три группы в соответствии с тем, при каком типе доступа к файлу они используются: последовательном, произвольном или бинарном.

Инструкции последовательного доступа

Описание инструкций последовательного доступа, используемых для работы с файлами, приведено в табл. 1.11.

Таблица 1.11. Инструкции последовательного доступа к файлу

Ниже приведен пример использования данной функции для считывания из файла первых 10 символов:

Sub WriteToFile()

Open «D:\MyTextFile.txt» For Output As 1

‘ Запись данных в файл

Write #1, «Значение», «Value», 154.32

Print #1, «Слово1», «Слово2», 14.28464

Close 1

End Sub

Далее целесообразно привести пример процедуры, в которой осуществляется чтение записанных данных из файла:

Sub ReadFromFile()

Dim strVal1, strVal2, dblNumber

Dim strString

Open «D:\MyTextFile.txt» For Input As 1

‘ Чтение данных из файла

Input #1, strVal1, strVal2, dblNumber

Line Input #1, strString

Close 1

End Sub

Кроме приведенных в табл. 1.11 инструкций, в VBA имеется встроенная функция Input, позволяющая считывать из файла заданное количество символов:

Input(Количество_символов, [#]Дескриптор)

Ниже приведен пример использования данной функции для считывания из файла первых 10 символов:

Sub TestInput()

Dim strText As String

Open «D:\MyTextFile.txt» For Input As 1

» Чтение из файла первых 10 символов

strText = input(10, 1)

Close 1

End Sub

Инструкции произвольного доступа

При произвольном (Random) доступе файл представляется как совокупность записей, имеющих постоянную длину. Именно запись при данном типе доступа является элементарной единицей информации, которую можно считывать из файла или записывать в файл. Каждая запись имеет свой номер (нумерация начинается с единицы). Для работы с файлами при использовании произвольного доступа в VBA реализованы инструкции Put и Get для записи и чтения информации:

Put [#]Дескриптор, [Номер_записи], Переменная

Get [#]Дескриптор, [Номер_записи], Переменная

При выполнении инструкции Put значение переменной Переменная помещается в файл на место записи с номером Номерзаписи. Если номер записи не указывается, то данные помещаются в текущую запись файла.

Инструкция Get позволяет считать значение записи с номером Номерзаписи в переменную Переменная. Если номер записи не указан, то считывается текущая запись файла.

Рассмотрим пример, в котором две структуры сначала записываются в файл с помощью инструкции Put, а потом считываются из того же файла, но в обратном порядке:

Type Record

intVal As Integer

strName As String * 100

End Type

Sub TestRandomAccess()

Dim rec1 As Record, rec2 As Record

‘ Заполнение rec1 и rec2 значениями …

Open «D:\MyRandomAccessFile.txt» For Random Access Read Write _

As 1 Len = Len(rec1)

‘ Запись данных в файл

Put 1, , rec1

Put 1, , rec2

‘ Теперь считывание данных из файла

Get 1, 2, rec2

Get 1, 1, rec1

Close 1

End Sub

Инструкции бинарного доступа

Бинарный (Binary) доступ к файлу по своей сути идентичен произвольному доступу с тем лишь различием, что запись в файле имеет длину 1 байт. При бинарном доступе к файлу используются те же инструкции Put и Get, что и при произвольном доступе. Также при бинарном доступе для чтения определенного количества байт может быть использована функция Input, о которой было рассказано выше.

Определение конца файла

На практике часто приходится сталкиваться с необходимостью чтения данных из файла, размер которого заведомо неизвестен. Если достигается конец файла, а после этого производится попытка прочитать из него данные, то генерируется ошибка. Для предотвращения подобных ситуаций можно использовать функции EOF и LOF:

EOF(Дескриптор)

LOF(Дескриптор)

Функция EOF возвращает значение True, если достигнут конец файла, заданного параметром Дескриптор, и False – в противном случае. Если функция EOF возвратила значение False, то читать из файла больше нельзя. Для файлов, открытых в режиме Output, функция EOF всегда возвращает значение True.

Функция LOF позволяет узнать длину файла, заданного параметром Дескриптор. Эта функция возвращает значение типа Long, отражающее длину открытого файла в байтах.

Определение текущей позиции файла

Для определения текущей позиции файла в VBA предусмотрены функции Loc и Seek, имеющие следующий формат:

Loc(Дескриптор)

Seek(Дескриптор)

Обе функции возвращают значение текущей позиции файла, заданного параметром Дескриптор. Однако каждая из этих функций имеет свои особенности.

Функция Loc для файлов, открытых в режиме Random, возвращает номер последней считанной или записанной записи. Для файлов, открытых в режиме Binary, – номер последнего считанного или записанного байта. Для файлов, открытых в режиме последовательного доступа, – текущую позицию в байтах, деленную на 128.

Функция Seek для файлов, открытых в режиме Random, возвращает номер записи, которая будет считана из файла или записана в файл при следующей операции чтения/записи. Для остальных файлов эта функция возвращает номер байта, с которого будет начинаться следующая операция чтения или записи.

Привет! На фотографии я вижу экран компьютера с тестовым вопросом, который, кажется, относится к программированию или информатике. В вопросе спрашивается, какой командой можно закрыть файл, открытый с помощью инструкции Open. Это типичный вопрос, связанный с основами работы с файлами в некоторых языках программирования.

Для начала давай понимать контекст: инструкция Open используется для открытия файла, а значит, нам нужен метод или функция, которая будет закрывать файл после того, как мы закончили с ним работу.

Теперь рассмотрим предлагаемые варианты ответов:

  • FreeFile
  • Get
  • Reset
  • FileClose
  • Close
  • Break
  • Del
  • Kill

«FreeFile» используется для получения номера свободного файла в некоторых языках программирования, так что это не подходит для закрытия файла.
«Get» обычно относится к чтению данных из файла, а не к его закрытию.
«Reset» используется для закрытия всех открытых файлов в языке, такой как Basic, поэтому это может быть правильным ответом.
«FileClose» звучит правдоподобно, потому что название подразумевает закрытие файла, но в вопросе нет конкретного языка программирования, поэтому сложно сказать, используется ли этот термин.
«Close» является общим термином для закрытия файла во многих языках программирования, так что это также может быть верной командой.
«Break», «Del», «Kill» обычно относятся к другим опер

Завершает операции ввода/вывода с файлом, открытым с помощью инструкции Open.

Close [списокНомеровФайлов]

Параметры
списокНомеровФайлов
Необязательный аргумент списокНомеровФайлов может представлять один или несколько номеров файлов. При этом используется следующий синтаксис, где номерФайла представляет любой допустимый номер файла:

[[#]номерФайла] [, [#]номерФайла] . . .

Замечания
Если аргумент списокНомеровФайлов опущен, закрываются все активные файлы, открытые с помощью инструкции Open.
При закрытии файла, открытого в режиме Output или Append, в него добавляется содержимое последнего буфера вывода. Все буферы, связанные с закрытым файлом, освобождаются.
Инструкция Close разрывает связь между файлом и соответствовавшим ему номером файла.

Пример
В данном примере инструкция Close используется для закрытия трех файлов, открытых в режиме Output.

Dim I, FileName
For I = 1 To 3					' Цикл выполняется 3 раза.
	FileName = "TEST" & I			' Создает имя файла.
	Open FileName For Output As #I		' Открывает файл.
	Print #I, "Пример."			' Записывает строку в файл.
Next I
Close						' Закрывает все 3 открытых файла.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Морозилка nord super frost инструкция по эксплуатации
  • Аналог лиотон гель инструкция по применению
  • Инструкция к кухонному комбайну мулинекс double force compact
  • Уринари для кошек инструкция по применению
  • 1 вывоз статистика инструкция по заполнению