Kol_f_edit версия от 22.12.2010

Оглавление

О программе

Программа для автоматизации создания интерфейса. Многие функции программы пока еще не сделаны, потому возможности ее практического использования минимальные. Лицензия свободная.

Внешний вид программы.

Алгоритм работы с программой

1) Открываем шаблон программы из файла min_prog.ced или box_l.ced (min_prog.ced - "минимальная" программа, box_l.ced - программа с подключением библиотеки box_lib.obj, планируеться добавление других шаблонов)

2) Редактируем объекты в подключенном файле *.ced

3) Создаем *.asm код в текстовом окне кнопкой на панели. Сохраняем *.asm код на диск (работоспособность получившегося файла не гарантируется, т. к. многие элементы еще доконца не запрограмированы)

4) Редактируем получившийся *.asm файл любым текстовым редактором

Виды объектов

Програмный код создается на основе свойств объектов, внесенных в файл проэкта. Все объекты внутри програмы представляються структурами вида:

struct object
	id dd ? ;идентификатор объекта
	txt rb MAX_LEN_OBJ_TXT ;текстовые свойства
	lvl db 0
	clo db 0
	typid dd ? ;номер объекта определяющего тип переменной
	modif dd ? ;битовые свойства
ends

В зависимости от вида объекта не все его параметры могут использоваться. Большая часть свойств объекта задается параметрами: txt (текстовые свойства), typid и modif (битовые свойства). Редактирование оъектов совершается через окно свойств объекта. При создании объекта текстовые свойства вносятся в текстовые поля (элементы editbox слевой стороны окна); битовые свойства задаются флажками (находятся справой стороны в нижнем углу окна) а тип объекта выбирается из списка, который доступен только при редактировании переменных (находятся справой стороны в верхнем углу окна).

Для открытия окна со свойствами объекта нужно выбрать редактируемый объект и нажать [Enter] или кнопку на панели инструментов.

Тип даного

Переменные в програмном коде имеют разные типы данных. Этот объект служит для задания типов данных, с которыми в последствии можно связывать объекты переменных. Один объект типа данных может много раз использоваться для задания типов переменных.

Переменная

Объект переменной содержит 3 текстовых свойства: 1) имя переменной, 2) значение по умолчанию, 3) комментарий; и одну ссылку на объект типа данного или объект структуры.

Структура

Объект структуры содержит 2 текстовых свойства: 1) имя структуры, 2) параметры для макроса. Свойство параметры для макроса не обязательно для заполнения. Структура должна содержать в себе переменные. Все объекты переменных структуры должны быть расположены уровнем ниже чем объект структуры, таким образом программа при создании кода определит где находится начало и конец данных структуры.

Asm код

Объект содержащий програмный код, который вставляется в генерируемую программу. Длина кода ограничивается размером константы MAX_LEN_OBJ_TXT (200 символов). Подобный объект нужен для задания каких-либо готовых пользовательских функций или для выхода из нестандартных заранее не предусмотренных ситуаций. Может возникнуть ситуация, когда через использование других объектов решение задачи может оказаться нецелесообразным, например такой код:

struct p
	a dd ?
	b dd ?
ends

Можно создать из 3-х обектов: 1-на структура и 2 переменные или обойтись 1-м объектом asm кода.

Авто код

Для програмирования некоторых объектов необходимо написание кода в разных местах программы. Но один объект не может создавать свой код в разных местах. Для решения этой задачи был создан объект авто кода. Он может автоматически создавать коды других объектов. Этот объект содержит текстовое свойство, которое используется как подсказка пользователю, но в програмный код не попадает. Также содержит флаги, от которых зависит какой именно код будет создаваться, вот они:

Этот объект работает в связке с другими объектами, а сам по себе никакого кода не создает.

Импорт библиотеки

Данный объект служит для создания структуры импорта библиотеки. Содержит параметры:

Для создания програмного кода этого объекта нужен объект авто кода с включенной опцией коды элементов. Этот объект используется вместе с объектами функция из библиотеки, которые должны быть дочерними для него.

Автор

Игорь А. (IgorA) - разработка программы.