[Lazarus-es] Problema con texto generado desde tprocess

Martin Gomez mmgomez en gmail.com
Lun Ago 5 15:32:18 CEST 2013


On Sun, Aug 4, 2013 at 1:40 PM, metal box <metalbox9000 en gmail.com> wrote:

> Como vez alli en  la funcion StrCat colocan CMD  por lo que asi como esta
> funciona solo en windows no se si podria funcionar con la consola de linux.
>

me resulta demasiado complicada tu solucion :)
Yo uso TProcess de esta manera:

  Proceso := TProcess.Create(nil);
  Proceso.Executable := FindDefaultExecutablePath('synce-pcp');
  with Proceso.Parameters do
  begin
    Add(':' + csSource);
    Add(csTarget);
  end;
  Proceso.Options := Proceso.Options + [poWaitOnExit, poUsePipes,
poStderrToOutPut];
  Proceso.Execute;
  LogStream(Proceso.Output);
  Result := Proceso.ExitStatus;
  if Result <> 0 then
    ShowMessage('error copiando "' + csTarget + '"');
  Proceso.Free;

Siendo LogStream lo siguiente:

procedure LogStream(Stream: TStream);
var
  Lista: TStringList;
  j: integer;
begin
  Lista := TStringList.Create;
  try
    Lista.LoadFromStream(Stream);
    for j := 0 to Lista.Count - 1 do
    begin
      DebugLn([DateTimeToStr(Now), '  = ', Lista[j]]);
    end;
  finally
    Lista.Free;
  end;
end;

O sea, obtengo el resultado de la ejecucion y lo envio a debug (pero vos
podes hacer lo que necesites con el resultado)




> Una Pregunta windows 8 Trae CMD o lo eliminaron totalmente por el nuevo
> shell
>

​Aun existe.​



-- 
Try not to become a man of success but rather to become a man of value. *Albert
Einstein*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130805/c0092229/attachment-0002.html>


More information about the Lazarus-es mailing list