Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ezhik80 » 13.04.2011 13:23:06

Хочу, чтобы программа могла посылать команды в баш и читать из него сообщения.
Ничего не нашел по этому поводу. lazarus 0.9.28.2-8, fpc 2.4.0, убунту линукс 10.04.
Ezhik80
незнакомец
 
Сообщения: 4
Зарегистрирован: 13.04.2011 13:10:41

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ism » 13.04.2011 13:33:51

Писал когдато программу использующую консольные команды в GUI .
http://workism.narod.ru/

исходники
http://narod.ru/disk/2227770001/archive ... ar.gz.html

она глючная, но для примера сойдет

Добавлено спустя 2 минуты 1 секунду:
Также можно использовать компонент TProcess, это даже удобнее
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ezhik80 » 13.04.2011 14:08:26

Спасибо. Посмотрим, кстати да, прога гуишная

Добавлено спустя 29 минут 15 секунд:
А с Tprocess как?
Ezhik80
незнакомец
 
Сообщения: 4
Зарегистрирован: 13.04.2011 13:10:41

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ism » 13.04.2011 15:20:53

Код: Выделить всё
var
  sl:TStrings;
begin
  sl:=TStringList.Create;
  FormMain_.ProcessCharSetDetect.Active:=false;
  FormMain_.ProcessCharSetDetect.CommandLine:='C:\PriceVampire\tools\Charset\koi_to_utf8.bat'; //Ну или exe
  FormMain_.ProcessCharSetDetect.Execute;
  sl.LoadFromStream(FormMain_.ProcessCharSetDetect.Output); 
end


Так же есть возможность считывать вывод в реальном времени через TAsyncProcess, событие OnReadData , но оно глючное, у меня заработало только когда считывал побайтово.
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ezhik80 » 13.04.2011 15:26:47

Тут, как я понял через скрипт все идет?
Ezhik80
незнакомец
 
Сообщения: 4
Зарегистрирован: 13.04.2011 13:10:41

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ism » 13.04.2011 15:34:09

А кто мешает ?
Код: Выделить всё
FormMain_.ProcessCharSetDetect.CommandLine:='C:\PriceVampire\tools\Charset\program.exe";


Но в это млучае с некоторыми программами возможны зависания (TProcess не может дождаться завершения программы, хотя она уже завершилась, возможно в недавней версии Лазаруса это пофиксили)
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Работа с bash (посылка команд, чтение инфы, вызов, закрытие)

Сообщение Ezhik80 » 13.04.2011 16:24:35

Спасибо. Пробуем
Ezhik80
незнакомец
 
Сообщения: 4
Зарегистрирован: 13.04.2011 13:10:41


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44

Рейтинг@Mail.ru