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

> Прочтите прежде чем задавать вопрос!

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

 
 Ответить  Открыть новую тему 
> Проблема с меню
сообщение
Сообщение #1





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

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


Делаю простенькое динамическое меню, с пунктами play,info,exit. ну так вот все работает почти как надо, но есть проблема с GotoXY, который упорно не работает smile.gif по идее этого меню для того чтобы выделить активный элемент, заново выводится до этого бывший активным но с другой заливкой, а потом выводится активный. при этом gotoxy должен переводить курсор перед выводом на зарезервированные икс и игрек выводимого элемента. тогда меню стоит на месте, но gotoxy не работает и просто выводятся новые элементы все дальше и дальше с каждым нажатием вверз или вниз. Помогите пожалуйста. Основное внимание на процедуру ShowItem, она как раз и выводит)

вот файл модуля меню и файл проги.

п.с. задание само под пунктом меню Play, оно графическое просто с каждым нажатием enter выводит рандомный квадрат smile.gif


Прикрепленные файлы
Прикрепленный файл  MENU.PAS ( 3.94 килобайт ) Кол-во скачиваний: 92
Прикрепленный файл  GRAPHIC.PAS ( 1.08 килобайт ) Кол-во скачиваний: 98
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
есть проблема с GotoXY, который упорно не работает
Как ты хочешь, чтобы работал GotoXY, если координаты, которые ты ему передаешь, больше чем размеры экрана? Ты не забыл, что максимум для ТЕКСТОВОГО режима (а GotoXY - текстовая процедура) - 25/50 строк на 80 столбцов?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


я не забыл это, но просто не понимаю что передавать то тогда. там же передаются коорты элементов, а элементы привязаны к коортам меню, а меню в пределах экрана unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






А меню-то графическое...
А графический экран - это 640 х 480 !!! Вот и рассчитывай, сколько пикселей соответствуют одной текстовой позиции по вертикали и горизонтали, и передавай в GotoXY текстовые координаты, соответствующие нужным тебе графическим...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Код
procedure ShowItem(var PShow:PItem;P:PMenu);
        begin
        if Pshow^.Active=true then begin
        TextBackGround(P^.col2);
        TextColor(P^.col1);
        end
        else begin
        TextColor(15);
        TextBackGround(0);
        end;
        GotoXY(Pshow^.x,Pshow^.y);
        write(Pshow^.key);
        end;


меню текстовое. под заливкой я имел ввиду textbackground.

mega_chok.gif хахахах я все сделал! ты был прав, но я передавал не больше а меньше чем надо то есть коорты меню должны были быть 1,1. а были 0,0 =))) спасибо)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 




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