Указывает, что текстовый файл будет открыт в режиме
Input
(ввода)
Синтаксис
Параметры
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
См. также