ENGLISH

RUSSIAN(Русский)

 

AL-IV:   История версий

 

7.05.2018 - новая версия 0.90.3

  • Изменения:
    • Значительный прогресс в компиляции в Python: компилируются и работают простейшие GUI-приложения;
    • Python: {Clipboard} работает через tkinter (библиотека для GUI на Python), так что нет необходимости доустанавливать пакеты (pyperclip);
    • {Paint_turtle}: т.к. в Windows 8 могут возвращаться неверные цвета системными функциями, в качестве нормального цвета рисования теперь используется цвет 'BUTTON_TEXT'; и добавлен метод Set_normal_color для установки желаемого цвета.
    • Все визуальные тесты перемещены из AL4\Library\Visual в AL4\Test_visual_projects; файл OTLv4.h теперь требуется разместить в папке %OTL% (нужна переменная окружения %OTL);
  • Исправления:
    • {Stream}.Get_line ==> теперь может загружать строки из текстовых файлов Unix (завершающихся единственным символом #LF);
    • C#: {Button} автоматически выставленная высота была слишком мала в системах с установленным большим размером шрифта, теперь вычисляется на основе шрифта по умолчанию;
    • C++: {Random}.Probable ==> всегда возвращал 0.0;
    • C++: анализ ошибок компиляции был слишком подозрительным - по любому слову "error" в выдаче компилятора останавливал запуск тестов/приложения.

 

 

 

22.04.2018 - версия 0.90.2

  • Изменения:
    • Запрещено использовать операции ++/-- в выражениях с условно вычисляемыми частями (т.е. с операциями && / ||);
    • Значительный прогресс в компиляции в Python: консольные приложения компилируются и работают (в Windows и в Linux);
  • Исправления:
    • Запрет на операцию IN/!IN для проверки включения вещественного числа в массив вещественных.

 

 

 

12.04.2018 - версия 0.90.1

  • Изменения:
    • {Stream}: быстрая загрузка строк (кодировка ANSI);
    • C++: Опция компилятора /$SSTRINGS отменена;
  • Исправления:
    • Delphi/KOL: Write_file_stream не записывал файл;
    • C#: загрузка текста в кодировке ANSI;
    • Delphi/VCL: имело место большое потребление процессора;
    • Оптимизация путем вставки тела функции (inline) не проводится, если оптимизируемая функция сама вызывает функции из классов, не импортированных в текущем классе (иначе возникают проблемы с компиляцией целевым компилятором);
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4);
    • Добавлена подсветка синтаксиса Pascal (частично);
    • Увеличена скорость отрисовки;

 

 

 

 

08.04.2018 - версия 0.90.0

  • Добавлено:
    • Возможность компиляции в Python-программу. Пока реализовано создание только консольных приложений (компилируется и работает тестовый проект Hello_world).
  • Изменения:
    • Ошибка балансировки кавычек после END превращается в предупреждение.
  • Исправления:
    • Использование '" ... "' не в первой строке последовательности;
    • Delphi/KOL: Запуск откомпилированного приложения в ранних ОС (Windows NT4);
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4);
    • добавлена подцветка синтаксиса для других языков (реализовано для Python и FoxPro).

 

 

 

