IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Бекграунд
BRS
сообщение 30.10.2004 10:45
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Собственно есть ли такая возможность в пасале?
Предположим в какой то момент программы, необходимо зделать скажем 5 проверок на каждый пиксель и потом перекрасить по какому нить правилу какойнить пиксель:
[code]for i:= 1 to 640 do
for j:= 1 to 480 do
begin
if... then... putpixel
if... then... putpixel
if... then... putpixel
if... then... putpixel
if... then... putpixel
end;

собственно понятно, что вполне заметно как экран будет заполняться рядами примерно за 0,5 сек.

Так вот.
Можно ли ка нибудь сделать следуюющее. Во время выполнения цикла - заполнять мнимый (второй / что то вроде бекграунда) экран, а пользователю в это время показывать что нибудь еще ( ну напиример мигающую надпись WAIT!).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 30.10.2004 13:31
Сообщение #2


Гость






BRS

Для этого можно использовать процедуры SetActivePage и SetVisualPage. Но я не уверен, что режима 640х480 есть больше одной видеостраницы... Для режимов с меньшим разрешением это делается так:

Код

...
 { Выводим сообщение на видимой странице...
   по умолчанию - страница №0 }
 OutTextXY(GetMaxX div 2, GetMaxY div 2, 'Wait');
 { Устанавливаем страницу №1 активной, но не видимой }
 SetActivePage(1);
 { Заполняем невидимую страницу }
 for i:= 1 to 640 do
   for j:= 1 to 480 do
      { заполнение экрана }

 { Делаем заполненную страницу видимой }
 SetVisualPage(1);
...


Сообщение отредактировано: volvo - 30.10.2004 13:31
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 17:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"