Указывает , что текстовый файл должен быть открыт в режиме вывода
Синтаксис
Open filename for Output [Encoding encoding_type] [Lock lock_type] as [#]filenum
Параметры
filename
имя файла, чтобы открыть для вывода
encoding_type
указывает тип кодировки для файла
lock_type
блокировка, которая будет использоваться в то время как
файл открыт
filenum
свободный файловый номер, связываемый с открытым файлом
Описание
Режим файла, используемый с
Open ,
чтобы открыть текстовый файл для записи.
Этот режим используется для записи текста с помощью
Print #,
или значения, разделенные запятыми с помощью
Write #.
Текстовые файлы не могут одновременно считываться и записываться в FreeBASIC,
так что если вам нужны обе функции, требуются , чтобы тот же файл был
открыт два раза.
filename должно быть строковым выражением доступного имени файла
в целевой ОС, без шаблонов. Файл не будет искаться в текущем каталоге, если
filename
содержит путь. Если файл не существует, он будет создан. Указатель
устанавливается на первый символ файла.
Encoding_type указывает на Unicode
Encoding(кодировку)
файла, для того, чтобы символы правильно считывались. Если параметр опущен,
по умолчанию кодировка "ascii". Только кодировка символов с обратным
порядком байт поддерживаются в данный момент.
- "utf8"
- "utf16"
- "utf32"
- "ascii" (по умолчанию)
Lock_type указывает, что файл заблокирован для других
процессов, может быть одним из:
- Read - файл может быть открыт одновременно другими
процессами, но только не для чтения
- Write - файл может быть открыт одновременно другими
процессами, но только не для записи
- Read Write - файл не может быть открыт одновременно другими
процессами (по умолчанию)
filenum - допустимый FreeBASIC номер файла (в
диапазоне
1..255) не используемый для любого другого файла в
настоящее время. Номер файла определяет файл для остальной части файловых
операций. Свободный файловый номер можно найти с помощью функции
FreeFile.
Пример
Dim ff As UByte
Dim randomvar As Integer
Dim name_str As String
Dim age_ubyte As UByte
ff = FreeFile
Input "What is your name? ",name_str
Input "What is your age? ",age_ubyte
Open "testfile" For Output As #ff
Write #ff, Int(Rnd(0)*42),name_str,age_ubyte
Close #ff
randomvar=0
name_str=""
age_ubyte=0
Open "testfile" For Input As #ff
Input #ff, randomvar,name_str,age_ubyte
Close #ff
Print "Random Number was: ", randomvar
Print "Your name is: " + name_str
Print "Your age is: " + Str(age_ubyte)
'Файл в этом примере будет выглядеть следующим образом,
'исключая комментарий конечно:
'23,"Your Name",19
Отличия от QB
См. также