TgsMMFStream (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
  
 +
Вспомогательный класс для механизма сохранения в поток. Предназначен для замены TClientDataSet. Использует отображаемые в память файлы для хранения объемов данных, превышающих размер доступной оперативной памяти. Может работать в двух режимах: записи и считывания.
 +
 +
=== Режим записи ===
 +
 +
# Создание объекта
 +
# AddFieldDef для каждого поля
 +
# Цикл для каждой записи:
 +
## SetFromDataSetField для каждого поля
 +
## Post
 +
# SaveToStream
 +
# Уничтожение объекта
 +
 +
=== Режим чтения ===
 +
 +
# Создание объекта
 +
# LoadFromStream
 +
# Цикл для каждой записи:
 +
## SetDataSetField для каждого поля
 +
## Next
 +
# Уничтожение объекта
 +
 +
=== Свойства ===
 +
 +
RecordCount -- количество записей. Только для чтения.
 +
CurrentRecord -- номер текущей записи. Только для чтения.
 +
EOF -- Только для чтения.
 +
 +
=== Формат потока ===
 +
 +
Поток состоит из заголовка и данных. Заголовок содержит информацию о полях и о количестве записей. Данные -- непрерывный поток с данными всех записей. Разделителей между записями нет. Т.е. окончание записи находится там, где оканчиваются данные последнего поля в списке. Если прочитано записей меньше, чем находится в заголовке, то выдается исключение.
  
 
=== См. также ===
 
=== См. также ===

Версия 20:16, 23 октября 2008

Вспомогательный класс для механизма сохранения в поток. Предназначен для замены TClientDataSet. Использует отображаемые в память файлы для хранения объемов данных, превышающих размер доступной оперативной памяти. Может работать в двух режимах: записи и считывания.

Содержание

Режим записи

  1. Создание объекта
  2. AddFieldDef для каждого поля
  3. Цикл для каждой записи:
    1. SetFromDataSetField для каждого поля
    2. Post
  4. SaveToStream
  5. Уничтожение объекта

Режим чтения

  1. Создание объекта
  2. LoadFromStream
  3. Цикл для каждой записи:
    1. SetDataSetField для каждого поля
    2. Next
  4. Уничтожение объекта

Свойства

RecordCount -- количество записей. Только для чтения. CurrentRecord -- номер текущей записи. Только для чтения. EOF -- Только для чтения.

Формат потока

Поток состоит из заголовка и данных. Заголовок содержит информацию о полях и о количестве записей. Данные -- непрерывный поток с данными всех записей. Разделителей между записями нет. Т.е. окончание записи находится там, где оканчиваются данные последнего поля в списке. Если прочитано записей меньше, чем находится в заголовке, то выдается исключение.

См. также

Managing Memory-Mapped Files in Win32

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты