 |
|

03.02.2009, 11:38
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Самый простой способ - перенаправлять вывод в файл через >>
А потом подгружать файл в memo
Остальные способы(через pipe) намного сложнее.
|
|
|

03.02.2009, 11:42
|
|
Познающий
Регистрация: 30.01.2009
Сообщений: 30
С нами:
9093757
Репутация:
14
|
|
Сообщение от Nightmarе
Ещё вопрос, при выполнении CMD команд через shellexecute или winexec есть ли способ вывести ответ в Memo ???
К примеру команда:
ShellExecute(0,'open','cmd.exe','dir','',0);
и чтобы листинг был в memo
Можно сделать так:
ShellExecute(0,'open','cmd.exe >buf.txt','dir','',0);
И потом считать в Memo уже из файла.
|
|
|

03.02.2009, 12:20
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
Сообщение от BlackSilver
Можно сделать так:
ShellExecute(0,'open','cmd.exe >buf.txt','dir','',0);
И потом считать в Memo уже из файла.
не пашет ;(
Можно рабочий вариант команды?
|
|
|

03.02.2009, 12:54
|
|
Познающий
Регистрация: 30.01.2009
Сообщений: 30
С нами:
9093757
Репутация:
14
|
|
Сообщение от Nightmarе
не пашет ;(
Можно рабочий вариант команды?
Ой, >buf -это в параметрах должно стоять.
ShellExecute(0,'open','cmd.exe','dir >buf.txt','',0);
Это как раз и есть перенаправление вывода в файл.
|
|
|

03.02.2009, 15:20
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
И всё-таки ещё раз об ошибках.
Вот к примеру код:
Memo1.Text:= IdHTTP1.Get('http://lol.ru');
В никоторых случаях, может у кого инет не пашет или ещё что, может вылезти ошибка, что так и так...
Ну есть хоть какой нить способ обработать каждую команду персонально чтобы 100% ошибок не было???
|
|
|

03.02.2009, 16:04
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
юзай обработку исключений. Под отладчиком (запуск из под делфи) ошибка будет светиться, но ты просто нажимай продолжить выполнение. А в уже нормально запущенной проге тогда не будет светиться она
Код:
try
Memo1.Text:= IdHTTP1.Get('http://lofgdl.ru');
except
// этот код выполнится если будет исключение (ошибка)
showmessage('er'); // можно убрать, тогда ничего не будет происходить
end;
|
|
|

03.02.2009, 16:28
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
Сообщение от slesh
юзай обработку исключений. Под отладчиком (запуск из под делфи) ошибка будет светиться, но ты просто нажимай продолжить выполнение. А в уже нормально запущенной проге тогда не будет светиться она
Код:
try
Memo1.Text:= IdHTTP1.Get('http://lofgdl.ru');
except
// этот код выполнится если будет исключение (ошибка)
showmessage('er'); // можно убрать, тогда ничего не будет происходить
end;
Большое спасибо, помогло при IdHTTP1.
Ну а другие команды точно так же обрабатываются:
try
...
except
???
В частности:
urlmon.URLDownloadToFile
|
|
|

03.02.2009, 16:39
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
вообще через эту конструкцию обрабатываются любые исключения возвникающие в ходе выполнения какого либо кода.
В частности URLDownloadToFile смотри что возвращает функция. Если вернула 0 - значит удачно скачался файл, любой другой ответ - код ошибки
|
|
|

03.02.2009, 16:40
|
|
Познающий
Регистрация: 29.12.2008
Сообщений: 45
С нами:
9140640
Репутация:
1
|
|
Form1.Close
Столкнулся с проблемой когда выходишь из программы она закрывается не успевая воспроизвести звук как быть ?
имеем такое :
Код:
PlaySound('SND4', 0, SND_RESOURCE or SND_ASYNC);
form1.close;
|
|
|

03.02.2009, 16:51
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
поставь SND_SYNC вместо SND_ASYNC чтобы прожка ждала когда отзвучит до конца звук.
Или как вариант юзая SND_ASYNC - в событии CanClose или Close поставь паузу чтобы звук хоть чуть поиграл
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|