Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2005
Avatar de !3d1@n
!3d1@n !3d1@n is offline
Miembro
 
Registrado: ene 2005
Ubicación: Ciudad Habana - Cuba
Posts: 46
Poder: 0
!3d1@n Va por buen camino
Angry Problemas al Salvar

Holas por aca :
Ojala me puedan ayudar. Les explico:

Estoy haciendo una aplicación en Delphi 6, con mi Base de Datos en Access a la cual me conecto con ADO. El problema consiste a la hora de realizar la salva de la Base de Datos. Esta la comparto con el ARJ y la pico en pedazos de 1256Kb (para que me quepan en disquetes) y esos archivos que obtengo los guardo en una carpeta para despues irlos copiando respectivamente para los disquetes, utilizando la función CopyFileTo().

Tengo un TAnimate, 3 Label, 1 Gauge, 1 BitBtn

Código Delphi [-]
procedure TProSalResForm.FormActivate(Sender: TObject);
var
 i, Len, GProg : integer;
begin
 Cont := CuentaArchivos('C:\Ledian\Salva');
 Len := Length(IntToStr(CuentaArchivos('C:\Ledian\Salva')));
 GProg := 100 div CuentaArchivos('C:\Ledian\Salva');
 if Len <> 0 then
              begin
               ShowMessage('Inserte disquete y luego presione ok');
               Animate1.Active := True;
               Label3.Caption := 'DISK.ARJ';
               CopyFileTo('C:\Ledian\Salva\DISK.ARJ','A:\DISK.ARJ');
               ProSalResForm.Gauge1.Progress := ProSalResForm.Gauge1.Progress + GProg;
               Cont := Cont - 1;
               Label2.Caption := 'Quedan ' + IntToStr(Cont) + ' disquete(s)';
               Animate1.Active := false;
               for i := 1 to CuentaArchivos('C:\Ledian\Salva') - 1 do
                     begin
                      if Len = 1 then
                                  begin
                                   ShowMessage('Inserte disquete y luego presione ok');
                                   Animate1.Active := True;
                                   Label3.Caption := 'DISK.A0' + IntToStr(i);
                                   CopyFileTo('C:\Ledian\Salva\DISK.A0' + IntToStr(i),'A:\DISK.A' + IntToStr(i));
                                   ProSalResForm.Gauge1.Progress := ProSalResForm.Gauge1.Progress + GProg;
                                   Cont := Cont - 1;
                                   Label2.Caption := 'Quedan ' + IntToStr(Cont) + ' disquete(s)';
                                   Animate1.Active := false;
                                  end
                                 else
                                   if i < 10 then
                                              begin
                                               ShowMessage('Inserte disquete y luego presione ok');
                                               Animate1.Active := True;
                                               Label3.Caption := 'DISK.A0' + IntToStr(i);
                                               CopyFileTo('C:\Ledian\Salva\DISK.A0' + IntToStr(i),'A:\DISK.A0' + IntToStr(i));
                                               ProSalResForm.Gauge1.Progress := ProSalResForm.Gauge1.Progress + GProg;
                                               Cont := Cont - 1;
                                               Label2.Caption := 'Quedan ' + IntToStr(Cont) + ' disquete(s)';
                                               Animate1.Active := false;
                                              end
                                             else
                                              begin
                                               ShowMessage('Inserte disquete y luego presione ok');
                                               Animate1.Active := True;
                                               Label3.Caption := 'DISK.A' + IntToStr(i);
                                               CopyFileTo('C:\Ledian\Salva\DISK.A' + IntToStr(i),'A:\DISK.A' + IntToStr(i));
                                               ProSalResForm.Gauge1.Progress := ProSalResForm.Gauge1.Progress + GProg;
                                               Cont := Cont - 1;
                                               Label2.Caption := 'Quedan ' + IntToStr(Cont) + ' disquete(s)';
                                               Animate1.Active := false;
                                              end;
                     end;
              Gauge1.Progress := 100;
              Label3.Caption := 'Concluida la Restaura';
              BitBtn1.Caption := 'Cerrar';
              end;
end;
No se que es lo que pasa que cuando empieza a copiar se me pierde partes de la ventana y me aparecen pedazos en blanco, todo esto hasta que me sale nuevamente el mensaje de 'Inserte disquete y luego presione ok' que me vuelve la ventana o incluso solo sale el mensaje y adios ventana; pero lo mas curioso de todo esto es que le cambie el camino de destino para el disco duro C:\Ledian\SalDisk\ ... y esto no ocurre.

¿Alguién sabrá que es o que hago mal ?
Por favor no se si este adgoritmo sea el mas correcto para obtener lo que quiero, asi que acepto opiniones y criterios.

nota : Es 1ra vez que hago algo como esto.

De antemano gracias.
Un servidor.
__________________
Saludos ... JLedian.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:46:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi