Класс TProcess

Общие вопросы программирования, алгоритмы и т.п.

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

Ответить
Mushroomer
новенький
Сообщения: 20
Зарегистрирован: 04.12.2017 14:07:39

Класс TProcess

Сообщение 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:
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Буквально вчера бодался с этим классом.
AProcess.Executable := 'исполняемый файл' в винде ехе, например notepad.exe
AProcess.Parameters[] - список параметрой для запуска исполняемого файла.
Mushroomer
новенький
Сообщения: 20
Зарегистрирован: 04.12.2017 14:07:39

Сообщение Mushroomer »

Беда в том, что мне надо под Linux.
Нужно чтобы командный интерпретатор выполнил ip link.
Indigo80
новенький
Сообщения: 19
Зарегистрирован: 31.07.2012 11:24:06

Сообщение Indigo80 »

AProcess.Executable := 'ip';
AProcess.Parameters.Add('link');
gvido
постоялец
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Сообщение gvido »

Indigo80 писал(а):AProcess.Executable := 'ip';
AProcess.Parameters.Add('link');

Правильно советуют. Какая бы не была система - везде есть исполняемый файл. А запускаться он может как с параметрами, так и без.
Mushroomer
новенький
Сообщения: 20
Зарегистрирован: 04.12.2017 14:07:39

Сообщение Mushroomer »

Вот спасибо.
Доберусь до компьютера попробую.
----------------------------------------------------------------------
Всё заработало. Спасибо. :D
Ответить