Инструменты пользователя

Инструменты сайта


koda:ru:documentation:appendice_koda_form_format

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

koda:ru:documentation:appendice_koda_form_format [2014/07/09 10:40] (текущий)
Строка 1: Строка 1:
 +====== Формат форм Koda ======
 +
 +Для всех, кто, возможно,​ захочет конвертировать другие форматы форм в формат Koda или прочитать его в другой программе,​ написано это руководство по структуре K(oda)X(ml)F(ormat).
 +
 +Формат форм Koda очень простой. Он удовлетворяет требованиям XML и легко может быть прочитан другими программами. Другие программы также могут писать формат Koda.
 +
 +
 +**Примечания:​**
 +  * в настоящее время Koda может работать только с файлами в ANSI-кодировке.
 +  * все тэги/​атрибуты регистрозависимые.
 +  * узлы "​properties"​ и "​components"​ должны присутствовать в каждом объекте,​ независимо от того, содержат они что-либо или нет.
 +
 +
 +**Общая структура:​**
 +<code xml>
 +<?xml version="​1.0"?>​
 +<object type="​type"​ name="​name">​
 +    <​properties>​
 +        <​property name="​name"​ vt="​vt">​
 +            ...
 +        </​property>​
 +    </​properties>​
 +    <​components>​
 +        <​object>​
 +            ...
 +            </​object>​
 +    </​components>​
 +</​object>​
 +</​code>​
 +
 +|**Объект имеет два атрибута:​**||
 +|type|Имя класса объекта,​ например "​TALabel"​.|
 +|name|Уникальное имя объекта. Этот атрибут контролируется приложением,​ так что парсер Koda не будет исправлять его, если оно не уникально! Единственное исключение - пустое имя: может быть любое количество объектов с //​пустым именем//​.|
 +
 +|**Свойства имеют два атрибута:​**|||
 +|name|Имя свойства,​ например "​Caption"​.||
 +|vt (variant type)|Тип сохраненного значения. Может принимать следующие значения:​||
 +|  |Int8|короткое 8-bit целое;​|
 +|  |Int16|короткое 16-bit целое;​|
 +|  |Int32|длинное 32-bit целое;​|
 +|  |Int64|длинное 64-bit целое (этот тип допустим,​ но не используется в Koda);|
 +|  |True/​False|булевое значение|
 +|  |Single|число с плавающей точкой;​|
 +|  |Extended|число с плавающей точкой (двойной точности);​|
 +|  |Currency|валюта (не используется в Koda);|
 +|  |String|строка ANSI;|
 +|  |UTF8String,​\\ WString|юникодовая строка,​ сейчас обрабатывается как строка ANSI;|
 +|  |Ident|идентификатор объекта;​|
 +|  |Set|набор идентификаторов;​|
 +|  |Date|дата/​время. Ввиду того, что Delphi некорректно обрабатывает потоки с этим типом, он не используется Koda, и не рекомендуется к использованию;​|
 +|  |List|список строк (см. ниже);|
 +|  |Collection|коллекция (см. ниже);|
 +|  |Binary|бинарные данные (см. ниже).|
 +
 +**Некоторые типы, требующие специальной обработки:​**
 +
 +//​Список строк (например,​ свойство Items в Listbox)://
 +
 +<code xml>
 +<​property name="​Lines"​ vt="​List">​
 +    <​list>​
 +        <​li>​...</​li>​
 +        <​li>​...</​li>​
 +    </​list>​
 +</​property>​
 +</​code>​
 +
 +//​Коллекция://​
 +<code xml>
 +<​property name="​Columns"​ vt="​Collection">​
 +    <​collection>​
 +        <​item>​
 +            <​property/>​
 +            <​property/>​
 +            ...
 +        </​item>​
 +        ...
 +    </​collection>​
 +</​property>​
 +</​code>​
 +
 +//​Бинарные данные://​
 +<code xml>
 +<​property name="​Icon"​ vt="​Binary">​
 +    <​bin>​...</​bin>​
 +    <​bin>​...</​bin>​
 +</​property>​
 +</​code>​
 +
 +Бинарные данные должны быть разбиты на строки по 32 байта каждая и конвертированы в HEX, таким образом каждая пара <​bin></​bin>​ может содержать до 64 символов HEX.
  
koda/ru/documentation/appendice_koda_form_format.txt · Последние изменения: 2014/07/09 10:40 (внешнее изменение)