OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 06:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 98 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Понедельник, 20 Февраль, 2017 20:42 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
Можно сделать кнопки 'Сохранить Release', 'Очистить Release' и переход на страничку model/51-release. И разработчик, зарегистрировавшись на Вашем сайте, сможет страничку подредактировать и что-то для себя нарисовать. Хоть презентацию а-ля PowerPoint https://processing.org/examples/charactersstrings.html с загрузкой данных из JSON.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Понедельник, 20 Февраль, 2017 21:10 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Дмитрий Дагаев писал(а):
Можно сделать кнопки 'Сохранить Release', 'Очистить Release' и переход на страничку model/51-release. И разработчик, зарегистрировавшись на Вашем сайте, сможет страничку подредактировать и что-то для себя нарисовать. Хоть презентацию а-ля PowerPoint https://processing.org/examples/charactersstrings.html с загрузкой данных из JSON.

Дошло, чтобы без исходного кода показывать результат по другому URL. Сделаю!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Понедельник, 20 Февраль, 2017 21:41 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Публикация теперь выглядит примерно так:
https://models.molpit.org/ready/51

Публикация происходит при нажатии кнопки "экспорт", которая теперь видна только автору модели.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 07:41 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Починил баг с установкой шрифта. Теперь Times New Roman выставляется.
https://models.molpit.org/model/64

Вот еще выяснил, чтобы шрифт рисовался со сглаживанием, надо обязательно в процедуре отрисовки вызывать установку цвета фона.
https://forum.processing.org/two/discus ... ntialiased

Код:
PROCEDURE Draw;
BEGIN
  D.SetBackground(0H);
  D.SetFont("Times New Roman");
  ...
END Draw;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 13:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пока проблема с публикацией скриптов, содержащих юникодные символы. Ломаю голову над тем, как правильно передать JavaScript в базу данных. На удивление это просто не получается решить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 14:38 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
BASE64 не помогает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 15:22 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Rifat писал(а):
BASE64 не помогает?


Уже перепробовал несколько способов. Но все работает удивительно глючно!

Вот например такая функция кодирует "Привет мир!" корректно
Код:
function b64EncodeUnicode(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
        return String.fromCharCode('0x' + p1);
    }));
}

https://models.molpit.org/ready/49

А число π не хочет уже кодировать. Пришлось пока заменить на Pi
https://models.molpit.org/ready/52

С русским тоже проблема на самом деле, поэтому приложение Дмитрия Викторовича тоже пока корректно не публикуется.
Если закомментировать вторую строку, то чудесно публикуется
https://models.molpit.org/ready/64
а если нет, то фиг вам.

Какой-то дивный пример глючности современного IT...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 15:53 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Это нам какбэ говорит: UTF8 -- жуткая кодировка.
Можно было с кодировкой решить вопрос гораздо проще.
Например так:
Код:
\[cp1251]
бла-бла-бла
\[latin1]
momentum mori


В-общем-то, в ББ вопрос правильно поставлен: контейнер(разметка+содержимое) -> отображение.
Голый неуправляемый текст -- это зло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 16:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
prospero78 писал(а):
В-общем-то, в ББ вопрос правильно поставлен: контейнер(разметка+содержимое) -> отображение.
Голый неуправляемый текст -- это зло.

В ББ всё проще, UTF-16, на каждую букву два байта :) Но для Web это не хорошо, так как большая часть на латинице, и на utf16 весь контент в два раза больше места бы занимал.
Но так как это оффтопик, то прошу Валеру в этой теме не продолжать обсуждение ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 19:18 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Разобрался, отказавшись от base64 вообще. Теперь хорошо работает публикация кода с любыми символами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 20:30 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
Иван!

В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 22:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Дмитрий Дагаев писал(а):
Иван!

В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать?

Так получается, что пока не все функции добавлены. Ellipse уже добавил, сейчас добавлю Rect. Все чего не хватает буду в Draw добавлять. Пишите тут или в личном сообщении или по почте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 22:36 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Добавил
Код:
  PROCEDURE Ellipse*(x, y, w, h: REAL);
  BEGIN
    JS.do("Instance.ellipse(x,y,w,h);");
  END Ellipse;
 
  PROCEDURE Rect*(x, y, w, h: REAL);
  BEGIN
    JS.do("Instance.rect(x,y,w,h);");
  END Rect;
 
  PROCEDURE RectRounded*(x, y, w, h, r: REAL);
  BEGIN
    JS.do("Instance.rect(x,y,w,h,r);");
  END RectRounded;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 22:37 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Нажатие клавиш мыши теперь надо еще добавить, как я понимаю, чтобы на кнопки нажимать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 21 Февраль, 2017 23:10 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Добавил обработку нажатия и отпускания мыши.
Получился чудный слайдер.
https://models.molpit.org/ready/52


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 22 Февраль, 2017 05:24 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Добавил базовый модуль для работы со строками. Теперь возможно переводить действительные и целые числа в строки, объединять строки перед отрисовкой.
https://models.molpit.org/ready/52

И у меня, к сожалению, на этой неделе уже мало будет времени. Может быть кто-то может помочь с доработкой перевода?
https://models.molpit.org/oberon.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 22 Февраль, 2017 05:29 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Дмитрий Дагаев писал(а):
Иван!

В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать?

Дмитрий Викторович, еще, чтобы не ограничивать полет вашей фантазии и не ждать пока я добавлю что-то, создайте второй модуль в своей модели с названием, например, Draw2. Скопируйте в него содержимое Draw. Меняйте его под ваши задачи и используйте. А я буду с учетом вашего опыта переносить в базовый Draw.

Вложение:
newModule.png
newModule.png [ 4.48 КБ | Просмотров: 8549 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Четверг, 23 Февраль, 2017 11:53 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
Меняю в Draw2, столкнулся с проблемой.
Часть координат (String, SetSize) - INTEGER, а другая часть - (Ellipse, Rect) REAL. Преобразования real - integer нет. Ни присвоить, ни сравнить. Приходится дублировать функции (String, Stringr) в Draw2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Четверг, 23 Февраль, 2017 12:20 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
Нашел FLT(), FLOOR(). Вопрос закрыт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Четверг, 23 Февраль, 2017 16:19 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
На данном этапе нарисовал 2 примера. Пока имеем 3 проблемки:
1. не публикуется https://models.molpit.org/ready/64
2. нет поддержки загрузки jpg с Вашего сервера, как в https://processing.org/reference/PImage.html
3. не выставляет mouseX, mouseY при запуске моего примера с мобильника под Андроидом (не мышка, touch screen). Приходится дважды нажимать кнопку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 98 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB