OberonCore
https://forum.oberoncore.ru/

Кто общался с разработчиками BB?
https://forum.oberoncore.ru/viewtopic.php?f=47&t=3858
Страница 2 из 8

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 21:48 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Код:
prop: Properties.Property;
stdprop: Properties.StdProp;
NEW(stdprop);
prop := stdprop;
prop.valid := {Properties.color};
TextModel.Modify(start, end, NIL, prop);

Автор:  Пётр Кушнир [ Воскресенье, 26 Февраль, 2012 21:49 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Ну я роту не вижу что-то...
не всем же положено на форумах истерику разводить

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 21:50 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ах да еще пропустил:
Код:
prop.color.val := color

Автор:  Пётр Кушнир [ Воскресенье, 26 Февраль, 2012 21:50 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Код:
...
опа, опа, мастер-класс... на работе не убЪют за такое?

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 21:51 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Пётр Кушнир писал(а):
опа, опа, мастер-класс... на работе не убъют за такое?

:?:

Автор:  Иван Кузьмицкий [ Воскресенье, 26 Февраль, 2012 21:59 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Код:
prop: Properties.Property;
stdprop: Properties.StdProp;
NEW(stdprop);
prop := stdprop;
prop.valid := {Properties.color};
TextModel.Modify(start, end, NIL, prop);


Ага, точно. Можно задавать атрибут не напрямую, а посредством свойства. В сухом остатке имеем то, что я и сказал:

1) взять текст
2) задать атрибут
3) применить атрибут к участку текста.

А вот теперь давайте разберёмся, как эта задача выполняется в "более других" системах. Что-то мне подсказывает, ничего нового там мы не увидим. Та же последовательность - текст, атрибут, применить.

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:05 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Во первых это совсем не то, что вы сказали. Объект атрибут там не фигурирует и никаких SetAttr я не вызываю.
А в во вторых в других системах это решается примерно так:

Цитата:
Range:=Doc.Range(start,end);
Range.Font.Italic:=1;

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:10 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Иван Кузьмицкий писал(а):
Ага, точно. Можно задавать атрибут не напрямую, а посредством свойства.

Не просто можно а совсем нельзя другой метод применить тут (с)магистр Йода :D

