Вниз
Скачать: CL | DM;

isql.exe или как выполнить команду в консольном приложении... ?   Найти похожие ветки 

← →
Hmm   (2004-10-13 19:52) [0]

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

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

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

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


← →
Jel ©   (2004-10-13 19:58) [1]

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


← →
Hmm   (2004-10-13 20:08) [2]

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


← →
homosapienz   (2004-10-13 20:15) [3]

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


← →
Jel ©   (2004-10-13 21:15) [4]

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

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


← →
homosapienz   (2004-10-13 22:26) [5]

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


← →
homosapienz   (2004-10-19 22:27) [6]

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


← →
Polevi ©   (2004-10-20 11:32) [7]

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


← →
Анонимщик ©   (2004-10-20 12:17) [8]

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



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
1-1100176487
AndrewK
2004-11-11 15:34
2004.11.28
Работа с переменными в FastScript


1-1100545950
ser_vik
2004-11-15 22:12
2004.11.28
начинающий - функция CreateDirectory


14-1100166416
Григорьев Антон
2004-11-11 12:46
2004.11.28
Не только Архангельский зачётные книжки пишет :)


14-1100095253
race1
2004-11-10 17:00
2004.11.28
component needed


4-1098179804
nastya
2004-10-19 13:56
2004.11.28
узнать тип диска




   Наверх