Встроить консоль в форму

Вопросы программирования и использования среды Lazarus.

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

Встроить консоль в форму

Сообщение Devel0 » 04.08.2011 19:33:36

Доброе время суток, коллеги!
Использую FPC, хотел бы встроить консоль в форму. Обычный перехват ввода/вывода через пайпы TProcess-а не катят: так сложно работать с интерактивными командами. Ну и я вообще молчу о работе в такой "псевдоконсоли" с чем-то типа Midnight Commander/Norton Commander (боюсь передача цвета будет не единственной бедой).
В идеале нужно решение только для для Linux, т.к. под Windows будет реализовано типа так:
Код: Выделить всё
        Windows.SetParent(hConsole, PageControl1.ActivePage.Handle); // перемещаем окно на PageControl
        SetWindowPos(hConsole, 0, 0,0, PageControl1.ActivePage.Width, PageControl1.ActivePage.Height, 0); // выравниваем его по ширине контрола
        SetWindowLong (hConsole, GWL_STYLE, GetWindowLong(hConsole, GWL_STYLE) and not WS_CAPTION); // убираем заголовок окна

Аналогичных процедур для Linux просто не знаю, если кто будет любезен подсказать - буду очень благодарен!
Devel0
новенький
 
Сообщения: 66
Зарегистрирован: 24.07.2011 10:43:13

Re: Встроить консоль в форму

Сообщение B4rr4cuda » 20.08.2011 02:20:00

Если под гтк - рекомендую смотреть в сторону VTE и делать обвязку для подвязки к LCLGTK. Для QT - можно попробовать qconsole, тоже делая обвязку, если кде - обвязку над konsole.
Цеплять в лине окна, как в винде не получится..
По крайней мере у меня это не вышло никакими способами, ни виджетсетными методами, ни иксовыми. Точнее, насколько я помню, запихнуть то вышло (через иксы), а вот работать оно дальше не хотело.. К сожалению, направление поисков не подскажу, давно это делал и забыл уж что, да как.
Если вдруг что получится - не поленитесь, плз, поделиться методикой)

Добавлено спустя 8 минут 54 секунды:
Ну и можно посмотреть на связку CmdLine компонента с пайпами.. Простенькую консольку я для ДЦ делал. С раскраской проблем в принципе нет, проблема с эмуляцией терминала.. Спецификация жуткая..
абстракция
виндовый наследник
Линкусовый
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru