Подскажите плиз как работать с командной строкой в lazarus. Например мне надо запустить команду help в linux, получить ответ и вывести его в Memo.
То же и в Windows. В гугле ничего толкового, а wiki не отвечает почему-то.
Модератор: Модераторы
GENI писал(а):Эту ссылку на wiki я знаю, но по неким причинам у меня fx выдаёт, что время истекло.
GENI писал(а):Подскажите плиз как работать с командной строкой в lazarus. Например мне надо запустить команду help в linux, получить ответ и вывести его в Memo.
То же и в Windows. В гугле ничего толкового, а wiki не отвечает почему-то.
// Это демо-программа, показывающая, как запускать
// внешнюю программу и читать ее вывод
program launchprogram;
// Подключаем модули
uses
Classes, SysUtils, Process;
// Опысываем переменную "AProcess"
// И добавляем список строк TStringList для сбора данных
// из вывода программы
var
AProcess: TProcess;
AStringList: TStringList;
// Начинаем нашу программу
begin
// Создаем объект TProcess
AProcess := TProcess.Create(nil);
// Создаем объект TStringList
AStringList := TStringList.Create;
// Зададим командную строку
AProcess.CommandLine := 'ppc386 -h';
// Установим опции программы. Первая из них не позволит нашей программе
// выполнятся до тех пор, пока не закончит выполнение запущенная программа
// Также добавим опцию, которая говорит, что мы хотим прочитать
// вывод запущенной программы
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
// Теперь запускаем программу
AProcess.Execute;
// Пока запущенная программа не закончится, досюда мы не дойдем
// А теперь прочитаем вывод в список строк TStringList.
AStringList.LoadFromStream(AProcess.Output);
// Сохраним вывод в файл
AStringList.SaveToFile('output.txt');
// После сохранения файла мы можем уничтожить
// TStringList и TProcess.
AStringList.Free;
AProcess.Free;
end.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22