Fórum Sistema de Backup Frreware/rotina gratis #152236

05/04/2003

0

procedure TfrmBackup.BtExecutarClick(Sender: TObject);
var
Indice: Integer;
IndCampo: Integer;
Campos: String;
begin
// Le todos os itens da Filelistbox para copiar
// o databasename e constante
if Directorylistbox1.Directory = Directorylistbox2.Directory then // verifica se os diretorios sao diferentes
begin
Application.MessageBox(´Diretórios de ´´Destino´´ e ´´Origem´´ devem ser diferentes!!´, ´Erro´,
MB_ICONERROR + MB_OK);
Exit; // sai da procedure
end;

//verificando a existencia de de arquivos para atualizar
if FileExists(´d:\pasta aqui\*.db´) then
if Application.MessageBox(´Arquivos já existentes nesta pasta, deseja atualizar?´,
´Aviso´, MB_YESNO + MB_ICONINFORMATION + MB_DEFBUTTON1) = idYes then
else
Exit;
Screen.Cursor := crHourGlass;
TbOrigem.DataBaseName := Directorylistbox1.Directory ; // serao sempre constantes
TbDestino.DataBaseName := Directorylistbox2.Directory ;

//ajusta o painel de copia animada
Gauge1.Visible := True;
Gauge1.Progress := FileListBox.items.count - 1;
Panel.visible := true;
Animate1.Active := true;
for Indice := 0 to FileListBox.items.count - 1 do
begin
Gauge1.Progress := Indice;
TbOrigem.TableName := FileListBox.items[indice];
TbDestino.TableName:= FileListBox.items[indice];
PanelCopiando.Caption := Label1.Caption + ´\´ +
FileListBox.items[indice];
PanelDestino.Caption := Label2.Caption + ´\´ +
FileListBox.items[indice];

// essa linha forca o nome do arq. copiado a aparecer
Application.ProcessMessages;
// peca o help do tapplication e tscreen

if Copy(FileListBox.items[indice],1,1) <> ´_´then
begin
BatchMove.Execute; // executa copia

//enchergar os indices para poder copia-los p/destino
Session.AddPassword(´123´);
TbOrigem.open;
Campos := ´´;
for IndCampo := 0 to Tborigem.FieldCount - 1 do
begin
if TbOrigem.fields[indCampo].IsIndexField then
begin
if TbOrigem.Fields[indcampo].index = 0 then
Campos := Campos + TbOrigem.Fields[indcampo].FieldName
else
Campos := Campos + ´;´ + TbOrigem.fields[IndCampo].FieldName;
end;
end;
TbOrigem.Close;
TbDestino.Close;
if Campos <> ´´ then
TbDestino.AddIndex(´´, Campos, [ixPrimary]);
Campos := ´´;
end;
end;

Panel.Visible := False; // desliga a exibicao do painel animado de copia
Animate1.Active := False;
Screen.Cursor := crDefault;
Application.MessageBox(´Backup realizado com sucesso!´, ´Aviso´, MB_ICONINFORMATION + MB_OK);


Anonymous

Anonymous

Responder

Posts

05/04/2003

José Silva

A sua ideia foi otima Marcelo2 mais faltou explicar quais os componentes que deverá ser colocado no form para que os que não sabem muito de programação tenha uma noção de como são colocados os componentes no form, isto é, expliar melhor quais os componentes devera ser colocado e explicar como fazer as funçoes.


Responder

Gostei + 0

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

Aceitar