Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Изменить разрешения


Автор: BenGAMEn 26.5.2008, 16:38
Добрый день. Собственно прошу у вас помощи в таком деле. Мне нужно при запуске программы изменить разрешения окна с текущего, на 1024*768 Таким занемаюсь впервый раз, вот нашел код, а он неработает

Код

function SetFullscreenMode:Boolean; 
var DeviceMode : TDevMode; 
begin 
  with DeviceMode do begin 
    dmSize:=SizeOf(DeviceMode); 
    dmBitsPerPel:=32; 
    dmPelsWidth:=1024; 
    dmPelsHeight:=768; 
    dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT; 
    result:=False; 
    if ChangeDisplaySettings(DeviceMode,CDS_TEST or   CDS_FULLSCREEN) <> DISP_CHANGE_SUCCESSFUL 
    then Exit; 
    Result:=ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) = DISP_CHANGE_SUCCESSFUL; 
  end; 
end; 

procedure RestoreDefaultMode; 
var 
  T : TDevMode absolute 0; 
begin 
  ChangeDisplaySettings(T,CDS_FULLSCREEN); 
end; 

procedure TForm1.FormShow(Sender: TObject);
begin 
  if setFullScreenMode then 
  begin 
    sleep(7000); 
    RestoreDefaultMode; 
  end; 
end;

Подскажите пожалуйста че не так 
ругается на эту строчку
Код

var T : TDevMode absolute 0;

Две ошибки: Variable name expected
                      ';' expected but '.' found
Оччччень прошу помогите пожалуйста что нетак?

Автор: Alexeis 26.5.2008, 16:53
BenGAMEn, это какой-то старый код. Сейчас так писать нельзя. 
Правильно будет
Код

var T : TDevMode;
Begin
  FillChar(T, sizeof(TDevMode), 0);
  ...

Автор: BenGAMEn 26.5.2008, 16:57
Большое спасибо, все работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)