Функция Seek

Seek(FileNumber)

Функция Seek определяет текущее положение указателя чтения\записи внутри файла, открытого с помощью инструкции Open

Возвращаемое значение

Возвращает значение типа Long в интервале от 1 до 2 147 483 647 (т.е. 2^31 –  1) включительно, определяющее текущее положение указателя чтения/записи внутри файла, открытого с помощью инструкции Open

Описание значений, возвращаемых для каждого режима доступа к файлу
RandomНомер записи, которая будет считана или записана следующей
Binary,
Output,
Append,
Input
Номер байта, с которого начинается выполнение следующей операции ввода/вывода. Первому байту файла соответствует номер 1, второму 2 и т.п.

Параметры
FileNumberОбязательный аргумент является выражением типа Integer, содержащим допустимый номер файла

Пример

 'В данном примере функция Seek
' используется для определения текущего
' положения указателя внутри файла.
' Предположим, что файл TESTFILE содержит
' несколько записей определенного
' пользователем типа Record

Type Record	' Тип, определенный пользователем
	ID As Integer
	Name As String * 20
End Type

' Для файлов, открытых в режиме Random, Seek возвращает номер следующей записи

Dim MyRecord As Record	' Объявляет переменную
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)	' Цикл до конца файла
	Get #1, , MyRecord	' Читает следующую запись
	Debug.Print Seek(1)	' Выводит номер записи в окно 
			' "Отладка"
Loop
Close #1	' Закрывает файл

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

Dim MyChar
Open "TESTFILE" For Input As #1	' Открывает файл для чтения
Do While Not EOF(1)	' Цикл до конца файла
	MyChar = Input(1, #1)	' Читает следующий символ данных
	Debug.Print Seek(1)	' Выводит номер байта в окно 
			' "Отладка"
Loop
Close #1	' Закрывает файл
Категория
Функции работы с файлами