Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизВызыв консольного окна из своей программы Найти похожие ветки
← →
SergeyV (2004-03-22 10:07) [0]Стоит следующая задача. Окно куда вводятся определенные команды которые затем обрабатываются так или иначе. Самое простое это сделать консольное приложение. Однако делать отдельный exe вызываемый из основной программы не хочется.
Можно ли каким-то образом создать окно подобное консольному в своей программе.
← →
PVOzerski © (2004-03-22 10:25) [1]Достаточно добавить {$APPTYPE CONSOLE} в файле .dpr. Это даже проще, чем вызывать AllocConsole из GUI-приложения (тогда придется еще колдовать с файлами input и output или делать все I/O-операции с консолью через API). Разница будет при запуске проги из другой консольной (скажем, из far"а): в 1-м случае мы "унаследуем" консоль этой проги, во 2-м получим новое окошко.
← →
SergeyV (2004-03-22 10:35) [2]Похоже что я не внятно задал вопрос :((
Есть GUI приложение в нем кнопка необходимо чтобы при ее нажатии открылось консольное окно, при этом в этой консоли ряд команд обрабатывает основное приложение (просто вызыв соответствующей функции).
При этом не хочется делать консоль ввиде отдельного приложения.
Вопрос как можно создать некоторое подобие консольного (воспринимающего команды) окна у себя.
← →
PVOzerski © (2004-03-22 10:45) [3]procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
begin
allocconsole;
reset(input);
rewrite(output);
writeln ("Enter any digit until 0");
repeat
readln(x);
until x=0;
FreeConsole;
system.Close(input);
system.Close(output);
end;
← →
PVOzerski © (2004-03-22 10:49) [4]BTW, если не обязательно, чтобы окошко возникало именно при нажатии на кнопку, остается в силе 1-й вариант тоже.
← →
SergeyV (2004-03-22 11:37) [5]Огромное спасибо, PVOzerski !
Проблем никаких, очень удобно обрабатывать команды.
Еще один касметический вопросик, а как задать положение и размеры открываемого окна?
← →
SergeyV (2004-03-22 11:47) [6]О вот что заметил, если открыта основная форма и я вызываю консольное окно, то если щелкнуть крестик у этого окна то закрывается и главная форма (вырубается все приложение целиком).
Как это можно обойти?
← →
Cobalt © (2004-03-22 12:06) [7]На сколько я знаю - никак :(
← →
SergeyV (2004-03-22 12:53) [8]Cobalt, никак относилось к положению и размерам окна или к закрытию основного приложения ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c