Ver Mensaje Individual
  #3  
Antiguo 30-03-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jbecerra, bienvenido a Club Delphi .

Al tratarse de Lazarus no te recomiendo usar WinExec o ShellExecute ya que le quitas portabilidad a tu aplicación. En su lugar usa ExecuteProcess o mejor aún TProcess que te dá mas poder sobre la acción.

Con ExecuteProcess:
Código Delphi [-]
procedure crearfile(const D:string);
var
  f:textfile;
begin
  Assign(f, D + 'Convertir.bat');
  rewrite(f);
  write (f, 'PAUSE'); // Ej.
  close(f);
end;    

procedure TForm1.Button1Click(Sender: TObject);
var
  Dir:string;
begin
   Dir:= IncludeTrailingPathDelimiter('C:\Windows');
  if SetCurrentDir(Dir) then
  begin
    crearfile(Dir);
    ExecuteProcess(Dir + 'Convertir.bat','');  
  end;  
end;

Con TProcess:
Código Delphi [-]
uses Process;

procedure crearfile(const D:string);
var
  f:textfile;
begin
  Assign(f, D);
  rewrite(f);
  write (f, 'PAUSE'); // Ej.
  close(f);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Dir, Bat:string;
begin
  Dir:= IncludeTrailingPathDelimiter('C:\Windows');
  Bat:= 'Convertir.bat';
  crearfile(Dir + Bat);
  with TProcess.Create(nil) do
  try
    Executable:= Dir + Bat;
    Execute;
  finally
    Free;
  end;
end;
En este enlace tenes información mas detallada: Executing External Programs/es

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-03-2015 a las 16:30:01.
Responder Con Cita