alex208210 » 01.06.2011 08:54:17
function Tform1.shellv(commd:string):ansistring;
var
S : TProcess;
Buf: ansistring;
Count : longint;
begin
S:=TProcess.Create(Nil);
S.Commandline:=commd;
S.Options:=[poUsePipes,poNoConsole];
S.execute;
SetLength(buf, 1000);
Repeat
Count:=s.output.read(buf[1], length(buf));
result:=result + Copy(buf, 1, Count-1);
until Count=0;
S.Free;
end;
memo1.lines.add(shellv('rpm -qa')); {rpm}
memo1.lines.add(shellv('dpkg –-get-selections')); {deb}
memo1.lines.add(shellv('emerge -pve world')); {gentoo}
memo1.lines.add(shellv('equo query list installed')); {sabayon}
лучше всего делать вывод в файл например так shell('rpm -qa > /tmp/1'); а потом парсить файл. Функция shell естьв модуле unix