Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Практика продвинутого программирования на Pascal _ Обсуждение темы о псевдографике в FAQ

Автор: -TarasBer- 4.06.2011 21:31

Эта тема - обсуждение статьи в FAQ: http://forum.pascalnet.ru/index.php?showtopic=28423
- Lapp



Мне кажется, что выводить через процедуры модуля ЦРТ, храня вывод в буфере, не очень целесообразно. Намного проще было бы обратиться напрямую к видеопамяти. Преимущество будет в том, что можно будет не хранить буфер, а прямо читать из видеопамяти.

Автор: Lapp 5.06.2011 3:08

Цитата(-TarasBer- @ 4.06.2011 22:31) *
Мне кажется, что выводить через процедуры модуля ЦРТ, храня вывод в буфере, не очень целесообразно. Намного проще было бы обратиться напрямую к видеопамяти. Преимущество будет в том, что можно будет не хранить буфер, а прямо читать из видеопамяти.

1. Это безусловное преимущество, но только тогда полностью утратится возможность абстрагироваться от уже нарисованных линий, с которыми не надо сопрягаться. Также, будет мешать мусор на экране (то есть уже имеющаяся картинка, которая может содержать и псевдографику в общем случае). В варианте с буфером, если потрудиться, можно реализовать работу со слоями..

2. Я должен признать, что я не знаю, как читать видеопамять в текстовой моде под Windows ((. Научишь?

Автор: IUnknown 5.06.2011 11:43

Если поправить модуль вот так, то под FPC он будет работать не только под Windows, но и под другими осями, причем обращаясь напрямую к видеопамяти (с буфером, ага, я только избавился от "любимого" CRT). При этом сохранится работоспособность программы под Турбо-Паскалем (хотя я не тестировал, просто негде, я удалил у себя ТП, но вроде все по правилам, причин не работать не вижу).

(модуль) (Показать/Скрыть)


Собственно, тестовая программа не меняется...

Автор: Lapp 15.06.2011 5:38

Цитата(IUnknown @ 5.06.2011 12:43) *
Если поправить модуль вот так, то под FPC он будет работать не только под Windows, но и под другими осями, причем обращаясь напрямую к видеопамяти ...

Замечательно smile.gif, спасибо, IUnknown. Я практически забыл о существовании юнита video, поскольку не нашел его так уж сильно полезным, когда смотрел, shame on me.. Ну и, конечно, условная компиляция rules. Добавляю этот код в FAQ.
IUnknown +1