OberonCore https://forum.oberoncore.ru/ |
|
OberonJS онлайн IDE https://forum.oberoncore.ru/viewtopic.php?f=115&t=6006 |
Страница 3 из 5 |
Автор: | Дмитрий Дагаев [ Понедельник, 20 Февраль, 2017 20:42 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Можно сделать кнопки 'Сохранить Release', 'Очистить Release' и переход на страничку model/51-release. И разработчик, зарегистрировавшись на Вашем сайте, сможет страничку подредактировать и что-то для себя нарисовать. Хоть презентацию а-ля PowerPoint https://processing.org/examples/charactersstrings.html с загрузкой данных из JSON. |
Автор: | Иван Денисов [ Понедельник, 20 Февраль, 2017 21:10 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Дмитрий Дагаев писал(а): Можно сделать кнопки 'Сохранить Release', 'Очистить Release' и переход на страничку model/51-release. И разработчик, зарегистрировавшись на Вашем сайте, сможет страничку подредактировать и что-то для себя нарисовать. Хоть презентацию а-ля PowerPoint https://processing.org/examples/charactersstrings.html с загрузкой данных из JSON. Дошло, чтобы без исходного кода показывать результат по другому URL. Сделаю! |
Автор: | Иван Денисов [ Понедельник, 20 Февраль, 2017 21:41 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Публикация теперь выглядит примерно так: https://models.molpit.org/ready/51 Публикация происходит при нажатии кнопки "экспорт", которая теперь видна только автору модели. |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 07:41 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Починил баг с установкой шрифта. Теперь 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; |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 13:42 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Пока проблема с публикацией скриптов, содержащих юникодные символы. Ломаю голову над тем, как правильно передать JavaScript в базу данных. На удивление это просто не получается решить. |
Автор: | Rifat [ Вторник, 21 Февраль, 2017 14:38 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
BASE64 не помогает? |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 15:22 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
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... |
Автор: | prospero78 [ Вторник, 21 Февраль, 2017 15:53 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Это нам какбэ говорит: UTF8 -- жуткая кодировка. Можно было с кодировкой решить вопрос гораздо проще. Например так: Код: \[cp1251] бла-бла-бла \[latin1] momentum mori В-общем-то, в ББ вопрос правильно поставлен: контейнер(разметка+содержимое) -> отображение. Голый неуправляемый текст -- это зло. |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 16:08 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
prospero78 писал(а): В-общем-то, в ББ вопрос правильно поставлен: контейнер(разметка+содержимое) -> отображение. Голый неуправляемый текст -- это зло. В ББ всё проще, UTF-16, на каждую букву два байта Но для Web это не хорошо, так как большая часть на латинице, и на utf16 весь контент в два раза больше места бы занимал. Но так как это оффтопик, то прошу Валеру в этой теме не продолжать обсуждение ББ. |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 19:18 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Разобрался, отказавшись от base64 вообще. Теперь хорошо работает публикация кода с любыми символами. |
Автор: | Дмитрий Дагаев [ Вторник, 21 Февраль, 2017 20:30 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Иван! В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать? |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 22:32 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Дмитрий Дагаев писал(а): Иван! В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать? Так получается, что пока не все функции добавлены. Ellipse уже добавил, сейчас добавлю Rect. Все чего не хватает буду в Draw добавлять. Пишите тут или в личном сообщении или по почте. |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 22:36 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Добавил Код: 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; |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 22:37 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Нажатие клавиш мыши теперь надо еще добавить, как я понимаю, чтобы на кнопки нажимать. |
Автор: | Иван Денисов [ Вторник, 21 Февраль, 2017 23:10 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Добавил обработку нажатия и отпускания мыши. Получился чудный слайдер. https://models.molpit.org/ready/52 |
Автор: | Иван Денисов [ Среда, 22 Февраль, 2017 05:24 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Добавил базовый модуль для работы со строками. Теперь возможно переводить действительные и целые числа в строки, объединять строки перед отрисовкой. https://models.molpit.org/ready/52 И у меня, к сожалению, на этой неделе уже мало будет времени. Может быть кто-то может помочь с доработкой перевода? https://models.molpit.org/oberon.html |
Автор: | Иван Денисов [ Среда, 22 Февраль, 2017 05:29 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Дмитрий Дагаев писал(а): Иван! В модуле Draw кое-чего не хватает: D.Rect(), D.Ellipse(). Используются, скажем, здесь https://processing.org/examples/button.html. Я могу модифицировать Draw, но SVN тут нет. Что делать? Дмитрий Викторович, еще, чтобы не ограничивать полет вашей фантазии и не ждать пока я добавлю что-то, создайте второй модуль в своей модели с названием, например, Draw2. Скопируйте в него содержимое Draw. Меняйте его под ваши задачи и используйте. А я буду с учетом вашего опыта переносить в базовый Draw. Вложение: newModule.png [ 4.48 КБ | Просмотров: 8802 ] |
Автор: | Дмитрий Дагаев [ Четверг, 23 Февраль, 2017 11:53 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Меняю в Draw2, столкнулся с проблемой. Часть координат (String, SetSize) - INTEGER, а другая часть - (Ellipse, Rect) REAL. Преобразования real - integer нет. Ни присвоить, ни сравнить. Приходится дублировать функции (String, Stringr) в Draw2. |
Автор: | Дмитрий Дагаев [ Четверг, 23 Февраль, 2017 12:20 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Нашел FLT(), FLOOR(). Вопрос закрыт. |
Автор: | Дмитрий Дагаев [ Четверг, 23 Февраль, 2017 16:19 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
На данном этапе нарисовал 2 примера. Пока имеем 3 проблемки: 1. не публикуется https://models.molpit.org/ready/64 2. нет поддержки загрузки jpg с Вашего сервера, как в https://processing.org/reference/PImage.html 3. не выставляет mouseX, mouseY при запуске моего примера с мобильника под Андроидом (не мышка, touch screen). Приходится дважды нажимать кнопку. |
Страница 3 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |