AJUDA PARA MELHORAR CÓDIGO (DELPHI).
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.
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
Curtidas 0
Melhor post
Natanael Ferreira
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:
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;GOSTEI 2
Mais Respostas
Mailson Janoca
08/11/2017
Irmão Natanael Ferreira, seu código está perfeito, problemas resolvidos!!!. Muito obrigado! Deus te abençoe grandemente.
GOSTEI 0