Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2012, 22:09   #1
afirat
Пользователь
 
Регистрация: 19.04.2012
Сообщений: 32
По умолчанию Ошибка при запуске: This system does not support fullscreen mode. Choose 'Close' to terminate the application.

а в Free Pascal нормально запускаеться, но запускаеться 2 окна, и чтоб выбрать определенный пункт меню, нужно чтоб маленькое окно было активным, скрин добавил. Как сделать так, чтоб программа запускалась одним окном? вот еще и код на всяий случай, он с этого форума
Код:
{ Пример создания и использования меню в графике}
program menu2;
uses Crt, Graph;
const
     NORM=WHITE; { цвет невыделеного пункта }
     SEL=YELLOW;  { цвет выделенного пункта }
     BackSelectedColor=Cyan;
     BackNotSelectedColor=Black;

     N=4;      {количество пунктов в меню}
     HeightSize = 40; {высота, занимаемая каждой строчкой в меню}
     WidthSize = 200; {длина каждой строчки}
var
     menu:array[1..N] of string[12];{ названия пунктов меню }
     punkt:integer;  { номер выделенного пункта }
     ch:char;        { введенный символ }
     x,y:integer;    { координаты первой строки меню }

var
  grDriver: Integer;
  grMode: Integer;
  ErrCode: Integer;

Procedure punkt1;
begin
     ClearDevice;
     OutText('Процедура 1.Нажмите <Enter> для продолжения.');
     readln;
end;

Procedure punkt2;
begin
     ClearDevice;
     OutText('Процедура 2.Нажмите <Enter> для продолжения.');
     readln;
end;

procedure ShowSelectedPunkt;
begin
     SetFillStyle(1, BackSelectedColor );
     Bar(x,y+(punkt-1)*HeightSize-(HeightSize div 4),
         x + WidthSize, y+(punkt-1)*HeightSize+3*(HeightSize div 4));
     SetColor(SEL);
     MoveTo(x,y+(punkt-1)*HeightSize);
     OutText(menu[punkt]);{ выделим строку меню }
     SetColor(NORM);
end;

procedure ShowNotSelected(i : integer);
begin
     SetFillStyle(1, BackNotSelectedColor);
     Bar(x,y+(i-1)*HeightSize-(HeightSize div 4),
         x + WidthSize, y+(i-1)*HeightSize+3*(HeightSize div 4));
     SetColor(NORM);
     MoveTo(x,y+(i-1)*HeightSize);
     OutText(menu[i]);{ выделим строку меню }
end;

Procedure MenuToScr;{ вывод меню на экран }
var i:integer;
begin
     ClearDevice;
     SetTextStyle(TriplexFont, HorizDir, 2);
     SetTextJustify(LeftText, TopText);
     SetColor(NORM);
     for i:=1 to N do begin
          ShowNotSelected(i);
     end;
     ShowSelectedPunkt;
end;

{ основная программа }
begin

  grDriver := Detect;
  InitGraph(grDriver, grMode,'..\BGI');
  ErrCode := GraphResult;

     menu[1]:=' Memu Item 1 ';
     menu[2]:=' Memu Item 2 ';
     menu[3]:=' Empty Menu Item ';
     menu[4]:=' Quit ';
     punkt:=1;
     x:=200;
     y:=100;
     MenuToScr;
     repeat
          ch:=ReadKey;
          if ch=char(0) then begin
               ch:=ReadKey;
               case ch of
                    chr(80):{ стрелка вниз }
                         if punkt<N then begin
                              ShowNotSelected(punkt);
                              punkt:=punkt+1;
                              ShowSelectedPunkt;
                         end;
                    chr(72):{ стрелка вверх }
                         if punkt>1 then begin
                              ShowNotSelected(punkt);
                              punkt:=punkt-1;
                              ShowSelectedPunkt;
                         end;
                 end;
              end
          else
               if ch=chr(13) then begin { нажата клавиша <Enter> }
                    case punkt of
                         1:punkt1;
                         2:punkt2;
                         N:ch:=chr(27);{ выход }
                    end;
                    MenuToScr;
               end;
     until ch=chr(27);{ 27 - код <Esc> }
end.
Изображения
Тип файла: jpg 213123.jpg (10.8 Кб, 131 просмотров)
afirat вне форума Ответить с цитированием
Старый 06.05.2012, 22:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

DosBox пробуйте
p51x вне форума Ответить с цитированием
Старый 06.05.2012, 23:52   #3
afirat
Пользователь
 
Регистрация: 19.04.2012
Сообщений: 32
По умолчанию

В Free Pascal нормально запускаеться, но запускаеться 2 окна, и чтоб выбрать определенный пункт меню, нужно чтоб маленькое окно было активным, скрин добавил. Как сделать так, чтоб программа запускалась одним окном?
afirat вне форума Ответить с цитированием
Старый 07.05.2012, 05:45   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от afirat Посмотреть сообщение
В Free Pascal нормально запускаеться, но запускаеться 2 окна, и чтоб выбрать определенный пункт меню, нужно чтоб маленькое окно было активным, скрин добавил. Как сделать так, чтоб программа запускалась одним окном?
Вместо CRT поставь WinCRT. Окна будет все равно два, но графическое будет активным. Если хочешь нормально, то завязывай с графикой a la TP, и либо переходи на виндусовые средства (Delphi, Lazarus..), либо используй современную графическую библиотеку.

Цитата:
Сообщение от p51x Посмотреть сообщение
DosBox пробуйте
Сколько уже можно мучить старую кобылу?? Я еще понимаю, когда люди держат вертушку для винила, но советовать обучающемуся студенту делать через жопу - ЗАЧЕМ??
Кроме того, сомневаюсь, что ДосЯщик тут поможет.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка чтения памяти при посылки дублирующей команды Close Вспомогательной Форме (Form2) deryt Общие вопросы Delphi 4 09.01.2012 22:14
application.terminate (or halt) Fiery Fox Общие вопросы Delphi 11 20.02.2011 20:36
Application.Terminate или Close? Alexei91 Общие вопросы Delphi 10 22.09.2010 03:50
Protected mode Application _-Re@l-_ Софт 3 20.08.2010 12:05
Application.terminate GAGARIN-NEW Общие вопросы Delphi 11 09.03.2008 19:32