21.03.2018 - версия 0.89.3

  • Изменения:
    • Изменена семантика модификатора TESTED: модификатор TESTED(nn) означает заявление о том, что класс протестирован на nn%. TESTED без параметров и в отсутствие модификатора UNTESTED предполагает 100%. Ошибкой считается слишком сильная заявка, с разрывом более 5% от реального процента покрытия тестами;
    • Синтаксис языка: Введен особый вариант строковых констант в кавычках вида
      '"..."' - такие строки могут размещаться только в отдельной строке кода, что ограничивает их применение многострочными константами (например, в нативных функциях); особенность таких строчных литералов в том, что без зеркалирования внутри такой строки могут записываться кавычки ("), и только сочетание ("') запрещено для записи в такой строке; при этом сохраняется простота анализа на баланс кавычек для всех остальных строк кода;
    • Синтаксис языка: Изменен формат многострочных комментариев. Комментарии начинаются символами */ и завершаются /*. Код на языке AL-IV всегда должен находиться между /* и */ (как если бы он сам был комментарием в тексте другого языка - даже если кроме класса AL-IV в файле ничего больше нет);
    • Оператор DEBUG оставлен только в верхнем регистре, вариант debug более не поддерживается.
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

16.03.2018 - версия 0.89.2

  • Изменения:
    • Компилируемость компилятора на C++ (код AL4.h, AL4.cpp вынесен из исходного кода компилятора в отдельные файлы, что предотвращает встраивание в компилятор кода, адаптированного под конкретные строковые настройки, и позволяет отложить адаптацию до компиляцию финальной программы);
    • C++ приложения для Linux могут компилироваться непосредственно в Linux, компилятором, скомпилированным для работы в Linux;
  • Исправления:
    • C++: array[].Insert(At, Value);
    • C++: {System_functions}.Parameter(i) ;
    • C++, Delphi, Java: {System_functions}.MIN_INT (опечатка: FFFF_FFFF вместо 8FFF_FFFF);

 

11.03.2018 - версия 0.89.1a

  • Исправления:
    • Компиляция визуальных проектов C++;
    • C++: {Canvas}.Offset (прежнее исправление было ошибочным);
    • C++(GCC): присваивание записей; присваивание элемента массива записей;
    • C++ (MSBuild): отключена трансформация целевой канвы при рисовании битмапа (как везде теперь должно работать);

 

10.03.2018 - версия 0.89.1

  • Изменения:
    • обеспечена возможность компиляции  визуальных проектов C++ компилятором GCC (для LINUX);
    • {Bitmap} рисуется на канве {Canvas} без трансформаций, заданных в ней, при использовании операций Draw / Stretch_draw: целевая позиция при этом всегда отмеряется от верхнего левого угла целевой канвы - причиной является то, что не все платформы (Linux X) поддерживают повороты при наложении {Bitmap} без дополнительных усилий/возможного падения производительности;
  • Исправления:
    • Компиляция визуальных проектов C++;
    • Сборка проектов C++ через MSBuild;
    • C++: {Canvas}.Offset (лишнее преобразование в пиксели перед смещением);
    • C#: {Canvas}.Arc(...., FALSE);

 

05.03.2018 - версия 0.89.0

  • Изменения:
    • обеспечена возможность компиляции  консольных проектов C++ компилятором GCC (для LINUX); На данном этапе компиляция тестового варианта и тестирование производятся в среде Windows, затем компилируется код c++ - проекта для компиляции в среде LINUX, и командный файл для его компиляции g++. Окончательно проект компилируется в среде Linux, где и запускается откомпилированная программа.
  • Исправления:
    • Создание консоли с возможностью ввода в оконном проекте C++ (MS Windows);

 

26.02.2018 - версия 0.88.0

  • Изменения:
    • обеспечена возможность компиляции  проектов C++ компилятором GCC (для Windows) (с ключом /$GCC);
  • Исправления:
    • компиляция обобщенных функций (см. проект AL4\Test_projects\_Test_sort и класс {Sorting});
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

18.02.2018 - версия 0.87.4

  • Исправления:
    • скроллинг в классах {Paintbox}, {Paint_lines} - уточнен (C#);
    • C++, Delphi: предотвращено сохранение сообщений компилятора на этапе тестирования в Compiler_messages.html (когда компилятор является частью компилируемой программы);
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

14.02.2018 - версия 0.87.3

  • IDE AL4:
    • просмотр локализованных ошибок/предупреждений;
    • отображение локализованного исходного кода;
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

12.02.2018 - версия 0.87.2

  • Изменения:
    • тесты в классе не выполняются повторно, если не изменялся класс и классы, от которых зависит этот класс (все целевые языки/платформы);
    • тесты для {Form};
  • Исправления:
    • C++: визуальное приложение с потомками {Paintbox} на форме могло упасть на создании формы (слишком ранний вызов события paint);
    • все предупреждения/ошибки сохраняются в Compiler_messages.html (раньше часть сообщений туда не попадала);
    • компиляция вызова функции из функции TEST при некоторых условиях могла приводить к формированию неверного (некомпилируемого) кода;
    • компиляция кода блока в завершающем класс TEST могла обрываться из-за чрезмерно оптимистичного предсказания количества итераций;
    • {Form}.Set_left (C++, Java);
    • C++: тесты для GUI-приложения компилируются (для) и выполняются в GUI-режиме (а не как консольное приложение) - иначе невозможно тестирование GUI-компонентов;
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

07.02.2018 - версия 0.87.1

  • Изменения:
    • Добавлено: {Screen}.Default_font_size (по умолчанию 10 pt);
    • автоматические размеры для кнопок, чек-боксов, меток в колонках выровненных 'TOP' и 'BOTTOM' - по размеру текста в них (C#);
    • C#: тесты в классе не выполняются повторно, если не изменялся класс и классы, от которых зависит этот класс (пробная версия не учитывает изменения в самих тестах);
  • Исправления:
    • Delphi/KOL: добавляется опция NIL_EVENTS (без нее проблемы при исполнении);
    • Java: Автоматические размеры для метки {Label};
    • Java: Установка размера шрифта для контролов;
    • Tools\Test_report updated (to work in any directory where AL-IV is installed);
  • IDE AL4:
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

04.02.2018 - версия 0.87.0

  • Изменения:
    • Delphi/KOL, С++: изменена реализация динамических массивов строк;
    • C#: {System_functions}.Platform_info содержит версию Windows и версию .NET;
    • Псевдо-массив DATA[] доступен теперь из статических функций, а не только из методов класса;
    • Ускорено чтение текстового файла в кодировке UTF-8 (C++, Delphi);
  • Исправления:
    • Создание фиксированных булевых массивов (Delphi/KOL);
    • Генерация блока DEBUG с новыми локальными переменными (Java, Delphi);
    • Завершение модального диалога (C++);
    • c++: компиляция визуальных проектов с опцией /$NOSSTRINGS;
    • C++: сравнение строк SString;

 

29.01.2018 - версия 0.86.9a

  • Исправления:
    • Возврат ответа модального диалога;
    • Вычисление {Control}.Bounds (Delphi/VCL);

 

29.01.2018 - версия 0.86.9

  • Изменения:
    • AL-IV может устанавливаться на любой диск (путь к корню установки должен быть прописан в переменной среды окружения "AL4");
  • Исправления:
    • для {Dialog}, вызов Hide может использоваться для завершения модального диалога, другие исправления (Delphi/VCL, Delphi/KOL, C#, Java);
    • генерация Report_leaks (C++, случай /$Strings==std и /$SSTRINGS);
    • динамические массивы булевых (Delphi);

 

26.01.2018 - новая версия 0.86.8

  • Исправлено:
    • захват мыши в {Paint_tabs} (Delphi/VCL);
  • IDE AL4:
    • Исправлено: неточное позиционирование в тексте кликом мыши;
    • Исправлено: удаление текста закрытого файла из памяти;
    • Исправлено: авто-дополнение после '.' (предложение полей, методов и т.д.);
    • Улучшено: учитывается вложенных уровень (()) при подсказке по параметрам функции;
    • Добавлено: подсказка по конструктору класса/записи {Type}(... по CTRL-ПРОБЕЛ;

     

 

24.01.2018 - версия 0.86.7

  • Исправлено:
    • {Control}.Set_foreground / Set_background;
    • {Bitmap}.Load (C#);
  • Добавлено:
    • {Paint_turtle} - кнопка с рисованием пиктограммы "черепашкой";
    • Программа Tools\Turtle_image для подготовки черепашьих рисунков (поддерживает подложку в виде обычного растрового изображения);
  • IDE AL4:
    • добавлены инструментальные кнопки для часто используемых операций (сохранение, поиск, откат, компиляция);
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

23.01.2018 - версия 0.86.6

  • Исправлено:
    • Компиляция проектов c {OpenGL};
  • Изменения:
    • {Paint_tabs} - анимация с автоматической прокруткой вкладки больше не включается при нажатии на вкладку левой кнопкой мыши (только при нажатии правой);
  • IDE AL4:
    • локализация, перевод на русский язык;
    • исправления, улучшения (см. в конце файла IDE_AL4.al4).

 

21.01.2018 - версия 0.86.5

  • Исправлено:
    • Присваивание объекту в динамическом массиве объектов (Delphi);
  • Изменения:
    • {Long_operation} завершен для C++, Delphi/KOl, Delphi/VCL.
  • IDE AL4:
    • исправления (см. в конце файла IDE_AL4.al4).

 

19.01.2018 - версия 0.86.4

  • Исправлены:
    • {Canvas}.Reset_transorm -> ResetTransform;
    • MIN_INT = 0xFFF_FFFFF -> 0x8FFF_FFFF;
    • Генерация кода для работы с фиксированными массивами в ряде случаев;
  • Изменения:
    • запрещены циклы FOR ...TO MAX_INT] и FOR... DOWNTO MIN_INT], в случае не константной границы TO выражение], при значении выражения MAX_INT цикл может не выполнится ни разу (C#, C++), т.к. используется фактически цикл с условием < to_value, а to_value вычисляется как (выражение+1) при при MAX_INT+1 становится равно MIN_INT;
  • Добавлены::
    • {Long_operation}, автоматическое отображение диалога прогресса длительной операции, обвязка (изменения в {Screen}, {Form}, {AL4_form}, и в исполнительном ядре: для C#, C++);
  • IDE AL4:
    • Небольшие исправления, улучшена навигация по символам (CTRL-ENTER);
    • Другие улучшения и исправления (см. в конце файла IDE_AL4.al4).

 

12.01.2018 - версия 0.86.3

  • Исправлены:
    • Trim, TrimL, TrimR (C#: собственная функция C# не удаляет символы с кодом \0);
    • Генерация кода для работы с фиксированными массивами (C#, Delphi, C++);
  • Добавлены:
    • ключ /norun (совместим с /run, последний найденный применяется);
    • обеспечивается обработка остатка опция компилятора после ключа /@ путь-с-опциями;
  • IDE AL4:
    • Добавлена возможность компиляции из IDE, окно для просмотра ошибок и предупреждений, в том числе запуск только компиляции без выполнения;
    • Другие улучшения и исправления (см. в конце файла IDe_al4.al4).

 

07.01.2018 - версия 0.86.2

  • IDE AL4:
    • Добавлена возможность компиляции из IDE, окно для просмотра ошибок и предупреждений.

 

04.01.2018 - версия 0.86.1

  • Изменения:
    • {Form}.Set_column_auto_arrange(BOOL) - позволяет отключить автоматическое размещение визуальных компонентов колонки, после чего их можно размещать своим кодом в произвольных координатах, и управлять их размером (например, в событии формы resize).
    • компилятор дублирует список ошибок и предупреждений в файле Compiler_messages.html.

  • Исправлены:
    • событие {Form}.activated;
    • Platform_info (Delphi/KOL);
    • {Form}.key_press (Key.Alt, Shift, Control, Win не устанавливались - Delphi KOL, VCL);
    • функция TEST возвращала FALSE в тестовом режиме;
  • Документация дополнена в части:
    • AL-IV:Как начать программировать

 

29.12.2017 - версия 0.86.0

  • Изменения:
    • Дополнительные оптимизации в коде для C++:
      • класс SString для оптимизации работы со строками;
      • вывод графики в {Canvas}, {Bitmap}, {Paintbox}, ... - через Windows GDI ;

  • Исправлены:
    • оптимизация CASE с константным выражением могла формировать не компилируемый код.
  • Впервые опубликован редактор Ide AL4, версия 0.86 (бета).

 

17.12.2017 - версия 0.85.9

  • Изменения:
    • Добавлена функция {Font}.List_fonts(Options, Names[]);
    • Оптимизация для C++ включается автоматически при сборке с параметром /final в опциях проекта AL4 (может отключаться отдельной опцией /$NOOPTIMIZE);
    • Дополнительные оптимизации в коде для C++;
  • Исправлены:
    • курсор мыши для {Paintbox} изменяется только для самого бокса, не затрагивая линейки прокрутки (C#, Java);
    • Ошибки оптимизации типа замены вызова метода его телом;
    • Генерация уникальных имен методов в наследниках классов (для имён, не совпадающих с учетом различного регистра букв - Delphi);
    • Проверка на необходимость импорта классов, использованных неявно (в операторах FOR, PUSH);
    • Работа фильтра в диалоге открытия файлов (Java: в windows addFilenameFilter не работает, но есть недокументированная возможность по использованию setFile);
    • сглаживание для шрифтов (Java);

 

11.12.2017 - версия 0.85.8

  • Изменения:
    • Друзья класса могут обращаться к его непубличным методам.
  • Исправлены:
    • событие key_press принимало клавишу DELETE, в событиях key_down и key_up клавиша DELETE не поступала (Java);
    • курсор для ввода текста в {Paint_lines} (и установка курсора в {Paintbox}) - (Delphi/VCL); так же в java-реализации изменено отображение мигающего курсора (прежний способ с регулярным сокрытием окна курсора приводил к постоянной перерисовке основного контрола).

 

7.12.2017 - версия 0.85.7

  • Изменения:
    • Добавлен оператор
      FRIENDS: {класс1}, {класс2
      }, ... . Друзья класса могут обращаться к его непубличным полям (и - позже - методам).
  • Добавлены:
    • Атрибуты "disabled", "checked" для пунктов меню;
    • Добавлен кодированный символ #ESC;
  • Исправлены:
    • {Paint_tabs}: выделение цветом и толщиной не срабатывало для вкладок левее текущей;
    • {Form}.mouse_move - координаты в поле mouse (Delphi/KOL);
    • Фокусировка щелчком мыши на {Paintbox} и его наследниках (Java);
    • {Listbox}.Clear; событие selection_changed для {Listbox} ;
    • метод для массива строк: Remove(STR) (Delphi, Java);
    • Двойное разрушение контролов по окончании использования (C++/wx);
    • {Paint_tab} .Move_tab(From, To);

 

2.12.2017 - версия 0.85.6

  • Изменения:
    • Запрещена операция сравнения на равенство и неравенство для вещественных;
    • Для колонок формы в реализации Java оставлены только вертикальные линейки прокрутки;
  • Добавлены:
    • {Sorting} .Data_sort(Count) - для сортировки произвольных данных (методы data_compare и data_swap должны быть переопределены в том же объекте);
  • Исправлены:
    • {Listbox}.Insert_item в позиции, равной Count;
    • генерация кода для присваивания записи элементу массива таких записей (Delphi);
    • событие click по правой клавише мыши (Delphi/VCL,KOL, C++);
    • {Text_file}: сохранение текста в формате UTF-8 (Delphi, C++);
    • вставка элемента в динамический массив в позицию Count (Delphi, массивы типов BOOL, BYTE);
    • ширина первой метки в колонке (выровненной 'LEFT', 'RIGHT' или 'CLIENT') устанавливается в значение column.Label_width (Java);
    • координаты pop-up меню при щелчке на контроле (Java);
    • {Dialog_file}.Select_file (Java: bug в Java 7 и 8);
    • устранено мелькание в {Paintbox} и его наследниках (Java: пришлось перейти к использованию JPanel из swing вместо Canvas из awt);

 

27.11.2017 - версия 0.85.5

  • Добавлены:
    • {File_path}.File_info(Path) ==> {file_info} (даты, атрибуты, размер);
    • В дополнение к символу @, включающему режим добавления концов строк в многострочную строчную константу, добавлен символ @@, позволяющий отключить этот режим внутри константы;
    • Событие {Form}.shown;
    • Методы {Edit}: Set_selection_range(Start, Length), Select_all, Get_selection_start, Get_selection_length;
    • Метод {Control} .Set_selection отменён и заменён на Replace_selection;
  • Исправлены:
    • событие mouse_double_click (Delphi/VCL), - последовательность обращений была DOWN-UP-DBLCLICK-DOWN-UP вместо ожидаемой DOWN-UP-DOWN-UP-DBLCLICK;
    • генерация кода для создания простой структуры, содержащей (фиксированные) массивы (C#);
    • генерация кода для присваивания значения полю структуры (RECORD), выбираемой из массива структур (C++);
    • при нажатии Ctrl+[, ] и некоторых других символов поле Key.Char не присваивался соответствующий символ;
    • click для кнопки по умолчанию и отмены при нажатии Enter/Escape (java, C++);
    • сохранение объекта Screen на время выполнения приложения, закрытие всех форм при уничтожении объекта Screen в момент закрытия главной формы (Java, C++);
    • для C++ выполняется объединение всех исходных файлов в один большой файл, что позволяет ускорить компиляцию проекта, но в результате возникает проблема с установкой точек останова в строках кода, начиная с 65536. Теперь для слишком больших результирующих проектов на C++ выполняется разбиение исходного кода на фрагменты.

 

22.11.2017 - версия 0.85.4

  • Изменения:
    • Добавлено требование на оформление кода: блочные операторы (CASE, FOR, FOREVER, PUSH, DEBUG, debug) всегда должны начинаться в новой строке (в том числе после ELSE, в ветвях CASE вслед за ':' или '?').
    • При обращении к Функция Str|ing для перевода в строку, ее имя может быть сокращено до S.
  • Исправлены:
    • Направление в vertical_wheel (Java, Delphi/KOL);
    • Установка значения {Paintbox}.Set_content_size меньше, чем текущее значение Visible_area_size (по ширине, высоте - Delphi/VCL);
    • установка модификаторов Ctrl, Alt, Shift в поле {Form}.Key для всех событий мыши и клавиатуры (Java);
    • {Paint_lines} всегда запоминает установленную методом Move_top_left_to позицию (по вертикали и горизонтали), и возвращает ее в случае, если разница между этой позицией и позицией линейки прокрутки не более 1 по абсолютной величине (что устраняет проблемы округления до целого при установке позиции линейки прокрутки);
    • анализ ошибок c#-компилятора: проверяется не только наличие слова error, но и то, что это слово самостоятельное (не является частью более длинного идентификатора);
    • генерация кода для STORED параметров (C++);
    • генерация кода для [].Delete(index++) (случай использования автоинкремента/автодекремента для параметра функции Delete.
  • Небольшой подарок себе на годовщину первой публикации: начат (и уже в значительной степени завершен) редактор кода для AL-IV. Планируется завершить его разработку в основном до конца года.

 

15.11.2017 - версия 0.85.3

  • Добавлены:
    • {Control}.Locaton ==> {rect} - координаты визуального компонента в форме (в отличие от Left, Top, возвращающих координаты относительно родительской колонки);
  • Исправлены:
    • Генерация кода для директив NATIVE не начинающихся с using (C#) - перемещена внутрь класса;
    • Оптимизация в случае инлайнинга функции, содержащей в выражении приведение типа класса: RESULT = x.y.z.{Some_class};
    • {Control}.Top (Delphi/KOL);

 

12.11.2017 - версия 0.85.2

  • Изменения:
    • при генерации кода C++ функции Main явно вызван _CrtSetDbgFlag(0); для предотвращения слишком длительного вывода отчета об утечках памяти по окончании выполнения (которые реально утечками не является, и есть результат работы STL).
  • Добавлены:
    • перечисление {Paintbox}.{cursor}, поле Cursor|_shape, метод Set_cursor(New_c|ursor_shape)
      -- кажется, не работает для Delphi VCL (баг VCL?);
  • Исправлены:
    • Генерация кода для директив NATIVE не начинающихся с using (C#) - перемещена внутрь класса;
    • {Canvas}.Measure (C# неверно возвращает размер строки, завершающейся пробелами);
    • Коды специальных клавиш (C++/wx);
    • Генерация кода для операторов PUSH внутри ветвей CASE (проблемы инициализации локальных переменных в C++);
    • Для {Paintbox} и (его наследника {Paint_lines}), если включается опция "F" ((фокусировка), то все клавиши навигации обрабатываются в самом компоненте, включая стрелки и табуляции (все языки/фреймворки);
    • {Localize_str} для Java - в случае отсутствия вызова Set_directory_lang;
    • {Paint_lines}.provide_caret (Java) - удаление старой каретки до установки новой.

 

9.11.2017 - версия 0.85.1

  • Обеспечена работа с объектами класса {Object}, в том числе NONE-объектами.
  • Добавлены:
    • функция {Canvas}.System_color({system_color}), перечисление {system_color};
    • возможность подключать собственный таймер для компонента (в основном для целей анимации), методы: {Control}.animate(Count, Interval) и animation(Tick) (событие);
    • собственные обработчики событий мыши для {Control}: mouse_move, mouse_down, mouse_up, mouse_wheel;
    • визуальный компонент {Paint_tabs}:
  • Исправлены:
    • {Canvas}.Offset , Measure - использовались пиксели, теперь используются текущие единицы канвы (по умолчанию - поинты);
    • координаты мыши {point} mouse для всех событий мыши (Java, C++);
    • координаты всплытия меню {Tray_icon} (C++);

 

5.11.2017 - версия 0.85.0

  • Добавлена возможность задавать ограничения для параметров в виде отношения сравнения:
    , IF P1 IS CONST, THEN P1 >= 0 ...
  • Исправлено:
    • {Canvas}.Offset, Rotate - приведен к единому знаменателю для всех целевых сред.
    • Обработка события {Form}.resize в ответ на максимизацию/восстановление формы (Java).
  • Завершен визуальный элемент {Paintbox} с возможностью прокрутки содержимого.
  • Добавлен визуальный элемент {Paint_lines} (на основе {Paintbox}) с поддержкой каретки (указатель для ввода текста) и специфическими методами для работы со строками.

 

 

Предыдущая история версий (2016-2017)


См. здесь

 

 


В начало