Забележка: Функцията, методът, обектът или свойството, описани в тази тема, се забраняват, ако услугата microsoft Jet Expression се изпълнява в ограничителен режим, което предотвратява оценяването на потенциално опасни изрази. За повече информация относно ограничителния режим потърсете "ограничителен режим" в помощта.
Връща стойност от тип Long, указваща текущата позиция за четене/запис във файл, отворен с помощта на командата Open .
Синтаксис
Seek( filenumber )
Необходимият filenumberаргумент е цяло число, съдържащо валидно номер на файл.
Забележки
Seek връща стойност между 1 и 2 147 483 647 (еквивалентна на 2^31 – 1), включително.
По-долу са описани върнатите стойности за всеки режим на достъп до файл.
"Мода" |
Върната стойност |
Случайно |
Номер на следващия прочетен или написан запис |
Двоично,Изход,Добавяне,Вход |
Байтова позиция, в която се извършва следващата операция. Първият байт във файла е в позиция 1, вторият байт е в позиция 2 и т.н. |
Пример
Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.
Този пример използва функцията Seek , за да върне текущата позиция на файла. Примерът предполага, TESTFILE е файл, съдържащ записи от дефиниран от потребителя тип Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
За файлове, отворени в случаен режим, Seek връща броя на следващия запис.
Dim MyRecord As Record ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord) Do While Not EOF(1) ' Loop until end of file. Get #1, , MyRecord ' Read next record. ' Print record number to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.
За файлове, отворени в режими, различни от случаен режим, Seek връща позицията на байтовете, в която се извършва следващата операция. Да предположим, че TESTFILE е файл, съдържащ няколко реда текст.
Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading. Do While Not EOF(1) ' Loop until end of file. MyChar = Input(1, #1) ' Read next character of data. ' Print byte position to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.