[fpc-pascal] how to catch fpopen() output

Anthony Henry anthonyh63 at gmail.com
Wed Jul 23 23:54:31 CEST 2008


Could also use popen.


Sent from my iPhone

On Jul 23, 2008, at 11:11, Marc Santhoff <M.Santhoff at t-online.de> wrote:

> Am Mittwoch, den 23.07.2008, 14:40 +0200 schrieb Graeme Geldenhuys:
>> Hi,
>>
>> I have a function called fpgOpenURL(...) which contains the  
>> following ....
>>
>>    if fpsystem('which xdg-open') = 0 then
>>      Helper := 'xdg-open'
>>    else if fpsystem('which firefox') = 0 then
>>      Helper := 'firefox';
>>    else if fpsystem('which konqueror') = 0 then
>>      Helper := 'konqueror';
>>    else if fpsystem('which opera') = 0 then
>>      Helper := 'opera';
>>    else if fpsystem('which mozilla') = 0 then
>>       Helper := 'mozilla';
>>
>> It tries to dected the preferred or installed web browser. If Helper
>> <> '' at the end, I know I found a web browser.  But how do I catch
>> the output of fpopen('which xxx') so that I can set the full path of
>> the application in  the 'Helper' variable.
>>
>> eg:
>>   instead of using 'xdg-open'  I would prefer to set the full path
>> returned by 'which xdg-open' which is '/usr/bin/xdg-open'
>
> I haven't done it myself, but I'm somewhat sure the standard answer  
> for
> this case is:
>
> Use TProcess. There is a wiki page about it.
>
> ;)
> Marc
>
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal



More information about the fpc-pascal mailing list