134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
||||||
1 | ||||||
Смена страницы в графическом режиме16.06.2013, 05:47. Показов 2498. Ответов 13
Метки нет (Все метки)
Здравствуйте уважаемые пользователи форума. Возникла такая проблема: Среди функций модуля Grapg есть 2 - SetVisualPage и SetActivePage, которые позволяют устанавливать активную страницу видеорежима, и страницу, на которую происходит вывод (естественно в тех режимах, которые имеют несколько страниц, напр. VGA). Таким образом, чередуя вывод на скрытую страницу, и её показ можно реализовать анимацию, без ряби. Но я обнаружил, что у меня режим не переключается вообще. Т.е. если в примере ниже(простейшем, взятым с сайта с описанием функции) убрать SetVisualPage(1);, то по идее на экране ничего не должно появиться, т.к. вывод шел бы на 1 страницу а показ был бы нулевой. Но у меня рисуется квадрат, что означает, отсутствие смены страницы. Собственно вопрос: Почему так, и как сделать смену, т.к. в мне очень нежелательно было бы иметь дрожание картинки при перерисовке
Кликните здесь для просмотра всего текста
Добавлено через 1 час 27 минут И вот ещё вопрос: у меня стоят Freepascal и Win8. Когда я запускаю в приложении графический режим, и пытаюсь отловить символы функцией readkey, они ловятся, НО только если фокус стоит на консольном окне, а не на окне с графикой. Можно-ли заставить читать символы с клавиатуры графическое окно?
0
|
16.06.2013, 05:47 | |
Ответы с готовыми решениями:
13
Ошибка в графическом режиме Вывод текста в графическом режиме Считывание текста в графическом режиме Считывать символы в графическом режиме. |
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
16.06.2013, 11:38 | 2 | |||||
А у Вас подключен модуль Crt? Смените на Wincrt
Добавлено через 19 минут А программу попробуйте так, в учебниках куча ошибок.
0
|
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
|
16.06.2013, 13:13 [ТС] | 3 |
Спасибо огромное, всё получилось, буду встраивать в основную программу)
Добавлено через 18 минут Обидно, но смена видеостраницы что-то не даёт особого эффекта, дёрганье всёравно остаётся довольно сильным(
0
|
38 / 37 / 23
Регистрация: 01.06.2009
Сообщений: 59
|
|
16.06.2013, 21:47 | 5 |
В FPC "игра со страницами" не реализована (открываем файл \packages\graph\src\win32\graph.pp, и смотрим на "пустышки", которые должны как раз всё делать, по крайней мере у меня на 2.6.0 - именно такая история)
0
|
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
|
16.06.2013, 22:15 [ТС] | 6 |
Ну в принципе уже не важно, я кое-что подправил, кое-что поменял, у меня теперь только в одном месте моргает, но уже не критично, хотя и напрягает( Но реализацию в коде оставил, может на TP запущу как-нибудь...
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
17.06.2013, 07:38 | 7 |
1
|
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253
|
|
21.05.2014, 21:28 | 9 |
Подскажите. Надо нарисовать ромб в невидимой странице, потом сделать ее видимой (понятно что сетвижуал(0))-но надо ли использовать сетактивейт если надо его выводить или это надо сделать сперва. Но как определить невидимую страницу для ромба сперва? Или она есть по умолчанию для некоего режима? В любом случае потом надо построить квадрат в невидимой. Как тогда быть со второй. Как их отделить?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
22.05.2014, 07:58 | 10 | |||||
0
|
Супер-модератор
|
||||||
22.05.2014, 17:57 | 11 | |||||
maxii, еще раз: не работает FPC с невидимыми страницами. Обе эти функции - "пустышки", ничего не делающие. И вся эта "игра" с ними - только чтобы запудрить мозги преподавателю. Любой мало-мальски разбирающийся человек тут же попросит сделать отрисовку обоих фигур (одной - в неактивную страницу, второй - в активную) до цикла, а в цикле - только менять страницы:
WinGraph попробуй, там по крайней мере не "пустышки"...
0
|
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253
|
|
22.05.2014, 23:58 | 12 |
Ну задание мне нужно сделать. И Это очень простое. И надо мне сделать там где эти функции работают. Пусть: делаю ромб. Делаю эту страницу видимой. Потом надо снова как то на невидимую переключится. Как это сделать чтобы квадрат нарисовать. То есть выход один. Как то делать новую страницу и там уже рисовать квадрат.
Добавлено через 3 минуты И здесь как бы Цикла не надо как и делеев?
0
|
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253
|
||||||
21.06.2014, 20:18 | 13 | |||||
запустите пожалуста этот код если он работоспособный,
у себя на компьютере, ибо у меня пишет что что то с компиляцией (Мне надо принскрин).
0
|
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
|
|
22.06.2014, 00:28 | 14 |
0
|
22.06.2014, 00:28 | |
22.06.2014, 00:28 | |
Помогаю со студенческими работами здесь
14
Русский язык в графическом режиме Построить треугольники в графическом режиме Не получается запустить TurboPascal в графическом режиме Вывести текстовый файл в графическом режиме Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |