Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo krlox31416, para poder ver el hilo que has abierto, puedes buscarlo de varías formas, al ingresar por la pagina principal del club tienes varias opciones, Editar Perfil, Editar Opciones,Ver mensajes privados, ingresas a cualquiera de ellos, al lado izquierdo buscas Ver suscripciones para que te salga un listado de todos los hilos en los que estas participando, también lo puedes buscar en el subforo que lo has abierto el hilo, incluso con el buscador.

Sobre tu pregunta, lo que te pase es para seleccionar el directorio donde copiaras tu archivo, nose si te estoy entendiendo bien, tu quieres copiar los archivos que tengas en la carpeta C:\sistema_caja\base de datos\ que pueden ser uno o varios, si es así entonces tendras que recorrer la carpeta y copiar los que tengan extención db.

Código Delphi [-]
var
 Origen, Destino, aPath : String;
 sr: TSearchRec;
begin
 aPath := 'C:\sistema_caja\base de datos\';
  if FindFirst(aPath + '*.db', faAnyFile, sr) = 0 Then
     repeat
       Origen := aPath+sr.Name;
       Destino := my_carpeta+'\'+sr.Name;
       CopyFile(PChar(Origen), PChar(Destino), False);
     until FindNext(sr) <> 0;
   FindClose(sr);
end;

donde en my_carpeta esta el directorio seleccionado por el usuario, mas o menos así sería, sobre el TrailingBackslash es para que te añada el slash o barra '\' al final de tu path.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #2  
Antiguo 17-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
Poder: 16
krlox31416 Va por buen camino
Talking deja checo el codigo

gracias caro deja voy a checar este codigo...
pero era lo de menos copiar una o más tablas...
lo que quiero es el guardar en el destino...
espera mi siguiente respuesta haber que tal ma va...

gracias ....

disculpa mi ignorancia sobre el uso del shell treeview...

te escribo pronto...

saludos!!!!....
Responder Con Cita
  #3  
Antiguo 20-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
Poder: 16
krlox31416 Va por buen camino
Solucionado my problema!!!

Cita:
Solucionado my problema!!!
Gracias !!! Gracias!!!… 1000 Gracias!!!... CAAAAAARRRRROOOOOOOOO!!!
Ajuste el código con tus ideas…
Solo le concatene esto que anteriormente me regalaste al nuevo código que me pasaste… Claro que además debes pegar el componente shell treeview a la forma.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ShellTreeView1.SelectedFolder.PathName);
end;

Cita:
Basto concatenar esto:
Código Delphi [-]
ShellTreeView1.SelectedFolder.PathName //que es de tipo string

Cita:
A tu otro código
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
Origen, Destino, aPath ,my_mensaje: String;
sr: TSearchRec;
begin
my_mensaje:='En la siguiente ubicación ';
aPath := 'C:\sistema_caja\base de datos\';
if FindFirst(aPath + '*.db', faAnyFile, sr) = 0 Then
repeat
Origen := aPath+sr.Name;
Destino := ShellTreeView1.SelectedFolder.PathName + '\' + sr.Name; //aqui en esta linea le concateno lo anterior
CopyFile(PChar(Origen), PChar(Destino), False);
until FindNext(sr) <> 0;
SysUtils.FindClose(sr);
Application.MessageBox('Las bases de datos se han respaldado!!!','Hasta que me quedo Caro!!!',MB_ICONINFORMATION);
MessageDlg( my_mensaje + ShellTreeView1.SelectedFolder.PathName,mtInformation,[mbOK],0);
end;
end.

Cita:
Esto si funciona amigos!!!
Insisto Caro en que haces magia!!! Como le haces??? Hee???

Ya que ando emocionado y aprovechando este mismo tema!!!

Que me faltaría para guardar las tablas en una carpeta llamada respaldo o cualquier nombre???

Estoy a tus ordenes!!! Caro!!!
Saludos Caro!!! desde San Juan del Río, Querétaro, México.

Última edición por krlox31416 fecha: 20-09-2008 a las 00:20:18. Razón: ya en vsita previa aparece sinatxis del tipo de letra
Responder Con Cita
  #4  
Antiguo 22-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo krlox31416, que bueno que te haya servido lo anterior que te puse, ahora sobre tu pregunta, supongo que en base al path que ha escogido en tu ShellTreeView tu quieres crear un directorio si que no existiera, paar ello puedes utilizar la función CreateDir para crear y DirectoryExists para verificar si existe.

Código Delphi [-]

 PathDestino := ShellTreeView1.SelectedFolder.PathName+'\Respaldo';
 if not DirectoryExists(PathDestino) then
  CreateDir(PathDestino); //Creamos el directorio ...................
Origen := aPath+sr.Name;
Destino :=  PathDestino+'\'+ sr.Name; //aqui en esta linea le concateno lo anterior
CopyFile(PChar(Origen), PChar(Destino), False);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 27-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
Poder: 16
krlox31416 Va por buen camino
es exactamente lo que queria

ya anteriormete había guardado ese código de este mismo foro pero no me acordaba que ya lo había buscado y pegado en un documento en word...

pero de que jala, jala de maravilla...

y pues te felicito que sigas así apollando a los que neceitamos una ayudadita...

y disculpa si tardo en contestar pero como no tengo internet...

pues solo cuando tengo para venir y conectarme en un cibercafe...

me gustaria contribuir en este foro por lo que voy a ver como puedo subir mis pequeños programas ejecutables y con todo y codigo...

te agregue a mi lista de contactos!!!... eres la número 3 jjijiji...
pero como podras ver apenas estoy aprendiento a utilizar este foro...
saludos... y espero proto poder ayudarte...
Responder Con Cita
  #6  
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
Poder: 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
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como guardar la fecha a una tabla irixita SQL 2 19-08-2008 18:59:49
componente como un treeview johurgi Varios 5 07-07-2008 08:32:12
Monitorear la shell desde delphi fide API de Windows 4 29-10-2007 04:11:59
como guardar pdf desde Crystal 8.0 con delphi alexander66 Impresión 1 15-12-2006 18:17:18
Ejecutar shell explorer.exe desde otra aplicación Pablo Carlos API de Windows 13 15-07-2004 16:37:30


La franja horaria es GMT +2. Ahora son las 04:37:28.


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