Описание:
Переменная FileMode определяет режим, в котором процедура Reset открывает типизированный или нетипизированный двоичный файл.Процедура Reset открывает нетекстовый файл для чтения, записи или чтения+записи, как это задает FileMode:
fmOpenRead
|
= 0 = Только для чтения
|
fmOpenWrite
|
= 1 = Только для записи
|
fmOpenReadWrite
|
= 2 = Для чтения и записи (по
умолчанию)
|
Используйте Seek для перемещения текущей позиции в файле. Это полезно для выборочного изменения или добавления в конец файла.
Пример кода:
var
myWord, myWord1, myWord2,
myWord3 : Word;
myFile : File of Word;
begin
// Try to open the Test.cus binary file in write only mode
AssignFile(myFile, 'Test.cus');
FileMode :=
fmOpenWrite;
ReSet(myFile);
// Write a few
lines of Word data to the file
myWord1 := 123;
myWord2 := 456;
myWord3 := 789;
Write(myFile,
myWord1, myWord2, myWord3);
// Close the file
CloseFile(myFile);
// Reopen the file in
read only mode
FileMode := fmOpenRead;
Reset(myFile);
// Display the file contents
ShowMessage('File contents at the start');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
//
Close the file again
CloseFile(myFile);
//
Reopen the file in read+write mode
FileMode := fmOpenReadWrite;
Reset(myFile);
// Read one Word of data,
then overwrite the next
Read(myFile, myWord);
myWord := 9876;
Write(myFile, myWord);
//
Close the file
CloseFile(myFile);
//
Reopen the file in read only mode
FileMode := fmOpenRead;
Reset(myFile);
// Display the file
contents
ShowMessage('Updated file contents');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
//
Close the file for the last time
CloseFile(myFile);
end;
Результат выполнения:
File contents at the start
123
456
789
Updated file
contents
123
9876
789