Subversion Repositories Kolibri OS

Rev

Rev 1727 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1727 IgorA 1
2
3
Оглавление
4
5
48
49
 
50
1732 IgorA 51

Kol_f_edit версия от 31.12.2010

1727 IgorA 52

Оглавление

53
    54
  • О программе
  • 55
  • Алгоритм работы с программой
  • 56
  • Виды объектов
  • 57
    	
      58
      	
    • Тип даного
    • 59
      	
    • Переменная
    • 60
      	
    • Структура
    • 61
      	
    • Asm код
    • 62
      	
    • Авто код
    • 63
      	
    • Импорт библиотеки
    • 1732 IgorA 64
      	
    • Функция из библиотеки
    • 65
      	
    • Включение файла
    • 1727 IgorA 66
      	
      67
      68
       
      69

      О программе

      70

      Программа для автоматизации создания интерфейса.

      1732 IgorA 71
       Некоторые из функций программы пока еще не сделаны, потому возможности ее практического использования ограничены.
      1727 IgorA 72
       Лицензия свободная.

      73

      74

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

      75
       
      76

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

      1732 IgorA 77

      1) Открываем шаблон программы из файла с расширением .ced

      78
       (min_prog.ced - "минимальная" программа, box_l.ced - программа с подключением библиотеки box_lib.obj,
      79
       buf2d.ced - программа с подключением библиотеки buf2d.obj, планируеться добавление других шаблонов)

      1727 IgorA 80

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

      1732 IgorA 81

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

      82

      4) Редактируем получившийся *.asm файл любым текстовым редактором. Для этого убираем в начале файла описания структур (т. к. они содержатся в подключаемых файлах .inc) и дописываем пути к подключаемым файлам.

      1727 IgorA 83
       
      84

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

      85

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

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

      В зависимости от вида объекта не все его параметры могут использоваться.

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

      99

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

      100
       
      101

      Тип даного

      102
      103

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

      104
       
      105

      Переменная

      106
      107

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

      108
       и одну ссылку на объект типа данного или объект структуры.

      109
       
      110

      Структура

      111
      112

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

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

      114
       
      115

      Asm код

      116
      117

      Объект содержащий програмный код, который вставляется в генерируемую программу.

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

      121
      struct p
      122
      	a dd ?
      123
      	b dd ?
      124
      ends
      125

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

      126
       
      127

      Авто код

      128
      129

      Для програмирования некоторых объектов необходимо написание кода в разных местах программы.

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

      134
        135
      • первоначальные настройки элементов
      • 136
      • события от мыши
      • 137
      • коды элементов
      • 138
      • нажатия на кнопки
      • 139
        140

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

        141
         
        142

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

        143
        144

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

        145
          146
        • имя библиотеки
        • 147
        • путь к системной директории для поиска библиотеки
        • 148
        • метка используемая при импорте
        • 149
        • приставка, которая будет добавляться перед именем каждой импортируемой функции
        • 150
        • текст ошибки который появляется если библиотека не найдена
        • 151
        • текст ошибки который появляется если возникли проблемы с импортом функций из библиотеки
        • 152
          153

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

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

          1727 IgorA 155
           
          1732 IgorA 156

          Функция из библиотеки

          157
          158

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

          159
            160
          • програмное имя функции (то имя каким функция будет называться в пользовательской програме)
          • 161
          • импортируемое имя функции (то имя которое записано в библиотеке)
          • 162
            163

            В большинстве случаев эти параметры будут совпадать друг с другом.

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

            165
             
            166

            Включение файла

            167
            168

            Объект создания кода подключения файлов, через ключевое слово include. Содержит параметры:

            169
              170
            • имя файла (вместе с путем и одинарными кавычками)
            • 171
            • комментарий (используется если пользователю необходимо добавить описание подключаемого файла)
            • 172
              173
               
              1727 IgorA 174

              175

              176
               
              177

              Автор

              178

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

              179
               
              180
              181