Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
Seek
Процедура
Перемещает указатель в двоичном файле в новую позицию System unit
  procedure Seek ( var FileHandle : File; RecordNumber : LongInt ) ;
Описание
Процедура Seek перемещает текущую позицию записи в открытом двоичном файле указанном FileHandle в новою позицию RecordNumber.

Файл, должно быть, был назначен AssignFile и открыт с помощью Reset или ReWrite.

Для нетипизированных файлов, размер записи устанавливается используя подпрограммы Reset или ReWrite.

Для типизированных файлов, размер записи = SizeOf(тип файла).

Первая запись в файле 0 запись.
Примечания
Используйте SeekEoln или SeekEof, чтобы переместить указатель файла в текстовом файле.
Похожие команды
Eof  Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset

Eoln  Возвращает true, если позиция курсора находится в конце строки

File  Определяет типизированный или нетипизированный файл

FilePos  

SeekEoln  Пропускает символы, пока не встретится конец текущей строки или файла

 
Пример кода : Повторное установление в файле типа 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
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия