Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Ivan Denisov

Страницы: [1] 2 3 ... 5
1
Общий раздел / Re: OberonJS
« : Март 21, 2017, 05:50:36 am »
https://models.molpit.org/model/49

У тебя глобальный String перекрывается твоей собственной функцией String. Обратиться к глобальному можно так: JS.String.fromCharCode
Спасибо! Поправил. Буду бдителен на этот счет впредь.

2
Общий раздел / Re: OberonJS
« : Март 20, 2017, 10:43:51 am »
Приведи весь сгенеренный код или минимальный пример, где оно не работает.
Вот погляди.
https://models.molpit.org/model/49

3
Общий раздел / Re: OberonJS
« : Март 20, 2017, 02:26:24 am »
Еще прошу поделиться опытом, как быть с динамическими объектами. Скажем, если мне надо создать массив под данные из файла.
NEW нельзя получается, массивы объявить тоже только по константе возможно.
Только статические типы получается? То есть заранее делать огномный буфер под предполагаемый размер?
Или есть какие-то варианты?

4
Общий раздел / Re: OberonJS
« : Март 20, 2017, 02:24:40 am »
Модуль JS вместо SYSTEM. Но в твоем случае можно обойтись обычным обероном:
    result := b1 + LSL(b2, 8) + LSL(b3, 16) + LSL(b4, 24);
Спасибо, попдправил
PROCEDURE GetInt4(a: ARRAY OF CHAR; pos: INTEGER): INTEGER;
BEGIN
  RETURN ORD(a[pos]) + LSL(ORD(a[pos+1]), 8) + LSL(ORD(a[pos+2]), 16) + LSL(ORD(a[pos+3]), 24)
END GetInt4;

  PROCEDURE GetInt2(a: ARRAY OF CHAR; pos: INTEGER): INTEGER;
BEGIN
  RETURN ORD(a[pos]) + LSL(ORD(a[pos+1]), 8)
END GetInt2;

5
Общий раздел / Re: OberonJS
« : Март 20, 2017, 02:04:56 am »
Столкнулся с тем, что CHAR транслятор понимает как числа.

На это были причины. Для твоего случая надо просто сделать String.fromCharCode(arg)
Firefox почему-то ругается
String.fromCharCode is not a function

6
Общий раздел / Re: OberonJS
« : Март 20, 2017, 01:57:05 am »
С преобразованием типов вроде разобрался, спасибо, Comdiv.

 PROCEDURE GetInt4(a: ARRAY OF CHAR; pos: INTEGER): INTEGER;
BEGIN
ASSERT(ORD(a[pos + 3]) < 128)
RETURN ORD(a[pos]) + (ORD(a[pos+1]) + (ORD(a[pos+2]) + ORD(a[pos+3]) * 0100H ) * 0100H) * 0100H
END GetInt4;

PROCEDURE GetInt2(a: ARRAY OF CHAR; pos: INTEGER): INTEGER;
BEGIN
ASSERT(ORD(a[pos + 1]) < 128)
RETURN ORD(a[pos]) + ORD(a[pos+1]) * 0100H
END GetInt2;

7
Общий раздел / Re: OberonJS
« : Март 19, 2017, 02:59:38 pm »
Еще хочется понять как выполнять преобразования типов. Мне надо четыре байта переделать в INTEGER.
В вики написано:
No SYSTEM module
А как делать тогда?

8
Общий раздел / Re: OberonJS
« : Март 19, 2017, 02:14:19 pm »
Столкнулся с тем, что CHAR транслятор понимает как числа.
PROCEDURE Char*(arg: CHAR);
BEGIN
JS.do("document.getElementById('log').innerHTML = document.getElementById('log').innerHTML + arg")
END Char;

Выводятся числа...

9
Общий раздел / Re: OberonJS
« : Март 01, 2017, 04:07:24 am »
Я не знаю подписан ли кто-то из вашей компании на мой новостной канал по Бэкбоксу и Оберону.
Если нет, то подписывайтесь, и предлагайте для него новости, при необходимости что-то осветить :)
https://t.me/BlackBoxOberon

10
Общий раздел / Re: OberonJS
« : Март 01, 2017, 04:05:22 am »
Ну вот Валера Шипков и Дмитрий Дагаев добавили примеров тоже :)
У меня пока пауза по работе, но мне дали много рекомендаций как улучшить интерфейс для мобилы и для ПК. Так что в середине марта вернусь с новой силой к проекту.

11
Общий раздел / Re: OberonJS
« : Февраль 23, 2017, 09:10:35 am »
Валерий, не парьтесь, проблема решена на стороне сервера. У меня были слишком агрессивные настройки кэширования. Теперь все ок.

12
Общий раздел / Re: OberonJS
« : Февраль 22, 2017, 03:09:44 pm »
Влад, я сделал модуль для базовых операций со строками. Но вот ASSERT когда срабатывает, нельзя ли указывать в какой он процедуре сработал?

Процедуру вытащить можно, но непонятно зачем, если тебе и так весь стек доступен - см. свойство "stack" у перехваченного исключения.
Погляжу, не знал про это свойство.

13
Общий раздел / Re: OberonJS
« : Февраль 22, 2017, 02:21:26 am »
Влад, я сделал модуль для базовых операций со строками. Но вот ASSERT когда срабатывает, нельзя ли указывать в какой он процедуре сработал?

14
Общий раздел / Re: OberonJS
« : Февраль 22, 2017, 12:52:00 am »
Добавил обработчики мыши, получился слайдер
https://models.molpit.org/model/52

В целом осталось добавить базовые преобразователи, доработать модуль работы со строками и можно говорить про некую альфа-версию :-)

15
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 04:26:57 pm »
Влад, а тут Comdiv интересовался, почему проверка индексов так много времени занимает?
Он пример накидал, что разница в 10 раз получается:
https://models.molpit.org/model/59

Страницы: [1] 2 3 ... 5