Понедельник, 07.07.2025, 05:59
Системы автоматизированного проектирования в радиоэлектронике
В начало | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
С помощью объектного подхода можно одинаково работать с любым внешним хранилищем данных.
Новые типы данных основаны на базовом классе TStream (поток). Базовый класс имеет набор виртуальных методов записи, считывания и установки позиции внутри набора данных.
Класс TFileStream для работы с файлами является наследником класса TStream.
При объектном подходе файл представляется последовательностью байтов; он обрабатывается только как двоичный.
При открытии файла задается имя файла и режим открытия:
constructor Create (const FileName: string; Mode: Word);
Mode: fmCreate, fmOpenRead, fmOpenWrite, fmRW.
Для закрытия файла вызывается метод Free.
Считывание и запись данных:
function Read (var Buffer; Count: Longint): Longint;
В переменную Buffer, начиная с текущей позиции, записывается число байтов Count.
function Write ()…
Функции возвращают число считанных или записанных байтов.
Установка позиции в файле осуществляется с помощью метода
function Seek (offset: Longint; Origin: Word): Longint;
Origin: soFromBeginning
  soFromCurrent
  soFromEnd -(offset ≤ 0)

Класс TFileStream наследует свойства:
Handle – идентификатор
Size – длина файла в байтах
Position – текущая позиция от начала файла

Пример:
var Stream: TFileStream;
Buf: array[0…50] of char;
begin
try
Stream:=TFileStream.Create (‘c:\a.dat’,
 fmOpenReadWrite);
Stream Seek (Stream.Size div 2, soFromBeginning);
Stream Read (Buf, 50);
Edit1.Text:=StrPas(Buf);
finally
Stream.Free;
end;
end;
(открывается файл в виде потока, выполняется установка позиции на его середину, считывается 50 байтов, которые выводятся в поле Edit1, затем файл закрывается).
procedure SetSize (NewSize: Longint) – позволяет изменить текущий размер файла (усечение файла).
Для копирования файлов можно применять метод.
function CopyFrom (Source: TStream; Count: Longint): Longint;
Source – поток-источник, из которого берется число байтов Count, и копируется в текущий объект (с автоматической временной буферизацией данных).

Поиск
Друзья сайта
Copyright MyCorp © 2025
Конструктор сайтовuCoz