Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Эмулятор консоли или что-то вроде этого...   Найти похожие ветки 

 
Centronix   (2003-06-07 13:00) [0]

Привет.

Никто не знает где можно нарыть компонент для GUI приложения, который бы работал как стандартная ДОС-овская консоль ? Имеется ввиду визуально - чтоб можно было задать цвет текста/фона для отдельных символов, ввести какие-либо данные (с запрещением перемещения текстового курсора вне поля ввода) и т.п. и т.д.

ЗЫ: Сорри есле немного не в тему форума, но ИМХО в другие разделы оно еще больше не в тему.


 
Юрий Зотов ©   (2003-06-07 14:32) [1]

Компонентов таких не видел, но что мешает написать в программе соответствующий код? Например, такой:

procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
if AllocConsole then
try
SetConsoleTextAttribute(STD_OUTPUT_HANDLE,
FOREGROUND_BLUE or BACKGROUND_GREEN or BACKGROUND_RED or BACKGROUND_INTENSITY);
WriteLn("Hello, world!");
repeat
ReadLn(S);
Caption := S
until S = ""
finally
FreeConsole
end
end;

Все, что нужно для управления косолью можно найти в справке API, раздел Console functions.


 
Centronix   (2003-06-07 16:48) [2]

Мне нужно чтобы эта "псевдоконсоль" была в виде контрола на форме, а не отдельным окном...


 
Домарощинер ©   (2003-06-07 17:09) [3]

Ну так бери напиши свой компонент "в виде контрола на форме", который будет инкапсулировать это окно. Тем более, что и как он его будет инкапсулировать, тебе уже написали.
В чём проблема?

С Уважением, борец против общества потребителей.


 
Centronix   (2003-06-07 17:39) [4]


> как он его будет инкапсулировать, тебе уже написали.
> В чём проблема?

Во-первых, то что мне написали нельзя инкапсулировать "в виде контрола на форме" по определению (AllocConsole уже создает новое консольное окно).

Во-вторых, если бы я мог сам написать такой компонент, то я бы это сделал.


 
Иван Шихалев ©   (2003-06-07 17:53) [5]

См. API - Caret Functions etc. А уж как сделать свое окно внешне похожим на консоль - сам разберешься.


 
R4D][   (2003-06-08 13:40) [6]

А что если в OleContainer открыть WinExec("command.com", SW_SHOW)?


 
Spell Checker   (2003-06-08 15:14) [7]

procedure TConsole.Show(Sender: TObject);
var
S: string;
begin
if AllocConsole and not(csDesigning in ComponentState)then
try
SetConsoleTextAttribute(STD_OUTPUT_HANDLE,
FOREGROUND_BLUE or BACKGROUND_GREEN or BACKGROUND_RED or BACKGROUND_INTENSITY);
WriteLn("Hello, world!");
repeat
ReadLn(S);
Caption := S
until S = ""
finally
FreeConsole
end
end;

щас проверю в действии.
А вообще, я видел такой компонент в одном пакете для разработки игр...



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-84745
Всеволод Соловьёв
2003-06-04 00:03
2003.06.26
Принимаю заказы.


14-84550
Omar2002
2003-06-06 17:16
2003.06.26
Мастер кривых враз


1-84352
testthewest
2003-06-16 15:29
2003.06.26
Как перетащить файл ИЗ моей программы в проводник


1-84286
Dmk
2003-06-14 21:44
2003.06.26
Как вернуть форму к предыдущему состоянию


1-84242
VISA
2003-06-13 13:56
2003.06.26
TIniFile