Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

объект Edit1 и командная строка [D6, D7, Win2k, WinXP]


Demonix ©   (2005-05-31 23:47:00) 

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

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

Спасибо.


Demonix   (2005-06-01 02:58:00) [1]

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


Marser   (2005-06-01 02:02:00) [2]

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


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

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

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


Marser   (2005-06-01 01:38:00) [4]

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


PAVIA   (2005-06-01 01:09:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо