- Введение
- Обучение
- Интерфейс
- Меню
- Файл
- Импорт
- Правка
- Вид
- Опции
- Опции
- Инструменты
- Справка
- Окна и диалоги
- Контролы
- Стандартные
- Дополнительные
- Win32
-
- Редакторы свойств
- Приложения
Для всех, кто, возможно, захочет конвертировать другие форматы форм в формат Koda или прочитать его в другой программе, написано это руководство по структуре K(oda)X(ml)F(ormat).
Формат форм Koda очень простой. Он удовлетворяет требованиям XML и легко может быть прочитан другими программами. Другие программы также могут писать формат Koda.
Примечания:
Общая структура:
<?xml version="1.0"?> <object type="type" name="name"> <properties> <property name="name" vt="vt"> ... </property> </properties> <components> <object> ... </object> </components> </object>
Объект имеет два атрибута: | |
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):
<property name="Lines" vt="List"> <list> <li>...</li> <li>...</li> </list> </property>
Коллекция:
<property name="Columns" vt="Collection"> <collection> <item> <property/> <property/> ... </item> ... </collection> </property>
Бинарные данные:
<property name="Icon" vt="Binary"> <bin>...</bin> <bin>...</bin> </property>
Бинарные данные должны быть разбиты на строки по 32 байта каждая и конвертированы в HEX, таким образом каждая пара <bin></bin> может содержать до 64 символов HEX.