Output
 
Указывает , что текстовый файл должен быть открыт в режиме вывода

Синтаксис

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



См. также