Ver Mensaje Individual
  #10  
Antiguo 29-09-2008
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Reputación: 16
krlox31416 Va por buen camino
así quedo!!!

Código Delphi [-]
unit Unit1;
interface
{El siguiente programa fue creado con la ayuda de Caro
 así que aclaro que todo el crédito se lo doy a ella
 yo lo único que hice fue investigar para que serbia cada variable,
 métodos y jugar con el código, etc, etc..
 Este programa lo que hace es respaldar ciertas bases de datos
 contenidas en mi directorio C:\sistema_caja\base de datos\
 y copiarlas a una ubicación destino por medio del componente
 shelltreeview de la pestaña Samples, primero selecionamos la ruta
 al darle click sobre este mismo componente y después guardamos
 pulsano cualquiera de los botones
 Las tablas seran guardas en la dirección seleccionada por el shell
 dento de su carpeta creada según el nombre asignado.
}

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ShellCtrls, ExtCtrls, SkinCaption,
  WinSkinData, Buttons;
type
  TForm1 = class(TForm)
    ShellTreeView1: TShellTreeView;
    Bevel1: TBevel;
    SkinData1: TSkinData;
    SkinCaption1: TSkinCaption;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
// Crea una carpeta llamada Respaldo y guarda en ella las tablas con extención .db
// con la ayuda de un ciclo repeat

// el mismo =ado con un while mi propuesta
// = y pueden elegir su propio nombre para la carpeta
// sin que sea definido dentro de la sintaxis del código
// eso lo dejo para quien quiera seguir jugando con este código
// basta declarar una variable más y concatenarla
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption:='Abrir carpeta';
end;
// Crea una carpeta llamada Respaldo y guarda en ella las tablas con extención .db
// con la ayuda de un ciclo repeat
procedure TForm1.BitBtn1Click(Sender: TObject);
var PathDestino, Origen, aPath, Destino, my_mensaje : string;
sr: TSearchRec;// para definir el tipo de busqueda
begin
my_mensaje:='Y se han guardado en la siguiente ubicación.'+#13;
PathDestino := ShellTreeView1.SelectedFolder.PathName+'\[ Respaldo Caro me ayudo ]'; //creamos el nombre de mi carpeta y concatenamos al directorio
if not DirectoryExists(PathDestino) then // verifica que no exista una carpeta con el nombre Respaldo al directorio destino
   begin
   aPath := 'C:\sistema_caja\base de datos\';//asignamos el origen de mis tablas
   if FindFirst(aPath + '*.db', faAnyFile, sr) = 0 Then  //busca el primer archivo .db o cualquiera
   repeat
   CreateDir(PathDestino); //Creamos el directorio ...................
   Origen := aPath+sr.Name;//directorio origen o path
   Destino :=  PathDestino+'\'+ sr.Name; //aqui agregamos las tablas a la carpeta
   CopyFile(PChar(Origen), PChar(Destino), False);// copiamos de mi origen al destino
   until FindNext(sr) <> 0;// hacer todo el recorrido hasta encontrar mi archivo
   SysUtils.FindClose(sr);//cerramos la busqueda del archivo
   Application.MessageBox('Las bases de datos se han respaldado ! ! ! ','Información',MB_ICONINFORMATION);
   MessageDlg( my_mensaje + ShellTreeView1.SelectedFolder.PathName + '\[ Respaldo Caro me ayudo ]',mtInformation,[mbOK],0);
   end
   else
   begin
   Application.MessageBox('Uuuuuy hijo la carpeta ya existe.','Orrorsote',MB_ICONERROR);
   Application.MessageBox('Suerte para la proxima! ! !','Suerte',MB_ICONINFORMATION);
   end;
end;

// el mismo =ado con un while mi propuesta!!!
// = y pueden elegir su propio nombre para la carpeta
// sin que sea definido dentro de la sintaxis del código
// eso lo dejo para quien quiera seguir jugando con este código
// basta declarar una variable más y concatenarla

procedure TForm1.BitBtn2Click(Sender: TObject);
var PathDestino, Origen, aPath, Destino, my_mensaje : string;
sr: TSearchRec;// para definir el tipo de busqueda
begin
my_mensaje:='Y se han guardado en la siguiente ubicación.'+#13;
PathDestino := ShellTreeView1.SelectedFolder.PathName+'\[ Respaldo Caro me ayudo ]'; //creamos el nombre de mi carpeta y concatenamos al directorio
if not DirectoryExists(PathDestino) then // verifica que no exista una carpeta con el nombre Respaldo al directorio destino
   begin
   aPath := 'C:\sistema_caja\base de datos\';//asignamos el origen de mis tablas
   if FindFirst(aPath + '*.db', faAnyFile, sr) = 0 Then  //busca el primer archivo .db o cualquiera
      begin
      while FindNext(sr) = 0 do  //hasta terminar nuestro recorrido
           begin
           CreateDir(PathDestino); //Creamos el directorio ...................
           Origen := aPath+sr.Name;//directorio origen o path
           Destino :=  PathDestino+'\'+ sr.Name; //aqui agregamos las tablas a la carpeta
           CopyFile(PChar(Origen), PChar(Destino), False);// copiamos de mi origen al destino
           end;
      Application.MessageBox('Las bases de datos se han respaldado ! ! ! ','Información',MB_ICONINFORMATION);
      MessageDlg( my_mensaje + ShellTreeView1.SelectedFolder.PathName + '\[ Respaldo Caro me ayudo ]',mtInformation,[mbOK],0);
      SysUtils.FindClose(sr);//cerramos la busqueda del archivo
      end;
   end
   else
   begin
   Application.MessageBox('Uuuuuy hijo la carpeta ya existe.','Orrorsote',MB_ICONERROR);
   Application.MessageBox('Suerte para la proxima! ! !','Suerte',MB_ICONINFORMATION);
   end;
end;
end.
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!
Responder Con Cita