CLEV3R версия 1.6.8.9

  1. Исправлена ошибка имён меток переходов при их использовании в коде модулей.
  2. Исправлены ошибки компиляции 1805 и 1602 — возникали, если перед ключевыми словами Function и Sub были пробелы.
  3. Исправлена ошибка инициализации переменных передаваемых в функцию для записи значений выходных параметров. Теперь такие переменные не нужно будет предварительно инициализировать перед вызовом функции.
  4. Добавлены команды для работы с числами в Mailbox:
  • Mailbox.CreateForNumber( boxName ) // Создание почтового ящика для передачи чисел
    boxName — имя почтового ящика
    Возвращает — цифровой идентификатор
  • Mailbox.SendNumber( brickName, boxName, number ) // Отправка числа
    brickName — имя блока получателя сообщения
    boxName — имя почтового ящика
    number — число
  • Mailbox.ReceiveNumber( id ) // Получение числа
    id — цифровой идентификатор
    Возвращает — число
    P.S. Контроль создания нужных типов ящиков Mailbox (для строк, или чисел), остаётся за автором программы. Компилятор это ни как проверять не будет.

ВАЖНО.
После первого запуска программы (записи новых ключей сопоставления файлов в реестре) можно использовать настройки версии 1.6.8.8 — это нужно для того, чтобы не переделывать подсветку синтаксиса (если она у вас своя).

Windows 10
Для этого перейдите по пути C:\Users\Имя_Пользователя\AppData\Roaming\Clever, скопируйте файл Setting.ini из папки 1.6.8.8 в папку 1.6.8.9, согласитесь с заменой файла.

Если вы не настраивали собственные цвета подсветки синтаксиса, то вышеописанные действия делать не нужно!!!

Загрузить CLEV3R v1.6.8.9 (9.45Mb)

CLEV3R версия 1.5.0.3

Исправления:

  • исправлена небольшая ошибка интерпретатора;
  • исправлены имена переменных/функций/процедур при автоподстановке (теперь в окне подсказок имена представлены в том виде, в котором были написаны в первый раз).

Загрузить CLEV3R v1.5.0.3 (6.4Mb)!

CLEV3R версия 1.5.0.2

Немного улучшений.

Изменения:

  • несколько улучшена работа подсветки синтаксиса;
  • устранены баги свертки кода;
  • устранены ошибки интерпретатора (те, о которых писали);
  • полностью переделана система сохранения настроек;
  • при переключении вкладок курсор так же перемещается на новую вкладку, а не остается висеть на старой;
  • переделан поиск имен переменных, процедур, функций (правда пока так же только в пределах открытого файла).

Загрузить CLEV3R v1.5.0.2 (6.7Mb)!

CLEV3R версия 1.4

Функции с параметрами !!!

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

c = 0
MyFirstFunc (10, 20, c)

Function MyFirstFunc (in number a, in number b, out number c)
	c = a + b
EndFunction

В данном примере реализована функция сложения двух чисел. Она собственно возвращает сумму этих чисел. В скобках можно увидеть объявление входных и выходных параметров, они обязательно объявляются с использованием ключевых слов in или out (входной, или выходной параметр), а так же указания типа параметра. Есть несколько типов — number, number[], string, string[] это соответственно число, числовой массив, строка, массив строк. Количество входных и выходных параметров не ограничено. Доступна перегрузка функций, т.е. могут быть созданы функции с одинаковыми именами, но разным количеством параметров (тип параметра при этом игнорируется).

Загрузить CLEV3R v1.4 (6.7Mb)!

CLEV3R версии 1.2 уже в эфире!

Итак, мы готовы представить вашему вниманию новую версию CLEV3R!

Что вас ждет под капотом:

  1. Исправлены некоторые неточности перевода интерфейса.
  2. Исправлено определение имён процедур в синтаксическом анализаторе — иногда наблюдалось не корректное добавление имён в авто завершение кода.
  3. Переделана логика вывода сообщений об ошибках компиляции. Теперь выводится имя файла с ошибкой и номер строки. По двойному клику происходит переход на строку с ошибкой в нужном файле. Если файл с ошибкой не открыт в приложении (например какой-либо файл .bpm), то это будет сделано.
  4. Файлы перевода интерфейса и справочника вынесены в отдельные папки. Для чего это нужно? Если вас по каким-либо причинам не устраивает перевод интерфейса/справочника — теперь вы можете сделать это самостоятельно.
  5. Добавлена возможность автоматически создавать в блоке папку с именем проекта и загружать программы непосредственно в эту папку. Для этого было введено новое ключевое слово «folder».
  6. Добавлена возможность автоматически загружать медиафайлы проекта в папку с программой. В директории программы создаётся специальная папка «Media», где будут храниться файлы изображений (.rgf) и звуков (.rsf).
  7. Если в программе используются команды по созданию и чтению текстовых файлов (.rtf, или .txt), такие файлы создаются в подпапке «Files». Важный момент — если текстовый файл не создаётся самой программой (т.е. для его создания используются сторонние редакторы), то его следует загрузить в папку «Files» самостоятельно.

Пп. 6 и 7 актуальны только в случае использования нового ключевого слова «folder», при этом не нужно прописывать полные пути для медиа и текстовых файлов, необходимо указать только имя файла (без расширения для медиа файлов, с расширением для текстовых файлов). Если программа использует новую команду «folder» и была скомпилирована без блока (т.е. хранится на компьютере), то при её загрузке в блок так же будут созданы все необходимые папки и загружены нужные медиа файлы.

Есть один нюанс — созданные в директории программы папки «Media» и «Files» не видны в файл-менеджере самого блока EV3 в силу некоторых ограничений. Это никак не влияет на работу программ, в которых есть обращения к файлам внутри этих папок. Файл-менеджер CLEV3R данные папки/файлы отображаются корректно.

Загрузить CLEV3R v1.2 (6.3Mb)!

Запуск сайта и ближайшие планы

Сайт начал свою работу — это, безусловно, хорошая новость! Мы долго шли к этому и вот наконец 🙂 Впрочем, это не главное. Хотим поделиться планами на ближайшее будущее:

1. Новое ключевое слово folder

Пример команды: folder «WRO2020». Это указание компилятору, что при загрузке файла в блок следует создать папку с именем WRO2020 и поместить туда программу. По аналогии с EV3-G, если есть microSD-карта, то программа будет загружена на неё (либо в память блока, если карты нет). Если данная конструкция отсутствует в коде, то загрузка будет происходить по привычному сценарию — в ту директорию, которая сейчас открыта.

2. Корректный переход по ошибкам компиляции

В данный момент переходы работают следующим образом: в панель системных сообщений выводится ошибка с указанием номера строки и позиции в строке, при двойном клике на сообщении происходит переход на соответствующую строку. Так как программа может быть собрана из нескольких файлов, то возникают неточности. Дело в том, что компилятор работает с конечным, собранным из разных файлов кодом, ошибки отслеживаются именно по нему и номера строк также выдаются согласно кода этого файла. Данный файл создаётся при компиляции и помещается в каталог с программой в подкаталог с префиксом «~», туда же помещается собранная программа с таким же префиксом (её можно открыть в редакторе и по ней отследить ошибки).

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

3. Редактируемая «Справка»

Если вас по каким-либо причинам не устраивает текст или примеры в «Справке» — можно будет их отредактировать на свой вкус. Файлы в формате .xml будут вынесены в отдельную папку.

На сегодня, пожалуй, все.