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

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

isql.exe или как выполнить команду в консольном приложении... ? [D7, WinXP]


Hmm ©   (2004-10-13 19:52:00) 

Я пытаюсь из своего приложения запустить другую, консольную программу (isql.exe - может кто сталкивался, входит в пакет IB 6.x) и выполнить в ней команду, например help (есть тама такая).
Команды можно вводить непосредственно в окно этой программки сразу после запуска.
Вот, что делаю Я:

shellexecute(handle,nil,'c:\isql.exe' ,'help',nil,sw_restore);
(собственно, пробовал также createprocess и winexec... результат тот же)

программа ругается на то, что не сушествует такого файла(!!!) HELP =( Видимо я что-то не так делаю, вопрос что ?
Другими словами: как передать запушенному консольному приложению НЕ путь к файлу (для открытия), а именно команду (вписать текст в окно приложения)?

ЗЫ: Заранее спасибо за ответы.


Анонимщик   (2004-10-20 12:17:00) [1]

Попробуй подавать не просто строку 'isql.exe', а, например, вот такую:
'isql -i simpleVDB1.sql'


Polevi   (2004-10-20 11:32:00) [2]

FAQ на этом сайте


homosapienz   (2004-10-19 22:27:00) [3]

Мастера помогите может кто знает?


homosapienz   (2004-10-13 22:26:00) [4]

Jel, Спасибо это уже кое что, но не совсем понятно как работать в диалоговом режиме? Допустим я ввожу команду ftp она требует ввести какие то данные. Так как мне отловить событие ожидания ввода, тем более что моя программа подвисает ожидая завершения ftp? И как поддерживать сессию приглашение-ввод? может есть мысли?


Jel   (2004-10-13 21:15:00) [5]

Посмотри этот пример http://delphibase.endimus.ru/?action=viewfunc&topic=winappctrl&id=10317

Он читает вывод консольного приложения, но после незначительной творческой переработки может отправлять и ввод. Принцип там показан, остальное дело техники.


homosapienz   (2004-10-13 20:15:00) [6]

Тоже давно интересуюсь этой проблемой, дайте пожалуйста рабочий код взаимодействия с иоей программы с консольной.
Там вроде нужно через CreateProcess а дальше как то через Pipe
(или что-то типа того). Пожалуйста дайте пример.


Hmm   (2004-10-13 20:08:00) [7]

каким образом..?! какой функцией (набором функций) можно переобпределить этот самый поток ввода, и далее, каким образом вывести этот текст (help)?


Jel   (2004-10-13 19:58:00) [8]

Если программа не пердусматривает этого явно (как в твоем случае) при создании процесса можно переопределить для него стандартный поток ввода (и вывода если нужно) и убедившись, что процесс стартовал вывести в этот поток нужный текст (help).


Наверх

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