Forth
http://fforum.winglion.ru/

Forth + Lazarus IDE
http://fforum.winglion.ru/viewtopic.php?f=2&t=3102
Страница 3 из 6

Автор:  VoidVolker [ Ср авг 10, 2016 21:33 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

F-MAP писал(а):
Вопрос в другом, как к примеру, мышкой захватить вращающийся треугольник и переместить в другое место без GDI? (OpenGL)

Каким тут вообще боком GDI? Взаимодействие мышки и сцены делается вообще элементарно:
- Матрицы всех объектов сцены известны - координаты, размеры, искажения и т.п.
- Известна матрица окна просмотра
- Координаты курсора мыши так же известны
Далее простейшая математика:
1) Преобразуем координаты курсора в координаты сцены
2) Проецируем курсор в сцену
3) Сравниваем координаты курсора и объекты сцены и получаем нужный объект
F-MAP писал(а):
Ну все равно, объект нужно где то хранить, чтоб программист знал и мог им манипулировать, в OpenGL кажется очень проблематично

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

Автор:  gudleifr [ Чт авг 11, 2016 11:35 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

VoidVolker писал(а):
Эмм... Объект хранится в памяти и им очень легко манипулировать
Видимо, подразумевался объект, как "единица документации" - совокупность известных программисту структур, методов, интерфейсов и парадигм (я это называю "быдлокодерским ООП" в отличие от "классического" и "как у всех"). Вообще, можно заметить, что у участников дискуссии постоянная путаница с тем "где что лежит": один и тот же термин у них часто означает и общую умственную концепцию и случай единичного использования в конкретном контексте.

Автор:  VoidVolker [ Чт авг 11, 2016 14:01 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

gudleifr писал(а):
Видимо, подразумевался объект, как "единица документации"

Нет, про документацию тут речи не идет. Имеется ввиду только трехмерный объект со всеми его точками, ребрами, полигонами и свойствами.

Автор:  gudleifr [ Чт авг 11, 2016 14:08 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

VoidVolker писал(а):
Имеется ввиду только трехмерный объект со всеми его точками, ребрами, полигонами и свойствами.
Дык, об том и речь. "Трехмерный объект" обсуждается в теме и как концепция рисования, и как библиотечная реализация конкретного ее представления, и как база данных, описывающих объект, и как структура этой базы, и как объект в памяти...
Более того, сам "трехмерный объект" в тему попал случайно. Как элемент OpenGL-пиписькометрии.

Чисто поржать (конспект темы):

00.H. А не реализовать ли FORTH в ЯВУ-обезьяннике?
01.G. Опять?!
02.V. Это может быть полезно.
03.G. Для чего?
04.A. Да, опять!
05.L. Никто не понимает художника!
06.G. Сам виноват!
07.H. Всем молчать! Рождается новая концепция интерфейса!
08.V. И на что он будет похож?
09.F. А в чем проблема?
10.G. Очередная PR-акция!
11.К. Не без того.
12.V. GUI и OpenGL - две большие разницы!
13.Н. Да!
14.G. А при чем это тут?
15.F. Нет!
16.H. Нет, да!
17.G. А при чем это тут?
18.F. Нет, нет!.. Хочу хардкора!
19.G. Возьмите.
20.F. Не хочу!
21.G. Кончаем флуд!
22.F. Не мешайте!
23.G. Как обычно...
24.H. Вы все ничего не понимаете в интерфейсах!
25.G. Не надо изобретать велосипед.
26.F. Не нужны мне ваши интерфейсы!
27.Н. Они даны нам в ощущениях.
28.F. А еще, есть скрипты.
29.H. ... явлюящиеся частью интерфейсов.
30.V. Давайте помедленнее.
31.G. Дык, никто никуда не едет.
32.V. Вы не понимаете!
33.G. Тут нечего понимать.

Автор:  Victor__v [ Чт авг 11, 2016 18:04 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Прочитал описание про форт на экселе. Жуть, как мне кажется.
Никто не знает, где можно найти толковый справочник по методам экселя?

Автор:  gudleifr [ Чт авг 11, 2016 19:02 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Victor__v писал(а):
Прочитал описание про форт на экселе. Жуть, как мне кажется.
"Какой, думаю, Мандриан? Нет там никакого Мандриана." Прежде чем выносить свои суждения, надо изучить хоть какие-то азы.
Victor__v писал(а):
Никто не знает, где можно найти толковый справочник по методам экселя?
Там есть кнопочка "Help".

Автор:  Victor__v [ Пт авг 12, 2016 08:45 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Цитата:
Прежде чем выносить свои суждения, надо изучить хоть какие-то азы

Так, так. О каких азах речь ведётся?
Мы не дураки, всегда готовы просветлиться

Касательно форт-системы на экселе. Не вижу в этом особого смысла, если только побаловаться. Если есть специальная форт-система для работы с экселем, или библиотека для работы с ним, разговор совершенно другой. Ибо идёт сразу в дело.
Ну какой смысл форт-системы на экселе? Превращать форт-код в визуал-васик-ООП-код? А как же издержки на перевод с одного языка на другой? А производительность? Винда и так непроста, а тут для неё ещё и форт в васик перекидывать. А пользователи как отзовутся на это ноу-хау? Пусть пользователь и программист?
Ну а с отдельной форт-системы ( которая не встроена в эксель), толк больше. Может сразу дать ГП в виде файла эксель-формата

Автор:  gudleifr [ Пт авг 12, 2016 10:05 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Victor__v писал(а):
О каких азах речь ведётся?
О FORTH-методе. Оценивать FORTH-систему по тому "на чем она написана" и по ее "потенциальным возможностям" абсолютно бессмысленно. Можно только говорить о том, облегчило или нет решение некой задачи превращение изначальной Excel-машины в проблемно-ориентированную.
Например, Мур пишет о том, что сидя у телескопа, устал перекомпилировать программу при каждом незначительном изменении задачи. Поэтому задумался о разбиении программы на слова, последовательностью которых можно управлять с перфокарт... Вполне допускаю, что для некоторых эксель-задач можно объединить часто употребимые VBA-конструкции в слова...

Примерно так:
0) исходная машина с неким набором команд (например, Excel)
1) скрипты
2) умные скрипты (насколько я понимаю, Excel VBA примерно тут)
3) переосмысление команд (FORTH)
4) новая машина

Автор:  VoidVolker [ Пт авг 12, 2016 20:32 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Victor__v писал(а):
. Если есть специальная форт-система для работы с экселем, или библиотека для работы с ним, разговор совершенно другой. Ибо идёт сразу в дело.

Так ведь есть же: SPF4, nnCron, библиотека Automation из дистрибутива SPF - открывает полный доступ ко всем методам и функциям в экселе. И не только - можно управлять всеми приложениями из пакета MSO, а так же и всеми другими программами, предоставляющими COM-интерфейс.

Автор:  Alex [ Сб авг 13, 2016 12:36 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

стала доступна в исходниках одна из самых первых и ранних систем построения 3d миров написанная на диалекте форта
Virtual 3D environment created by Marc de Groot with Open Firmware Forth language

Автор:  KPG [ Сб авг 13, 2016 12:55 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Alex писал(а):
стала доступна в исходниках одна из самых первых и ранних систем построения 3d миров написанная на диалекте форта
Virtual 3D environment created by Marc de Groot with Open Firmware Forth language

Вот ранее продолжение

Автор:  Hishnik [ Сб авг 13, 2016 15:11 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Про 3d познавательно, конечно. Однако прямым аналогом рассматриваемой системы оно не является.

Автор:  Hishnik [ Пн авг 15, 2016 17:04 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Вариант взаимодействия: вместо определения в форт-машине большого количества callback-ов идет мониторинг состояния переменных, определяющих, что форт-машина хотела бы сделать с GUI. Пока на экране всего понемножку, и оно помещено на форму скриптом на Форте.

Вложения:
lazarus001.png
lazarus001.png [ 16.42 Кб | Просмотров: 21572 ]

Автор:  Hishnik [ Вт авг 16, 2016 15:33 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Для первой итерации образовался вот такой список компонентов.
1. Button;
2. Label;
3. Panel;
4. EditLine;
5. Memo;
6. ToggleBox;
7. CheckBox;
8. ListBox;
9. ComboBox;
10. ScrollBar;
11. BitButton;
12. SpeedButton;
13. SynEdit;
14. Splitter;
15. StringGrid;
16. DrawGrid;
17. ValueList;
18. TreeView;
19. ListView;
20. TrackBar;
21. ProgressBar;

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

Автор:  gudleifr [ Вт авг 16, 2016 16:26 ]
Заголовок сообщения:  Re: Forth + Lazarus IDE

Hishnik писал(а):
15. StringGrid;
16. DrawGrid;

Это уже Borland-условности. Для Win-API естественным является List-Wiev (см. FOBOS).

Hishnik писал(а):
Чтобы такого не происходило, запросы предполагается положить в очередь.
Как уже писал выше, FORTH не нуждается в этом. См. опять же FOBOS, в котором реализация каждого из перечисленных Ctrls с нуля (т.е. от определения WIN-констант) занимает десяток строк. А применение конкретного экземпла - одну строку. И без Borland-костылей.

Страница 3 из 6 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/