GARANTIR DESCONTO

Fórum Backup do banco de dados com barra de progresso #352694

29/01/2008

0

[b:cf424a35c2]Olá amigos do forum[/b:cf424a35c2]
[color=blue:cf424a35c2]Estou com uma certa dúvida:[/color:cf424a35c2]
tenho o seguinte código de backup, do meu banco de dados:
[color=darkblue:cf424a35c2][b:cf424a35c2]
procedure TFrmBackup.btnBackupClick(Sender: TObject);
var
DiretorioBackup : String;
begin

btnBackup.Enabled := False;
DiretorioBackup := ExtractFilePath(Application.ExeName) + ´Backup\´;

if MessageBox(Handle,´Iniciar Backup do Sistema Agora ?´,´Confirmação´,MB_ICONQUESTION +
MB_YESNO + MB_DEFBUTTON1) = ID_YES then
begin

Cursor := crHourGlass;
Backup.Active := False;
Backup.Protocol := TCP;
Backup.ServerName := ´Localhost´;
Backup.LoginPrompt := False;
Backup.Params.Clear;
Backup.Params.add(´user_name=SYSDBA´);
Backup.Params.add(´password=masterkey´);
Backup.Active := True;
try
Backup.Verbose := True;
Backup.DatabaseName := lblBaseDados.Caption;
Backup.BackupFile.Clear;
if not DirectoryExists(DiretorioBackup) then
CreateDir(DiretorioBackup);

Backup.BackupFile.Add(DiretorioBackup + FormatDateTime(´ddmmyy-hhnn´,now)+ ´.fbk´);
Backup.ServiceStart;
Memo1.Lines.Clear;

While not Backup.Eof do
begin
Memo1.Lines.Add(Backup.GetNextLine);

end;
finally
Backup.Active := False;

end;
Cursor := crDefault;
btnBackup.Enabled := True;
Memo1.Lines.Add(´.............. Processo Concluído ...................´);
MessageBox(Application.Handle,´Processo finalizado com sucesso!´,´Informação´,
MB_ICONINFORMATION);
end;[/color:cf424a35c2][/b:cf424a35c2]

Minha dúvida é a seguinte: Como faço para incluir neste código uma barra (ProgressBar ou Gauge) para me informar o progresso de backup?
Desde já agradeço! Obrigado![/b]


Itamar-apuk

Itamar-apuk

Responder

Posts

01/02/2008

Onjahyr

________________________________________________________


Gauge.maxValue := Backup.RecordCount - 1
Backup.First;

[b:3db3a96298]While not[/b:3db3a96298] Backup.Eof [b:3db3a96298]do
begin[/b:3db3a96298]
__Memo1.Lines.Add(Backup.GetNextLine);
__Gauge.Progress := Backup.RecNo;
__Application.ProcessMessages;
__Backup.Next;
[b:3db3a96298]End[/b:3db3a96298];

// Não testei, mas creio que vai dar certo, testa aí.....


_______________________________________________________


Responder

Gostei + 0

01/02/2008

Itamar-apuk

oh! valeu brother!
vou testar aqui...

valeu mesmo...


Responder

Gostei + 0

01/02/2008

Itamar-apuk

[b:7599931c4c]Amigo só tem um problema que estava notando aqui![/b:7599931c4c]
Backup - é o nome do meu componente TIBBackupService e ele não tem a propriedade RecordCount, neste caso o recordCount seria a de um ClientDataSet.

O RecordCount não conta os registros de uma tabela em questão ?
neste caso eu estou tirando o backup do banco inteiro, criando uma extensão .FBK
fique meio em dúvida.


Responder

Gostei + 0

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

Aceitar