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

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

Форум программистов _ Delphi - Multimedia, Графика, Игры _ Ответьте на пару вопросиков по Delphi, плиз!

Автор: VONZ 10:05:2008, 10:11

Люди, пожалста ответьте на пару вопросиков по Delphi:
1)Как сделать полноэкранный режим?
2)Компонент MediaPlayer, если применить к нему процедуру Play выдаёт ошибку:
"Project Project1.exe raised exception class ENCIDeviceError with message"No VCI device open". Process stopped.Use Step or Run to continue." Может кто-нить знает, в чём дело?
3)Можно ли как-то искуственно заставить позунок(который сам появляется, если что-то вылезает за пределы формы) формы перемещаться?

P.S. Делаю 2D игру, если кто хочет присоединится за ради удовольствия, бесплатно, - милости просим!

Автор: StrausZhiv 10:05:2008, 12:46

И если не трудно, то и мне помогите. Меня интересует можно ли в Delphi в консольном приложении поменять фон, тоесть есть ли там аналог паскалевского TextBackColor, а если нет то как иначе изменить фон и цвет символов?
Мне нужно написать простенький компилятор для модельного языка(некое подобие паскаля) и он должен быть в консольном приложении, но при этом хочется чтобы он вглядел похожим на паскаль.

Автор: Yason 10:05:2008, 22:47

StrausZhiv, SetConsoleTextAttribute. Хотя что-то мне подсказывает, что начинать надо не с раскраски...

Цитата(VONZ @ 10:05:2008 - 13:11) *
1)Как сделать полноэкранный режим?
Как сделать полноэкранный режим ЧЕГО?

Цитата(VONZ @ 10:05:2008 - 13:11) *
2)Компонент MediaPlayer, если применить к нему процедуру Play выдаёт ошибку:
"Project Project1.exe raised exception class ENCIDeviceError with message"No VCI device open". Process stopped.Use Step or Run to continue." Может кто-нить знает, в чём дело?
Перед Play нужно или поставить AutoOpen=true или напрямую вызвать Open.

Цитата(VONZ @ 10:05:2008 - 13:11) *
3)Можно ли как-то искуственно заставить позунок(который сам появляется, если что-то вылезает за пределы формы) формы перемещаться?
Копать в сторону свойств формы HorzScrollBar и VertScrollBar.

Автор: StrausZhiv 11:05:2008, 03:46

Цитата
StrausZhiv, SetConsoleTextAttribute. Хотя что-то мне подсказывает, что начинать надо не с раскраски...

Спасибо, я просто большую часть уже сделал, остались визуальные эффекты.

Автор: VONZ 11:05:2008, 05:39

Yason, спасиб большое, а с режимом я уже сам почти разобрался))

Автор: VONZ 13:05:2008, 16:11

И ещё господа, очень прошу, подскажите! Что-то не могу найти нигде: Как во время выполнения программы запустить по команде(ну процедурой какой-нить наверно) совершенно другую программу, к этой не относящуюся?

Автор: etc 13:05:2008, 16:42

VONZ ]]>http://forum.codeby.net/go.php?http://forum.codeby.net/ipb.html?act=Search&CODE=show&searchid=87e2d405778f973ae442fbe6fcca6ead&search_in=posts&result_type=topics&highlite=%2B%E7%E0%EF%F3%F1%EA+%EF%F0%EE%E3%F0%E0%EC%EC%FB]]>

Автор: misterio 19:05:2008, 19:08

Цитата
VONZ ]]>http://forum.codeby.net/go.php?http://forum.codeby.net/ipb.html?act=Searc...%F0%E0%EC%EC%FB]]>


Что-то тут ничего не найдено.

Цитата
Как во время выполнения программы запустить по команде(ну процедурой какой-нить наверно) совершенно другую программу


ShellExecute(0, '<path>', '<name>', nil, nil, SW_SHOW)
WinExec('<full path>', SW_SHOW)
Вроде ж так...писал по памяти

Автор: etc 20:05:2008, 05:33

Цитата(misterio @ 19:05:2008 - 21:08) *
Что-то тут ничего не найдено
Да, что то последнее время поиск неважен, когда писал сообщение все было в порядке sad.gif

Автор: VONZ 16:07:2008, 06:32

Всем спасибо огромнейшее!

Автор: ShadowCoder 17:07:2008, 06:44

Все же нужно было уточнить вопрос...

Если пишешь под GDI, то так называемый полноэкранный режим - это всего лишь "максимизированное" окно без полос прокруток и с краями нулевого размера. Если на WinAPI - то смотри функцию CreateWindow(...) или CreateWindowEx(...)

С DirectX сложнее, смотря в каком режиме - 2D или 3D...

В свое время использовал такую реализацию (DirectX - DirectDraw):

... сперва создается окно приложения, а потом следующий код определяет, где будет выводиться вся графика
// создается поверхность DirectDraw
DirectDrawCreateEx(...);
// задаются параметры работы ПОЛНОЭКРАННОГО режима
DD.SetCooperativeLevel(hW, DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN or DDSCL_ALLOWREBOOT);
// указываются размеры поверхности
DD.SetDisplayMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, 0, 0);
Таким образом, для разныз задач совершенно разный код...
P.S.: если создаешь более-менее приличную игру - используй для вывода графики DirectX. GDI - слишком медленный, он будет слабым местом!!!

Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)