[Lazarus-es] manejo de TProcess y programas externos

Carlos German Tejero german_tejero en yahoo.com.ar
Sab Mayo 12 03:57:10 CEST 2012


Enrique:

El operador de redireccion de la salida estandard '>', es soportado por los
shells, como bash, zsh y otros. TProcess no es un shell por lo que no
reconoce el operador de redireccion. Simplemente lo esta pasando como un
parametro mas a cat. Si lo que quieres es concatenar todos los archivos,
pasa en la linea de TProcess el comando 'cat archivo1 archivo2 archivoN',
lee la salida de TProcess y guardala en un archivo. O simplemente lee cada
archivo desde objectpascal y escribe su contenido en un arhivo de salida.

Saludos.

El 11 de mayo de 2012 13:19, Maikel Enrique Pernía Matos <
reprepoli2mz en infomed.sld.cu> escribió:

> Hola, como parte de la funcionalidad de una app que estoy desarrollando
> utilizo el
> TProcess para comunicar mi app con programas externos especificamente con
> split y cat de
> GNU para OS GNU/linux, en el caso especifico del cat no me está
> funcionando, adjunto el
> codigo para si alguien ve que me falta y desee ayudarme me envíe un e-mail
>
> <code>
> procedure unir_fichero(listaFicheros : TStrings; nombreFichero : String);
> var
> catApp : TProcess;
> ficheros : String;
> i : Integer;
> begin
>   for i := 0 to listaFicheros.Items.Count-1 do
>   begin
>      ficheros := ficheros + ' ' + listaFicheros.Strings[i];
>   end;
>
>   catApp := TProcess.Create(nil);
>   catApp.CommandLine := 'cat ' + ficheros + ' > ' + nombreFichero;
>   catApp.Options := catApp.Options + [poWaitOnExit];
>   catApp.Execute;
>   catApp.Free;
>
>   ShowMessage('El proceso a finalizado.');
> end;
> </code>
>
>
> ------------------------------**------------------------------**----
> This message was sent using IMP, the Internet Messaging Program.
>
>
> --
>
> Este mensaje le ha llegado mediante el servicio de correo electronico que
> ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema
> Nacional de Salud. La persona que envia este correo asume el compromiso de
> usar el servicio a tales fines y cumplir con las regulaciones establecidas
>
> Infomed: http://www.sld.cu/
>
> ______________________________**_________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>



-- 
Carlos Germán Tejero
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20120511/988ea4db/attachment-0002.html>


More information about the Lazarus-es mailing list