Хочу, чтобы программа могла посылать команды в баш и читать из него сообщения.
Ничего не нашел по этому поводу. lazarus 0.9.28.2-8, fpc 2.4.0, убунту линукс 10.04.
Работа с bash (посылка команд, чтение инфы, вызов, закрытие)
Модератор: Модераторы
Писал когдато программу использующую консольные команды в GUI .
http://workism.narod.ru/
исходники
http://narod.ru/disk/2227770001/archive ... ar.gz.html
она глючная, но для примера сойдет
Добавлено спустя 2 минуты 1 секунду:
Также можно использовать компонент TProcess, это даже удобнее
http://workism.narod.ru/
исходники
http://narod.ru/disk/2227770001/archive ... ar.gz.html
она глючная, но для примера сойдет
Добавлено спустя 2 минуты 1 секунду:
Также можно использовать компонент TProcess, это даже удобнее
Спасибо. Посмотрим, кстати да, прога гуишная
Добавлено спустя 29 минут 15 секунд:
А с Tprocess как?
Добавлено спустя 29 минут 15 секунд:
А с Tprocess как?
Код: Выделить всё
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 , но оно глючное, у меня заработало только когда считывал побайтово.
Тут, как я понял через скрипт все идет?
А кто мешает ?
Но в это млучае с некоторыми программами возможны зависания (TProcess не может дождаться завершения программы, хотя она уже завершилась, возможно в недавней версии Лазаруса это пофиксили)
Код: Выделить всё
FormMain_.ProcessCharSetDetect.CommandLine:='C:\PriceVampire\tools\Charset\program.exe";Но в это млучае с некоторыми программами возможны зависания (TProcess не может дождаться завершения программы, хотя она уже завершилась, возможно в недавней версии Лазаруса это пофиксили)
Спасибо. Пробуем
