Главная страница
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.041 c
14-84669
Jurd
2003-06-08 17:03
2003.06.26
Где взять компоненту?


3-84018
LZ
2003-05-21 10:12
2003.06.26
Помогите с Алгоритмом преобразования из Access в Paradox


1-84112
Sam
2003-06-08 01:28
2003.06.26
Kylix - не запускаются скомпилинные проги


3-83905
Инна
2003-06-03 11:20
2003.06.26
не редактирует DBEdit


4-84845
Xeon
2003-04-26 08:15
2003.06.26
Работа с реестром