Ver Mensaje Individual
  #27  
Antiguo 08-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por elmago00 Ver Mensaje
amigos alguna idea de como hacer todo esto? el tiempo se me agota jeje
Hola elmago00.

Sigo sin entender desde donde queres restaurar el archivo original, pero ya te sugerí una idea. Te ejemplifico el uso:
Código Delphi [-]
...
procedure BeforeDoingCrap(const aFileName: TFileName);
begin
  CopyFile(PChar(aFileName),
           PChar(ExtractFilePath(aFileName)+ChangeFileExt(ExtractFileName(aFileName),'')+'.BAK'),
           True);
end;

procedure FixCrap(const aFileName: TFileName);
begin
  if MessageBox(0,'¿ Desea restaurar el archivo original ?','',MB_ICONQUESTION+MB_YESNO)=IDYES then
  begin
    Windows.DeleteFile(PChar(aFileName));
    if not MoveFile(PChar(ExtractFilePath(aFileName)+ChangeFileExt(ExtractFileName(aFileName),'')+'.BAK'),
       PChar(aFileName)) then
    MessageBox(0,PChar('Error: ' + SysErrorMessage(GetLastError)), '', MB_ICONERROR);
  end;
end;

procedure TForm1.btnLoadFileClick(Sender: TObject);
begin 
  BeforeDoingCrap('C:\Carpeta\notepad.exe'); 
  // En este punto tenes realizado el resguardo y podes hacer 
  // con el archivo original todas las aberraciones se se te ocurran 
  procedure DumpFile('C:\Carpeta\notepad.exe',16); 
end;


// Boton anti-pánico
procedure TForm1.btnFixClick(Sender: TObject);
begin
  FixCrap('C:\Carpeta\notepad.exe'); // Restaurar original desde copia
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita