Fórum AJUDA PARA MELHORAR CÓDIGO (DELPHI). #588598

08/11/2017

0

Boa tarde pessoal. Quero melhor esse código!. Por gentileza alguém pode me ajudar ???

Resumo: esse código é para copiar o banco de dados que é em access e salvar em qualquer outro lugar!.


procedure TFrm_principal.btn_copiaClick(Sender: TObject);

var

Origem, Destino: string;

begin

if MESSAGEBOX(Application.Handle, 'Deseja Fazer o Backup do Banco de Dados?', 'Por favor, confirme:', MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON2) = ID_YES then

Origem := 'C:\\PROTOCOLOEH\\BDprotocolo.mdb';

Destino := 'D:\\COPIAS\\BackupBDprotocolo.mdb'; // Aqui eu quero criar a possibilidade salvar em qualquer lugar (pen drive etc).

ShowMessage('Backup efetuado com sucesso.');

if not CopyFile(PChar(Origem), PChar(Destino), false) then

ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);

end;

end.
Mailson Janoca

Mailson Janoca

Responder

Post mais votado

08/11/2017

Você pode utilizar um SaveDialog para o usuário escolher o local e o nome do arquivo de destino.

Teste este código, nele você cria, usa e depois destroi o SaveDialog no final:

procedure TFrm_principal.btn_copiaClick(Sender: TObject);
var
  Origem, Destino: string;
  SaveDialogo: TSaveDialog;
begin
  SaveDialogo := TSaveDialog.Create(Application);
  try
    if MESSAGEBOX(Application.Handle, 'Deseja Fazer o Backup do Banco de Dados?',
      'Por favor, confirme:', MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON2) = ID_YES then
    begin
      SaveDialogo.Filter := 'Microsoft Access|*.mdb';
      SaveDialogo.DefaultExt := '.mdb';

      if SaveDialogo.Execute then
      begin
        Origem := 'C:\\\\PROTOCOLOEH\\\\BDprotocolo.mdb';
        Destino := SaveDialogo.FileName;

        if CopyFile(PChar(Origem), PChar(Destino), false) then
          ShowMessage('Backup efetuado com sucesso.')
        else
          ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
      end;
    end;
  finally
    FreeAndNil(SaveDialogo);
  end;
end;

Natanael Ferreira

Natanael Ferreira
Responder

Gostei + 2

Mais Posts

08/11/2017

Mailson Janoca

Irmão Natanael Ferreira, seu código está perfeito, problemas resolvidos!!!. Muito obrigado! Deus te abençoe grandemente.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar