Подскажите плиз как работать с командной строкой в lazarus. Например мне надо запустить команду help в linux, получить ответ и вывести его в Memo.
То же и в Windows. В гугле ничего толкового, а wiki не отвечает почему-то.
Работа с командной строкой
Модератор: Модераторы
По моему этот вопрос уже задавали
Смотри ссылки:
http://wiki.freepascal.org/Executing_Ex ... rograms/ru
http://www.freepascal.ru/forum/viewtopi ... iew=unread
http://www.freepascal.ru/forum/viewtopi ... iew=unread
Смотри ссылки:
http://wiki.freepascal.org/Executing_Ex ... rograms/ru
http://www.freepascal.ru/forum/viewtopi ... iew=unread
http://www.freepascal.ru/forum/viewtopi ... iew=unread
GENI писал(а):Эту ссылку на wiki я знаю, но по неким причинам у меня fx выдаёт, что время истекло.
Вики лежит. Поднимут её только завтра.
По вашему вопросу: смотрите компонент TProcess. Тема неоднократно поднималась на форуме, и, кажется, на freepascal.ru есть по нему статья.
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.
GENI
Данный вопрос был разжеван на форуме. Но к сожалению поиском пользоваться не кто не хочет!
http://freepascal.ru/forum/viewtopic.php?f=5&t=3876
http://freepascal.ru/forum/viewtopic.php?f=1&t=3563
http://freepascal.ru/forum/viewtopic.php?f=1&t=2311
и т.д.
Данный вопрос был разжеван на форуме. Но к сожалению поиском пользоваться не кто не хочет!
http://freepascal.ru/forum/viewtopic.php?f=5&t=3876
http://freepascal.ru/forum/viewtopic.php?f=1&t=3563
http://freepascal.ru/forum/viewtopic.php?f=1&t=2311
и т.д.
- EmeraldMan
- постоялец
- Сообщения: 149
- Зарегистрирован: 16.10.2008 08:41:51
- Откуда: Белгород
- Контактная информация:
У меня тоже вопросик.
Надо сделать старт апачу, а для этого нужно обращаться через sudo, который запрашивает пароль.
Так вот как при запуске программы передать пароль от суперпользователя?
Надо сделать старт апачу, а для этого нужно обращаться через sudo, который запрашивает пароль.
Так вот как при запуске программы передать пароль от суперпользователя?
