Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Gestionar archivos adjuntos

Buenas tardes,

en un form de clientes voy a necesitar "adjuntar" o vincular archivos a los registros.

Buscando en el foro veo que hay dos formas de hacerlo, o bien se adjuntan al registro y ese archivo como quien dice se "mete" en la base de datos o bien se podría indicar una ruta que apunte al fichero pero físicamente estaría en el disco duro del ordenador.

Este último método me gusta más, supongo que cada uno tendrá sus gustos.

Lo que no se es por donde empezar para hacer algo de esto.

La finalidad es que la Ficha del Cliente tenga una pestaña que por ejemplo se llame Documentos Adjuntos y que desde ahí pueda ver como un explorador de archivos desde donde pueda añadir o borrar ficheros o carpetas. Supongo que quizás exista un componente que ayude a ello.

¿Podríais orientarme?

Muchas Gracias
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 20-11-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Hola Delphitest.

Para añadir los nombres de archivos podes usar un TOpenDialog, por ejemplo mostrar en un TListBox los archivos seleccionados:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  OpenDialog1.Options:= OpenDialog1.Options + [ofAllowMultiSelect];
end;

procedure TForm1.btnAdjuntarClick(Sender: TObject);
begin
  with OpenDialog1 do
    if Execute then
      ListBox1.Items.Assign(Files);
end;
...
Logicamente el mostrado, borrado o modificación de las rutas, lo harías sobre la lista previamente cargada de la columna de una tabla y podrías mostrar estos con cualquier componente que maneje TStrings.

Te convendría almacenan las rutas a los archivos en una tabla separada de la de clientes y relacionarla a la columna ID del cliente. Esto flexibiliza la cantidad de rutas por usuario y optimiza el espacio utilizado ya que cada cliente tendrá las rutas a los archivos que haya elegido, sea ninguna o miles.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 21-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ecfisa Ver Mensaje
Te convendría almacenan las rutas a los archivos en una tabla separada de la de clientes y relacionarla a la columna ID del cliente. Esto flexibiliza la cantidad de rutas por usuario y optimiza el espacio utilizado ya que cada cliente tendrá las rutas a los archivos que haya elegido, sea ninguna o miles.
Más que conveniente yo diría que es obligatorio, para poder definir correctamente una relación 1..N.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 21-12-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Buenos días,

he retomado este asunto y le estoy dando vueltas para no complicarlo mucho.

En lugar de registrar en la tabla todas las rutas de los archivos prefiero registrar solamente la ruta de la carpeta que los contenga.

Se me está ocurriendo lo siguiente pero no se como hacerlo.

Poner un Edit donde haya que reflejar el path completo de la carpeta donde se encuentren los documentos de ese cliente.

En lugar de tener que escribir esa ruta quiero poner un botón que la "Capture". Es decir que al pulsar el botón se abra una ventana con un explorador donde pueda ir desplazándome por el disco duro hasta llegar a la carpeta deseada. Una vez en ella, seleccionarla, cerrar la ventana y poner en el Edit la ruta que nos lleva a ella con ánimo de ver por debajo en un webbrowser su contenido.

No se si sería la forma correcta de hacer pero es una idea que me podría resultar práctica al menos que existan otras formas.

Lo que no sé en como hacer que se capture la ruta después de elegir la carpeta.

¿Alguna sugerencia para hacerlo?

Muchas Gracias y Felices Fiestas para todos
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #5  
Antiguo 21-12-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Hola.

A la hora de gestionar documentos vinculados a una tabla yo siempre hago lo siguiente. :
  • Una tabla con la relación entre ambas, es decir, si es con clientes, la tabla documentos y la tabla clientes se relacionarían a través de otra que contendría las claves únicas de ambas.
  • Copio los documentos en cuestión a carpetas controladas por el programa, de forma que no haya problemas si cambian, mueven o borran el documento. Es necesario que a partir de ese momento sólamente se trabaje con el documento importado al programa.
  • Organizo las carpetas de la gestión documental generalmente por años.
Espero que te ayude.


Felices Fiestas a todos también.
__________________
http://www.gestionportable.com
Responder Con Cita
  #6  
Antiguo 22-12-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Delphitest Ver Mensaje
Lo que no sé en como hacer que se capture la ruta después de elegir la carpeta.
El maestro ecfisa te puso en su día un ejemplo de cómo asignar a una lista los archivos seleccionados desde el OpenDialog, ¿lo has probado?.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 22-12-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Muchas gracias a todos por vuestra ayuda,

quería simplificarlo al máximo y al final lo he hecho de la siguiente manera:

En la tabla clientes he añadido un campo que he llamado RutaDocumentos y el en Form he puesto un DBEdit que representa ese campo y un botón que ejecuta el componente JvSelectDirectory, en el evento OnAcceptChange se recoge la ruta seleccionada y se copia al DBEdit.

Para ver el contenido de esa carpeta pongo un WebExplorer.

Lo he probado y funciona bien aunque como en todo habrá otras formas de hacerlo. Lo único que no me hace mucha gracia es que la ruta está en un servidor y apunta a un path un poco largo así que se nota que ralentiza el acceso.

Ahora ando luchando con la presentación de los archivos en el WebExplorer a ver si puedo hacer que por defecto aparezcan en una lista en lugar de iconos.

Un saludo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ejecutar Archivos Adjuntos marcial Internet 0 29-11-2011 12:03:10
Archivos adjuntos en mail Cecilio Internet 7 06-11-2007 17:11:48
Problema al abrir archivos adjuntos vick Internet 1 24-03-2007 08:20:41
pop3 y archivos adjuntos !! seba_cipo Internet 2 19-12-2005 15:09:28


La franja horaria es GMT +2. Ahora son las 14:51: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