Страница 1 из 1

Класс TProcess

СообщениеДобавлено: 13.03.2018 12:54:36
Mushroomer
При использовании CommandLine (deprecated) вопросов нет.
Код: Выделить всё
AProcess.CommandLine := 'ip link';
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
sl.LoadFromStream(AProcess.Output); // sl - TStringList
if sl.count > 0 then // count как положено > 0
  .....


При использовании Parameters
Код: Выделить всё
AProcess.Executable := 'Не знаю, что тут написать'
//  AProcess.Executable := FindDefaultExecutablePath('bash'); // Думал так - не помогает.
AProcess.Parameters.Add('ip link');
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
sl.LoadFromStream(AProcess.Output); // sl - TStringList
if sl.count > 0 then  //  count = 0
  .....


Матчасть (Linux) изучаю. Но как видите результат пока не очень. :oops:

Re: Класс TProcess

СообщениеДобавлено: 13.03.2018 14:48:43
gvido
Буквально вчера бодался с этим классом.
AProcess.Executable := 'исполняемый файл' в винде ехе, например notepad.exe
AProcess.Parameters[] - список параметрой для запуска исполняемого файла.

Re: Класс TProcess

СообщениеДобавлено: 13.03.2018 14:59:52
Mushroomer
Беда в том, что мне надо под Linux.
Нужно чтобы командный интерпретатор выполнил ip link.

Re: Класс TProcess

СообщениеДобавлено: 13.03.2018 15:39:30
Indigo80
AProcess.Executable := 'ip';
AProcess.Parameters.Add('link');

Re: Класс TProcess

СообщениеДобавлено: 13.03.2018 15:56:00
gvido
Indigo80 писал(а):AProcess.Executable := 'ip';
AProcess.Parameters.Add('link');

Правильно советуют. Какая бы не была система - везде есть исполняемый файл. А запускаться он может как с параметрами, так и без.

Re: Класс TProcess

СообщениеДобавлено: 13.03.2018 17:20:48
Mushroomer
Вот спасибо.
Доберусь до компьютера попробую.
----------------------------------------------------------------------
Всё заработало. Спасибо. :D