Автор Тема: Какая кодировка у BB документов?  (Прочитано 44487 раз)

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #60 : Декабрь 21, 2012, 11:14:58 am »
Простая сама по себе, но вкупе с получением разного контента и проч...
У меня программист год делал полную реализацию "почтовой очереди" для CRM-системы на PHP (над XQuery и Sedna). Порядка 2 месяцев ушло.
2 месяца тоже найти надо, ежли без финансирования.

По поводу программируемости на других языках...
ну на кой ляд расширять Тундру, если как редактор документов и система документооборота она всё равно не сможет работать. Документность ББ позволяет плясать от него как от базиса для любого делового контента (если не рюшечки для посторонних, а себе для реальной работы с контентом).

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #61 : Декабрь 21, 2012, 11:18:24 am »
2Dizer:

Удивительно, что у Вас в голове не помещается простая вещь, при том, что есть аналогии.
Возьмите, например, EMacs - с его замахом точно так же быть "расширяемой средой обитания".
Представьте, что в нём вместо достаточно своеобразного ЯП (LISP-а) вдруг "сделался" такой язык, как Оберон.
Проведите аналогии с ББ.

Даже если Вы не поддерживаете такие идеи, Вам придётся признать, что такой подход существует, а не нами выдуман тут из пальца.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #62 : Декабрь 21, 2012, 11:21:41 am »
Простая сама по себе, но вкупе с получением разного контента и проч...
У меня программист год делал полную реализацию "почтовой очереди" для CRM-системы на PHP (над XQuery и Sedna). Порядка 2 месяцев ушло.
2 месяца тоже найти надо, ежли без финансирования.

По поводу программируемости на других языках...
ну на кой ляд расширять Тундру, если как редактор документов и система документооборота она всё равно не сможет работать. Документность ББ позволяет плясать от него как от базиса для любого делового контента (если не рюшечки для посторонних, а себе для реальной работы с контентом).
Кстати, я бы на твоем месте просто взял бы и написал гейт для ББ на каком-нибудь языке. Ну, то есть на какой-нибудь жабе написал бы smtp/pop3 гейт (либы для smtp/pop3 для жабы есть и они вменяемого качества) - с одной стороны у него smtp/pop3, а с другой твой сильно упрощенный и заточенный под твои задачи протокол, за который уже цепляется ББ и спокойно это дело обрабатывает/принимает/отправляет почту. Пожалуй, я бы сделал этот протокол на базе json'a.
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: Какая кодировка у BB документов?
« Ответ #63 : Декабрь 21, 2012, 11:31:58 am »
2Dizer:

Удивительно, что у Вас в голове не помещается простая вещь, при том, что есть аналогии.
Возьмите, например, EMacs - с его замахом точно так же быть "расширяемой средой обитания".
Представьте, что в нём вместо достаточно своеобразного ЯП (LISP-а) вдруг "сделался" такой язык, как Оберон.
Проведите аналогии с ББ.

Даже если Вы не поддерживаете такие идеи, Вам придётся признать, что такой подход существует, а не нами выдуман тут из пальца.
ПОЧЕМУ!!!!  -как раз очень даже хорошо помещается.. я же Madzi - говорил ровно про это...

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #64 : Декабрь 21, 2012, 03:56:24 pm »
Смысл -128 не разъясню с лёту.
А что тут разъяснять?  :)  Чем так мучаться, лучше уж ввести полноценный BYTE с областью значений от 0 до 255. Страхи, что после этого язык станет платформозависимым, считаю не оправданными. Понятие "байт" давно уже мигрировало во многие прикладные предметные области.

Это не связано с беззнаковым байтом.
DIV/MOD-ам похрену на знаковость, битово одно и то же за счёт дополнительного кодирования получается.

Разве?

Вот обсуждаемый код:
Цитировать
PROCEDURE (wr: StdWriter) WriteChar (ch: CHAR);
VAR ... fw: Files.Writer;
BEGIN
    ...
    fw.WriteByte(SHORT(SHORT(ORD(ch))));
    fw.WriteByte(SHORT(SHORT(ORD(ch) DIV 256 - 128)));    ...
END WriteChar;
Операция DIV возвращает значение от 0 до 255 типа INTEGER. Первый SHORT (правый) преобразует результат операции DIV к типу SHORTINT, второй - к типу BYTE. Если результат операции DIV оказался больше 127, то во время выполнения второго SHORT произойдёт ошибка. Для этого и понадобилось отнимать 128.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #65 : Декабрь 21, 2012, 06:29:29 pm »
А, Игорь, Вы правы. Я что-то забыл, что ORD даёт беззнаковый код, а не просто побитово копирует CHAR в число. Тогда вся загадка разгадана - стыжусь, что сразу не допёр :)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #66 : Декабрь 21, 2012, 08:38:10 pm »
... ORD даёт беззнаковый код ...
Это как?

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #67 : Декабрь 21, 2012, 09:02:13 pm »
Игорь, спасибо за разъяснение. Теперь изврат стал кристально понятен.
Files умеет писать только байты, и соответственно двухбайтовый CHAR приходится "резать". А формула "дикая" по причине знаковости оберонобайта

ps Неужели в CP нельзя это сделать более эмм....... очевидным способом?
« Последнее редактирование: Декабрь 21, 2012, 09:04:33 pm от ilovb »

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #68 : Декабрь 21, 2012, 09:24:19 pm »
ps Неужели в CP нельзя это сделать более эмм....... очевидным способом?
Скорее всего более очевидный способ будет через SYSTEM
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #69 : Декабрь 21, 2012, 09:27:56 pm »
Однако Игорь кажись нас обманул...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #70 : Декабрь 21, 2012, 09:34:15 pm »
Без проблем:
ch := CHR(-32768);
b1 := SHORT(SHORT(ORD(ch)));
b2 := SHORT(SHORT(ORD(ch) DIV 256));

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #71 : Декабрь 21, 2012, 09:38:52 pm »
Прикольно что без этих -128 формула сразу становится понятной  :D

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Какая кодировка у BB документов?
« Ответ #72 : Декабрь 21, 2012, 09:50:18 pm »
Сдается мне, товарищи, что разработчики BB просто слегка лохонулись с этим -128. А мы тут голову ломаем.
В других местах просто тупо сдвиг используется, то бишь DIV 256

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Какая кодировка у BB документов?
« Ответ #73 : Декабрь 21, 2012, 10:07:25 pm »
Сдается мне, товарищи, что разработчики BB просто слегка лохонулись с этим -128. А мы тут голову ломаем.
В других местах просто тупо сдвиг используется, то бишь DIV 256
Мне эти разборы ББшных исходников напоминают школьный урок литературы во время разбора очередного произведения. Там всегда было два фундаментальных вопроса на которые непременно надо было ответить:
1) О чем думал автор когда писал эти строки?
2) Что он этим хотел сказать?
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: Какая кодировка у BB документов?
« Ответ #74 : Декабрь 22, 2012, 05:20:06 am »
Сдается мне, товарищи, что разработчики BB просто слегка лохонулись с этим -128. А мы тут голову ломаем.
В других местах просто тупо сдвиг используется, то бишь DIV 256
Мне эти разборы ББшных исходников напоминают школьный урок литературы во время разбора очередного произведения. Там всегда было два фундаментальных вопроса на которые непременно надо было ответить:
1) О чем думал автор когда писал эти строки?
2) Что он этим хотел сказать?
в таком случае я иду дальше.. меня больше волнует вопрос - нахрена это делать(разбирать это произведение)?