консольная программа в windows окне

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

консольная программа в windows окне

Сообщение AlexGordon » 19.12.2010 15:13:16

сабж. Возможно ли это?
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Vadim » 19.12.2010 19:40:51

AlexGordon писал(а):сабж. Возможно ли это?

Краткость - не всегда сестра таланта. Чаще всего краткость - причина непонимания. ;)
В модуль WinCRT не пробовали заглядывать?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 13:59:49

Vadim, я пробовал его подключать, но программа все равно выполнялась в dos'овском окне.
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Vadim » 20.12.2010 14:20:40

Да, действительно... А Turbo Pascal с этим модулем создавал виндовое окно. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 14:28:18

Кинте мне пожалуйста этот модуль для турбо паскаля, а то я никак не мог его найти
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Vadim » 20.12.2010 14:48:58

AlexGordon писал(а):Кинте мне пожалуйста этот модуль для турбо паскаля, а то я никак не мог его найти

Нельзя. Он, наверное, не будет работать.
Вот Вам, лучше, пример, который точно работает:
Код: Выделить всё
Program wc1;
Uses windows;

Var
  Hndl: THandle;

Begin
  AllocConsole;
  Hndl:=GetStdHandle(STD_OUTPUT_HANDLE);
 
  SetConsoleTitle('Типа это заголовок окна...');
  SetConsoleTextAttribute(Hndl, FOREGROUND_BLUE or
        BACKGROUND_BLUE or BACKGROUND_GREEN or BACKGROUND_RED or BACKGROUND_INTENSITY);
 
  Write('Хи-хи');
  ReadLn;
 
  FreeConsole;
End.

Запускать откомпилированную программу можно только из Проводника, иначе вторая консоль просто не создастся.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 20:03:56

Нет, не работает, все то же досовское окно
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Vadim » 20.12.2010 20:46:51

AlexGordon
Во-первых, работает. Раз Вы видите окно, значит работает. Во-вторых - консольное окно - это самое настоящее виндовое окно. Его отличие от традиционного - оно не определяется вручную и по умолчанию имеет чёрную окраску. Если Вы ожидали чего-то гиперфантастического, то свои ожидания, по поводу вида окна, Вы тут не изложили. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 20:57:13

Vadim, но согласитесь, во всем этом коде особого смысла кроме смены заголовка окна нет. Консольная программа и так генерируется паскалем. А мне нужно именно формовое окно!
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Vadim » 20.12.2010 21:02:43

AlexGordon писал(а):во всем этом коде особого смысла кроме смены заголовка окна нет.

Вы можете менять цвет текста, можете менять цвет фона. Можете на участке с готовым текстом, не меняя его, поменять цвет фона. Можете и наоборот.
Заголовок - это просто пример.
AlexGordon писал(а):А мне нужно именно формовое окно!

Это какое?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 21:16:31

Ну вы когда в лазарусе работаете, нажимаете New Form, вот такое окно мне и нужно
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Nik » 20.12.2010 21:41:45

Если нужна 100% схожесть с обычным GUI Windows, то можно извратиться и сделать собственную консоль: приём команд и вывод результатов в Memo.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: консольная программа в windows окне

Сообщение AlexGordon » 20.12.2010 21:51:51

Nik, ну это сложновато, должны же быть пути проще)
AlexGordon
новенький
 
Сообщения: 28
Зарегистрирован: 07.12.2010 21:02:15

Re: консольная программа в windows окне

Сообщение Brainenjii » 20.12.2010 22:25:33

создайте обычное лазаруское оконное приложение, которое в фоне запустит невидимое консольное... Или не вариант? ^_^
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: консольная программа в windows окне

Сообщение Nik » 20.12.2010 22:53:42

2AlexGordon
Сходу могу только один простой путь предложить: написать прогу в Borland C++ 5.0 - там чудная виндовая консоль :)

А зачем вообще нужен сабж? Может не консоль нужна, а просто приложение без GUI (и LCL)?
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

Рейтинг@Mail.ru