Автор:  Пётр Кушнир [ Воскресенье, 26 Февраль, 2012 22:18 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

берём слона и топор. Вот как может топор родить слонёнка? Ага, не может!!! вот из этого очевидно, что топор - не нужен и убог.

Автор:  Иван Кузьмицкий [ Воскресенье, 26 Февраль, 2012 22:18 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Во первых это совсем не то, что вы сказали. Объект атрибут там не фигурирует и никаких SetAttr я не вызываю.
А в во вторых в других системах это решается примерно так:

Цитата:
Range:=Doc.Range(start,end);
Range.Font.Italic:=1;


Атрибут фигурирует, только косвенно - модель сама транслирует свойство в нужные параметры атрибута. Эта фича используется в командах типа StdCmds.Color - вы посылаете в виде свойства сигнал о цвете объекту, и если он понимает этот сигнал, то выполнит команду.

А в приведённом Вами примере всё по-писаному. Текст откуда берётся? Вытаскивается через Doc. Затем формируется объект "участок текста" и его атрибуту присваивается значение 1 (вот где шизофрения-то! Говорим про Italic, пишем целочисленное значение).

Собственно, в ББ написать обёртку, позволяющую так же кратко записывать команды смены атрибутов текста, ничто не мешает. Только смысла особого нет, потому что получится очередная частность для узкого применения.

Автор:  Пётр Кушнир [ Воскресенье, 26 Февраль, 2012 22:21 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Иван Кузьмицкий писал(а):
вот где шизофрения-то! Говорим про Italic, пишем целочисленное значение
Это угол наклона в радианах!

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:23 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Пётр Кушнир писал(а):
Иван Кузьмицкий писал(а):
вот где шизофрения-то! Говорим про Italic, пишем целочисленное значение
Это угол наклона в радианах!

Все намного проще - это Delph-овая интерпретация офисного true

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:29 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Прям даже не знаю, что писать...
У меня аргументы кончились. У вас логика железная. Мне истина открылась. Пойду на асме обертку, форматирующую текст напишу...

Автор:  Иван Кузьмицкий [ Воскресенье, 26 Февраль, 2012 22:35 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Прям даже не знаю, что писать...
У меня аргументы кончились. У вас логика железная. Мне истина открылась. Пойду на асме обертку, форматирующую текст напишу...


Понимаете ли Вы, что упомянутый механизм свойств более общий, чем текст? Можно посылать сигнал о смене цвета любому объекту, даже не заботясь о его устройстве. Не надо знать никаких Doc, Range, Font, Color. Вы в погоне за сомнительной скорописью упускаете стройность реализованных в ББ концепций.

Автор:  Пётр Кушнир [ Воскресенье, 26 Февраль, 2012 22:35 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
У меня аргументы кончились. У вас логика железная.
Сила Оберона!

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:43 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Иван Кузьмицкий писал(а):
ilovb писал(а):
Прям даже не знаю, что писать...
У меня аргументы кончились. У вас логика железная. Мне истина открылась. Пойду на асме обертку, форматирующую текст напишу...


Понимаете ли Вы, что упомянутый механизм свойств более общий, чем текст? Можно посылать сигнал о смене цвета любому объекту, даже не заботясь о его устройстве. Не надо знать никаких Doc, Range, Font, Color. Вы в погоне за сомнительной скорописью упускаете стройность реализованных в ББ концепций.


Я с текстом работаю. Нахрен мне другие объекты?

Автор:  Иван Кузьмицкий [ Воскресенье, 26 Февраль, 2012 22:52 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Иван Кузьмицкий писал(а):
ilovb писал(а):
Прям даже не знаю, что писать...
У меня аргументы кончились. У вас логика железная. Мне истина открылась. Пойду на асме обертку, форматирующую текст напишу...


Понимаете ли Вы, что упомянутый механизм свойств более общий, чем текст? Можно посылать сигнал о смене цвета любому объекту, даже не заботясь о его устройстве. Не надо знать никаких Doc, Range, Font, Color. Вы в погоне за сомнительной скорописью упускаете стройность реализованных в ББ концепций.


Я с текстом работаю. Нахрен мне другие объекты?


Так бы сразу и сказали, что ББ-шные концепции слишком широки для Ваших узких задач. А то, понимаешь, "архитектура плоха" :) Напишите примитивную обёртку и пользуйтесь. И не надо переписывать Text.

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 22:56 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Нет вы не поняли.
Я в определенный момент пространства/времени работаю с текстом. Нахрен мне в этот момент другие объекты? Буду работать с другими объектами, тогда мне текст нахрен не нужен будет. Так понятно?

Автор:  Иван Кузьмицкий [ Воскресенье, 26 Февраль, 2012 23:03 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

ilovb писал(а):
Нет вы не поняли.
Я в определенный момент пространства/времени работаю с текстом. Нахрен мне в этот момент другие объекты? Буду работать с другими объектами, тогда мне текст нахрен не нужен будет. Так понятно?


Это вы не поняли.

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

Отображение способно принять свойство. Подход одинаков что для текстов, что для форм, что для чОрта лысого. Создавайте свойство, укажите ему цвет и засылайте его объекту. Хоть тексту, хоть форме, хоть специально сконструированному контролу.

Если вы за деревьями не видите леса - это ваши личные проблемы, а опошлять нормальную архитектуру не нужно.

Автор:  ilovb [ Воскресенье, 26 Февраль, 2012 23:07 ]
Заголовок сообщения:  Re: Кто общался с разработчиками BB?

Я еще раз повторяю: я работаю с текстом. Вам с высоты ваших абстракций это так сложно понять?

Приведите пример кода (работающего) который меняет только один атрибут на участке текста (только текста)
В противовес тому вордовскому с Range. Вот и посмотрим

Продублирую даже (на VBA):
Код:
Range = Doc.Range(start,end)
Range.Font.Italic = True

Страница 2 из 8 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/