Статьи по Делфи
Меню сайта


Категории каталога
Мои статьи [2]
Функции и процедуры Win Api [20]
Работа с мышью [10]
Реестр и Делфи [11]
Работа с файлами [38]
Делфи и Хакер [10]
Инсталлятор собственными руками [6]
Хитрости в делфи [3]
Работа с системой [19]


Форма входа


Поиск по каталогу


Друзья сайта


Наш опрос
Понравились ли вам треки
Всего ответов: 156


Приветствую Вас, Гость · RSS 2020-09-19, 10:35 PM
Начало » Статьи » Работа с файлами

Процедура BlockRead
Процедура BlockRead(
var Vf : file;
var Buf; Count: Integer
[; var AmtTransferred: Integer] );

--------------------------------------------------------------------------------

Модуль: System

Описание
Процедура читает одну или большее количество записей из открытого файла, связанного с файловой переменной Vf, в переменную Buf.
Параметр Count определяет количество записей, которое необходимо прочитать из файла.
В параметре AmtTransferred возвращается фактическое количество прочитанных записей, которое может быть меньше Count (например, когда размер последнего блока данных в файле меньше заданного размера записи).
Максимальный размер прочитанного блока равен Count*RecSize байт. RecSize - размер записи, определенный, во время открытия файла (если размер записи не был задан, то используется значение по умолчанию - 128 байт).
Параметр AmtTransferred является необязательным. Но если данный параметр опущен, а количество прочитанных записей меньше Count, то возникнет ошибка ввода/вывода (исключение EInOutError).

Пример
var

Vf1, Vf2 : file;
NRead, NWrite: Integer;
Buf: array[1..1024] of Char;

begin

AssignFile(Vf1, 'read.txt');
Reset(Vf1, 1); {Устан-ет размер записи входного файла =1}
AssignFile(Vf2, 'write.txt');
Rewrite(Vf2, 1); {Устан-ет размер записи выходного файла =1}
repeat
BlockRead(Vf1, Buf, SizeOf(Buf), NRead); {читает данные}
BlockWrite(Vf2, Buf, NRead, NWrite); {записывает данные}
until (NRead = 0) or (NWrite <> NRead);
CloseFile(Vf1);
CloseFile(Vf2);

end;

Категория: Работа с файлами | Добавил: Admin (2006-12-17)
Просмотров: 2271 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *: