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

Вниз

объект Edit1 и командная строка   Найти похожие ветки 

 
Demonix ©   (2005-05-31 23:47) [0]

Доброго времени суток, Мастера Дельфи

Есть объект Edit1, рядом с ним кнопочка "OK"
В поле Edit1 вводится произвольная команда которая выполняется в CMD.exe, как сделать так, чтобы само окошко cmd.exe не запускалось, а весь вывод с него выводился скажем в поле Memo1.
Только вот один аспект, поле Memo1 должно управляться кнопочкой
"Свернуть/Развернуть"
Т.е. даем команду в Edit1, жмем OK автоматически разворачивается поле Memo1, которое расширяет форму (Memo1 находится на форме) и весь вывод командной строки идет в это поле. После отработки команды, нажимаем кнопку "Свернуть/Развернуть" и Memo1 вновь исчезает, возвращая форму в исходное состояние.

Спасибо.


 
PAVIA ©   (2005-06-01 01:09) [1]

Весь код писать не буду, дам подсказку. Перенаправление ввода вывода для этого используй каналы(pipe). Для вызова CMD используй CreateProcess(nil,"cmd"{NiL},Nil,NiL,TRUE,CREATE_NEW_CONSOLE,
                    NiL,NiL,si,pin)


 
Marser ©   (2005-06-01 01:38) [2]

AllocConsole
CreateConsoleScreenBuffer
FillConsoleOutputAttribute
FillConsoleOutputCharacter
FlushConsoleInputBuffer
FreeConsole
GenerateConsoleCtrlEvent
GetConsoleCP
GetConsoleCursorInfo
GetConsoleMode
GetConsoleOutputCP
GetConsoleScreenBufferInfo
GetConsoleTitle
GetLargestConsoleWindowSize
GetNumberOfConsoleInputEvents
GetNumberOfConsoleMouseButtons
GetStdHandle
HandlerRoutine
PeekConsoleInput
ReadConsole
ReadConsoleInput
ReadConsoleOutput
ReadConsoleOutputAttribute
ReadConsoleOutputCharacter
ScrollConsoleScreenBuffer
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleMode
SetConsoleOutputCP
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitle
SetConsoleWindowInfo
SetStdHandle
WriteConsole
WriteConsoleInput
WriteConsoleOutput
WriteConsoleOutputAttribute
WriteConsoleOutputCharacter


 
Германн ©   (2005-06-01 01:54) [3]

2 Marser ©   (01.06.05 01:38) [2]
Да. Нравы меняются. Медленно, но упорно.
Раньше написали бы F1.
Или, в лучшем случае - F1 + Console Functions.

Только, имхо, эти ответы равно безполезны. А то что сабж не очень, ну так не отвечай вообще.


 
Marser ©   (2005-06-01 02:02) [4]

Да просто хотел бросить несколько Get.. и Set..., а потом решил запустить всё.
И так часто делается с ToolHelp и коммуникационным API.


 
Demonix ©   (2005-06-01 02:58) [5]

Спасибо всем, додумался :)



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

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

Наверх




Память: 0.47 MB
Время: 0.449 c
1-1116938422
alertus
2005-05-24 16:40
2005.06.14
Ускорение работы с динамическими массивами


14-1117097701
OX
2005-05-26 12:55
2005.06.14
Может быть, хоть здесь мне помогут...


3-1115819862
_e_u_
2005-05-11 17:57
2005.06.14
добавить запись в поле типа текст


9-1110559906
Кирилл
2005-03-11 19:51
2005.06.14
*.MTL


6-1111596524
redlord
2005-03-23 19:48
2005.06.14
не отрабатывает try clientsocket.Open; finally