Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2012-05

manejo de TProcess y programas externos

4 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Maikel Enrique Pernía Matos

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 cmbSources.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/

Reply by email

Maikel Enrique Pernía Matos

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/

Reply by email

José Mejuto
to Maikel Enrique Pernía Matos

Hello Maikel,

Friday, May 11, 2012, 6:19:56 PM, you wrote:

MEPM> Hola, como parte de la funcionalidad de una app que estoy MEPM> desarrollando utilizo el
MEPM> TProcess para comunicar mi app con programas externos especificamente MEPM> con split y cat de
MEPM> GNU para OS GNU/linux, en el caso especifico del cat no me est� MEPM> funcionando, adjunto el
MEPM> codigo para si alguien ve que me falta y desee ayudarme me env�e un e-mail

No te va ? Me explico, no hace nada, se queda colgado, el resultado no es el esperado, cuando lo lanzas el rat�n se sube a la mesa... Explica cual es el problema. Mira si los ficheros tienen espacios en el nombre, etc... etc...

Best regards, Jos�

Reply by email

Carlos German Tejero
to Maikel Enrique Pernía Matos: Hola, como parte de la funcionalidad de una app que estoy desarrollando utilizo el…

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�:

Show quoted text 49 lines
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.freepascal.org/pipermail/lazarus-es/attachments/20120511/988ea4db/attachment.html>

Reply by email