Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Si es eso sin dudas. Pero igual no va a ser problema para que realices la prueba.

Desde el IBExpert, create una tabla:
Código SQL [-]
CREATE TABLE TBIMAGE (
    ID      INTEGER,
    IMAGEN  BLOB SUB_TYPE 1 SEGMENT SIZE 100
);
Luego desde Delphi, cargala con imágenes de tu disco:
Código Delphi [-]
procedure TForm1.GuardarImagenes(Ruta: string);
var
  SR: TSearchRec;
  cc: integer;
begin
  Ruta:= IncludeTrailingPathDelimiter(Ruta);
  if FindFirst(Ruta+'*.JPG', faAnyFile, SR) = 0 then
  begin
    cc:= 1;
    repeat
      IBDataSet1.Append;
      IBDataSet1.FieldByName('ID').AsInteger:= cc;
      TBlobField(IBDataSet1.FieldByName('IMAGEN')).LoadFromFile(Ruta+SR.Name);
      IBDataSet1.Post;
      Inc(cc);
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   IBDataSet1.Open;
   GuardarImagenes('C:\RUTA_A_TUS_IMAGENES');
   IBDataSet1.Close;
end;
Ajustá en el demo los nuevos valores del TIBDatabase y tendrías que poder ejecutarlo sin problemas.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 20-03-2012 a las 04:46:15.
Responder Con Cita
  #2  
Antiguo 19-03-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Poder: 20
jafera Va por buen camino
Hola Ecfisa, eres como mi angel de la guarda.

Hoy ya no se si echarme a llorar o que.

He puesto un TIBDataSet con su correspondiente DataSource para cargar las imagenes de prueba.

Cuando intento ejecutar el código del button1, me da un error de sql

tokken unknow -line 2 char 1 from

En la tabla he puesto select * from tbimage.

Por hoy abandono porque veo que mi Santo Patrón no me ayuda en nada.

Saludos

Josep
Responder Con Cita
  #3  
Antiguo 20-03-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
jafera, tu tabla se llama tbimagen, o es un campo, si es un campo, cambialo por el nombre de la tabla, y has editados los campo (sobre el ibdataset, raton boton derecho, seleccionas la primera columna el campo indice, seleccionas todos de la segunda columna , marcas el checkbox, pulsas el segundo botón empezando por abajo y aceptas el resultado ya puedes conectar.)
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 20-03-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Poder: 20
jafera Va por buen camino
Bueno, parece que ya he conseguido que se carguen las imagenes.

En vez de colocar el código en el OnCreate, lo he colocado en el OnChange del DBEdit1 para que cada vez que cambio de registro reemplace los valores de las miniaturas.

Pero......

Siempre hay un pero, solo consigo ver una foto en el TDBControilGrid, y moviendome por la barra de desplazamiento va cambiando a la segunda, la tercera, etc, pero seimpre en el primer "frame", no consigo ver toda la ristra de miniaturas.

No se si me dejo algun parámetro por ajustar.

Gracias

Josep
Responder Con Cita
  #5  
Antiguo 20-03-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Poder: 20
jafera Va por buen camino
Me respondo a mi mismo.

No se que pasaba pero el componente DBImage no habia quedado bien, se movia independientemente del TDBControlGrid.

Lo he borrado, lo he vuelto a insertar y ya se ven las imagenes en miniatura.

Ahora lo que me pasa es que cuando cierro el form y lo vuelvo a abrir sin cerrar la aplicación, me da un error de Database not asigned.

Siguiendo con las imagenes, he modificado la fuente de datos para el TDBControlGrid ya que tenia un IBDataSet en el mismo form con los datos que necesito.

Ahora lo que quiero conseguir es que al dar click en la imagen me la abra en grande.

Saludos

Josep
Responder Con Cita
  #6  
Antiguo 21-03-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Poder: 20
jafera Va por buen camino
Bueno, pues el componente funciona de verdad.

Ya he conseguido ajustarlo para que me muestre bien las imagenes, antes si me desplazaba a fondo con la barra de desplazamiento horizontal (scroll), me intentaba añadir un registro nuevo, creando una imagen en blanco. Esto lo he solucionado poniendo la propiedad AllowInsert y AllowDelete en false.

Lo unico que de momento no consigo es que al hacer click sobre la miniatura me abra una ampliación de la misma.

En el form existe un TImage al que le asigno el valor del Blob de la tabla mediante un LoadFromStream en el evento AfterScroll del TIBDataSet.

No se si algo de esto me puede servir para pasar este valor desde el click en el DBImage.

En el mismo form tengo un DBgrid con los nombres de las fotos y al hacer click en este DBGrid, me cambia el valor de la foto, o sea la imagen.

Gracias a todos

Saludos

Josep
Responder Con Cita
  #7  
Antiguo 21-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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:
Lo unico que de momento no consigo es que al hacer click sobre la miniatura me abra una ampliación de la misma.

En el form existe un TImage al que le asigno el valor del Blob de la tabla mediante un LoadFromStream en el evento AfterScroll del TIBDataSet.

No se si algo de esto me puede servir para pasar este valor desde el click en el DBImage.
Hola jafera.

Si lo que buscas es pasar la miniatura del DBImage al Image para verla ampliada allí, es muy sencillo:
Código Delphi [-]
procedure TForm1.DBImage1Click(Sender: TObject);
begin
  Image1.Picture.Assign(DBImage1.Picture);
end;
Para limpiar el TImage:
Código Delphi [-]
   Image1.Picture:= nil;

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 21-03-2012 a las 19:56:59.
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
Recorrer directorio Pedro-Juan Conexión con bases de datos 4 09-02-2011 18:50:43
Mostrar ficheros de un directorio y subdirectoros chinchan C++ Builder 3 11-01-2009 22:26:49
Mostrar directorio con ShellExecute MON___ API de Windows 5 26-03-2008 13:07:00
Borrar archivos de un directorio nelem Internet 6 29-10-2007 16:04:00
Mostrar un directorio con el explorador de archivos de windows Jan_polero API de Windows 2 11-01-2005 18:40:21


La franja horaria es GMT +2. Ahora son las 08:54:22.


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