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

Синтаксис

Open filename for Input [Encoding encoding_type] [Lock lock_type] as [#]filenum

Параметры

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

Описание

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

Этот режим позволяет читать последовательно строки текста с помощью Line Input #, или читать через запятую значения с помощью Input #.

Текстовые файлы не могут одновременно читаться и записываться в 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



См. также