Процедура Seek в Delphi перемещает указатель в двоичном файле в новую позицию.
System unit
procedure Seek (var FileHandle : File; RecordNumber : LongInt);
Процедура Seek перемещает текущую позицию записи в открытом двоичном файле указанном FileHandle в новою позицию RecordNumber.
Файл, должно быть, был назначен AssignFile и открыт с помощью Reset или ReWrite.
Для нетипизированных файлов, размер записи устанавливается используя подпрограммы Reset или ReWrite.
Для типизированных файлов, размер записи = SizeOf (тип файла).
Первая запись в файле 0 запись.
Примечание.
Используйте SeekEoln или SeekEof, чтобы переместить указатель файла в текстовом файле.
Процедура Seek: Повторное установление в файле типа Word
var
myWord, myWord1, myWord2, myWord3, myWord4 : Word;
myFile : File of Word;
begin
// Попытка открыть бинарный файл Test.cus binary в режиме только для записи
AssignFile(myFile, 'Test.cus');
ReWrite(myFile);
// Запись нескольких строк Word данных в файл
myWord1 := 12;
myWord2 := 34;
myWord3 := 56;
myWord4 := 78;
Write(myFile, myWord1, myWord2, myWord3, myWord4);
// Закрытие файла
CloseFile(myFile);
// Повторное открытие файла только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Перемещение в начало 3-ей записи
Seek(myFile, 2); // Записи начинаются с 0
// Показ этой записи
Read(myFile, myWord);
ShowMessage('Record 3 = '+IntToStr(myWord));
// Закрытие файла
CloseFile(myFile);
end;
Результат
Record 3 = 56
Похожие функции, процедуры и команды
Eof — возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset.
Eoln — возвращает true, если позиция курсора находится в конце строки.
File — определяет типизированный или нетипизированный файл.
FilePos — дает позицию файла в двоичном или текстовом файле.
SeekEoln — пропускает символы, пока не встретится конец текущей строки или файла.
