Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
8-1076337974
PHENIX physicist
2004-02-09 17:46
2004.04.11
Рисование на форме


3-1081795892
Ну вобщем это мой ник
2004-04-12 22:51
2004.04.11
Господа, Простите мою наглость, не могли ли бы вы накидать ссылок


14-1082014126
}|{yk
2004-04-15 11:28
2004.04.11
Чем грозит?


1-1082433197
Bond
2004-04-20 07:53
2004.04.11
Печать


3-1081857009
Nikolai_S
2004-04-13 15:50
2004.04.11
Как создать временную таблицу и вставить в нее записи?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский