Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Esperar winrar executar


robinhocne

Pergunta

Faço um backup pelo winrar e queria que o sistema só apresentasse a mensagem quando ele terminar de processar:

como posso fazer ?

esse é o meu codigo:

 Empresa := copy(FrmPrincipal.PnEmpresa.Caption,1,3);
   if DirectoryExists(TxtSalvar.Text) then
    begin

      dtmIza.dbaIza.Connected  := False;
      DtmEmp.DbaEmp.Connected  := False;

      Banco   := 'C:\IzaCfc\Bancos';

      Copia(Banco,'C:\IzaCfc\Backup');

      Banco := 'C:\IzaCfc\Backup';

      Data := Date;
      Nome := 'BK'+Empresa+'-'+ FormatDateTime('dd-mm-yy', Data);
      Caminho := ChangeFileExt(TxtSalvar.Text+'\'+Nome,'.rar');


      if FileExists('C:\IzaCfc\Backup\' + Nome + '.rar') then
        begin
          DeleteFile('C:\IzaCfc\Backup\' + Nome + '.rar');
        end;


      if not DirectoryExists('C:\Program Files (x86)\WinRAR\') then
        begin
          if not DirectoryExists('C:\Program Files\WinRAR\') then
            begin
               ShowMessage('WinRAR não localizado !');
               exit;
            end
            else
            begin
              LinhadeComando :='C:\Program Files\WinRAR\WINRAR.EXE a "'+Caminho+'" "'+Banco+'"';
            end;
        end
        else
        begin
          LinhadeComando :='C:\Program Files (x86)\WinRAR\WINRAR.EXE a "'+Caminho+'" "'+Banco+'"';
        end;

        try
          WinExec(Pchar(LinhadeComando),sw_hide);
          ShowMessage('Backup Gerado com Sucesso!');
          dtmIza.dbaIza.Connected  := True;
          DtmEmp.DbaEmp.Connected  := true;
          close;
        except
          ShowMessage('Erro ao gerar Backup!');
        end;


    end
    else
    begin
      Showmessage('Diretório Inexistente!' );
    end;
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

não deu certo, pois quando passo o parametro do winrar

C:\Program Files\WinRAR\WINRAR.EXE a "C:\BK001-06-09-13.rar'" "'C:\IzaCfc\Bancos'"

ele dá erro informando que o windows não pode encontrar esse caminho informado acima...

coloquei assim para executar a função:

WinExec(Pchar(ExecutarEEsperar(LinhadeComando)),sw_hide);

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...