/
YakuninAV
/
Convertors
Обзор
Документация
Войти
/
YakuninAV
/
Convertors
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PIR/PIRIntfs.pas
102 строки
5 KB
YakuninAV
begin with gitflick
31 июл 2026, 15:21
31 июл 2026, 15:21
1dc0fc6
Код
Авторство
О чём код?
unit PIRIntfs; {$I Synopse.inc} // define HASINLINE USETYPEINFO CPU32 CPU64 OWNNORMTOUPPER interface uses SysUtils, Classes, SynCommons, PIRTypes; type /// Интерфейс описателя элемента конфигурации таблицы IPIRTableConfigItemV1 = interface ['{62F527D6-6104-4020-AD28-AECA0A0DE095}'] function GetJSON: RawUTF8; function GetDoc: Variant; function GetFont: string; function GetColor: Integer; function GetEmpty: Boolean; function GetRange: TPIRTableRange; function GetSource: string; function GetSrcType: TPIRTableSourceType; procedure SetJSON(const Value: RawUTF8); procedure SetDoc(const Value: Variant); procedure SetFont(const Value: string); procedure SetColor(const Value: Integer); procedure SetEmpty(const Value: Boolean); procedure SetRange(const Value: TPIRTableRange); procedure SetSource(const Value: string); procedure SetSrcType(const Value: TPIRTableSourceType); /// Очищает информацию об источнике procedure Clear; /// Функция загружает информацию из JSON-документа function FromPDoc(const aDoc: PDocVariantData): Boolean; /// Функция извлекает текст из таблицы function GetText(const aTable: PDocVariantData; const aRow, aCol: Integer): string; /// Функция проверяет что ячейка принадежит области источника данных function CellInSourceRegion(const aRow, aCol: Integer): Boolean; /// Признак отсутствия информации property Empty: Boolean read GetEmpty write SetEmpty; /// Строка, содержащая описание источника информации property Source: string read GetSource write SetSource; /// Тип источника информации property SrcType: TPIRTableSourceType read GetSrcType write SetSrcType; /// Фонт используемый для выделения источника в таблице property Font: string read GetFont write SetFont; /// Цвет используемый для выделения источника в таблице property Color: Integer read GetColor write SetColor; /// JSON-строка с информацией property JSON: RawUTF8 read GetJSON write SetJSON; /// JSON-документ с информацией property Doc: Variant read GetDoc write SetDoc; /// Область, занимаемая источником информации property Range: TPIRTableRange read GetRange write SetRange; end; /// Интерфейс для импорта данных ПИР IPIRImporterV1 = interface ['{9CB83FF8-2093-4727-A187-F617EAE2D484}'] /// Функция производит импорт данных function DoImport: Boolean; /// Функция возвращает имя файла базы данных function GetDBName: TFileName; /// Функция возвращает имя файла, содержащего импортируемые данные function GetFileName: TFileName; /// Функция возвращает строку JSON с данными импорта function GetJSON: RawJSON; /// Функция возвращает набор опций импорта function GetOptions: TPIRImporterOptions; /// Процедура задаёт имя файла базы данных procedure SetDBName(const Value: TFileName); /// Процедура задаёт имя файла с импортируемыми данными procedure SetFileName(const Value: TFilename); /// Процедура принимает строку JSON с данными импорта procedure SetJSON(const Value: RawJSON); /// Процедура задаёт набор опций импорта procedure SetOptions(const Value: TPIRImporterOptions); //// Имя файла с базой данных property DBName: TFileName read GetDBName write SetDBName; /// Имя файла с данными property FileName: TFileName read GetFileName write SetFileName; /// Строка, содержащая данные в формате JSON property JSON: RawJSON read GetJSON write SetJSON; /// Опции, используемые при импорте property Options: TPIRImporterOptions read GetOptions write SetOptions; end; /// Интерфейс для сохраниения импортируемой информации ПИР в БД IPIRDBWriterV1 = interface ['{61C84D0B-2729-48B3-8841-F34C30A10C7B}'] function GetDBName: TFileName; procedure SetDBName(const Value: TFileName); function InsertDoc(PDoc: PDocVariantData): Boolean; function CheckDoc(const ID: Int64): Boolean; overload; function CheckDoc(PDoc: PDocVariantData): Boolean; overload; function UpdateDoc(PDoc: PDocVariantData; const ForceInsert: Boolean=true): Boolean; property DBName: TFileName read GetDBName write SetDBName; end; implementation end.