Продолжение развития темы "Контроль изменений в составных документах"
http://forum.oberoncore.ru/viewtopic.php?f=1&t=2323&start=0.

В этой теме будем обсуждать технические стороны подсистемы и реализацию.

Выкладываю последнее техописание (spec) средств управления изменениями версий составных документов BlackBox (аналогdiffиpatch).

Вложение:Diff-patch.odc[6.73 КБ]
Скачиваний: 735


## Код:
```
(* Поля служебного заголовка *)
   Header* = RECORD
      header-:ARRAY 12 OF CHAR; (* Название формата файла *)
      version-: INTEGER; (* Версия формата *)
      datetime-: RECORD (* Дата-время заплатки *)
         d-: Dates.Date;
         t-: Dates.Time
      END;
      chksum-: INTEGER (*  *)
   END;
   
   (* Поля заплатки *)
   Label* = RECORD
      tag-: INTEGER; (* Уникальная метка *)
      type-: BOOLEAN; (* Начало/Конец заплатки *)
      desc-: ARRAY 32 OF CHAR; (* Описание *)
      path-: ARRAY 64 OF CHAR (* Путь к файлу для применения заплатки *)
   END;
   
   (* Поля блока *)
   Block* = RECORD
      optype-: INTEGER; (* Тип операции: добавление/удаление/изменение блока *)
      size-: INTEGER (* Размер блока в байтах *)
   END;
```
