Ответьте на пару вопросиков по Delphi, плиз!

  • Автор темы VONZ
  • Дата начала
V

VONZ

#1
Люди, пожалста ответьте на пару вопросиков по 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 игру, если кто хочет присоединится за ради удовольствия, бесплатно, - милости просим!
 
S

StrausZhiv

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

Yason

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

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." Может кто-нить знает, в чём дело?
Перед Play нужно или поставить AutoOpen=true или напрямую вызвать Open.

3)Можно ли как-то искуственно заставить позунок(который сам появляется, если что-то вылезает за пределы формы) формы перемещаться?
Копать в сторону свойств формы HorzScrollBar и VertScrollBar.
 
S

StrausZhiv

#4
StrausZhiv, SetConsoleTextAttribute. Хотя что-то мне подсказывает, что начинать надо не с раскраски...
Спасибо, я просто большую часть уже сделал, остались визуальные эффекты.
 
V

VONZ

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

VONZ

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

misterio

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

Как во время выполнения программы запустить по команде(ну процедурой какой-нить наверно) совершенно другую программу
ShellExecute(0, '<path>', '<name>', nil, nil, SW_SHOW)
WinExec('<full path>', SW_SHOW)
Вроде ж так...писал по памяти
 
S

ShadowCoder

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

Если пишешь под 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 - слишком медленный, он будет слабым местом!!!
 
A

APJIEKUH

#12
Подскажите плз
procedure Open();
begin
AssignFile(save,'save.txt');
reset(save);
readln(save, Button1.Tag);
readln(save, Button2.Tag);
readln(save, Button3.Tag);
readln(save, Button4.Tag);
readln(save, Button5.Tag);
readln(save, Button6.Tag);
readln(save, ProgressBar1.Position);
readln(save, ProgressBar2.Position);
CloseFile(save);
end;

выдает ошибку [Error] Unit1.pas(265): Left side cannot be assigned to
в чем проблема?
ПС я знаю что я нубчек причем страшый прост 3 день пытаюсь серьезно в делфи разобрацо((

Все спасибо разобрался забыл преобразовать типы
 
B

BurcevD

#13
считай вначале в переменную, а потом присвой свойства Tag или Position этой переменной