консольная программа в windows окне
Модератор: Модераторы
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
консольная программа в windows окне
сабж. Возможно ли это?
AlexGordon писал(а):сабж. Возможно ли это?
Краткость - не всегда сестра таланта. Чаще всего краткость - причина непонимания.
В модуль WinCRT не пробовали заглядывать?
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Vadim, я пробовал его подключать, но программа все равно выполнялась в dos'овском окне.
Да, действительно... А Turbo Pascal с этим модулем создавал виндовое окно. 
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Кинте мне пожалуйста этот модуль для турбо паскаля, а то я никак не мог его найти
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.Запускать откомпилированную программу можно только из Проводника, иначе вторая консоль просто не создастся.
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Нет, не работает, все то же досовское окно
AlexGordon
Во-первых, работает. Раз Вы видите окно, значит работает. Во-вторых - консольное окно - это самое настоящее виндовое окно. Его отличие от традиционного - оно не определяется вручную и по умолчанию имеет чёрную окраску. Если Вы ожидали чего-то гиперфантастического, то свои ожидания, по поводу вида окна, Вы тут не изложили.
Во-первых, работает. Раз Вы видите окно, значит работает. Во-вторых - консольное окно - это самое настоящее виндовое окно. Его отличие от традиционного - оно не определяется вручную и по умолчанию имеет чёрную окраску. Если Вы ожидали чего-то гиперфантастического, то свои ожидания, по поводу вида окна, Вы тут не изложили.
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Vadim, но согласитесь, во всем этом коде особого смысла кроме смены заголовка окна нет. Консольная программа и так генерируется паскалем. А мне нужно именно формовое окно!
AlexGordon писал(а):во всем этом коде особого смысла кроме смены заголовка окна нет.
Вы можете менять цвет текста, можете менять цвет фона. Можете на участке с готовым текстом, не меняя его, поменять цвет фона. Можете и наоборот.
Заголовок - это просто пример.
AlexGordon писал(а):А мне нужно именно формовое окно!
Это какое?
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Ну вы когда в лазарусе работаете, нажимаете New Form, вот такое окно мне и нужно
-
AlexGordon
- новенький
- Сообщения: 28
- Зарегистрирован: 07.12.2010 20:02:15
Nik, ну это сложновато, должны же быть пути проще)
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
создайте обычное лазаруское оконное приложение, которое в фоне запустит невидимое консольное... Или не вариант? ^_^
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
2AlexGordon
Сходу могу только один простой путь предложить: написать прогу в Borland C++ 5.0 - там чудная виндовая консоль
А зачем вообще нужен сабж? Может не консоль нужна, а просто приложение без GUI (и LCL)?
Сходу могу только один простой путь предложить: написать прогу в Borland C++ 5.0 - там чудная виндовая консоль
А зачем вообще нужен сабж? Может не консоль нужна, а просто приложение без GUI (и LCL)?
