Pastaba
Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė išjungiama, jei "„Microsoft“ Jet" reiškinių tarnyba veikia smėlio dėžės režimu, kuris neleidžia įvertinti potencialiai nesaugių reiškinių. Daugiau informacijos apie smėlio dėžės režimą ieškokite žinyne "smėlio dėžės režimas".
Pateikia Ilgąjį, nurodantį dabartinę skaitymo/rašymo padėtį faile, atidarytame naudojant sakinį Open .
Sintaksė
Seek(failo numeris)
Būtinas failo skaičiausargumentas yra sveikasis skaičius, kuriame yra leistinas failo numeris.
Pastabos
Ieškoti grąžina reikšmę nuo 1 iki 2 147 483 647 (atitinka 2^31 – 1), imtinai.
Toliau aprašomos kiekvieno failų prieigos režimo pateikiamos reikšmės.
| Režimas | Pateikiama reikšmė |
|---|---|
| Atsitiktinis | Kito perskaityto arba įrašyto įrašo numeris |
|
Dvejetainė, Išvestis, Papildyti, Įvestis |
Baito vieta, kurioje atliekama kita operacija. Pirmasis baitas faile yra 1 pozicijoje, antrasis baitas yra 2 padėtyje ir t. t. |
Pavyzdys
Pastaba
Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Šiame pavyzdyje naudojama funkcija Seek dabartinei failo padėčiai pateikti. Pavyzdyje daroma prielaida, kad TESTFILE tai failas, kuriame yra vartotojo apibrėžto tipo Recordįrašai.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Failams, atidarytiems atsitiktiniu režimu, ieškos funkcija grąžina paskesnio įrašo numerį.
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.
Failams, atidarytiems ne atsitiktiniu režimu, paieška grąžina baito padėtį, kurioje atliekama kita operacija. Tarkime TESTFILE , kad tai failas, kuriame yra kelios teksto eilutės.
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.