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 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
  #2  
Antiguo 22-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
Gracias Ecfisa, espero que disfrutases de tu aniversario, tal como disfruté yo del mio hace un més.

En cuanto al tema de la asignación, claro que si, ya comenté que tenía el coco en otro sitio y muchas veces las soluciones más simples se vuelven un problema inmenso y sin ver la salida del túnel.

Pero....

Otra vez con el pero, como dije utilizé un IBDataSet que tengo en el form para cargar los datos del ClientDataDet en vez de una consulta nueva.

Hay alguna posibilidad de que el cursor se mueva en los registros de la tabla cuando hago click en la miniatura?

Lo que pasa es que si muevo el cursor en el grid asociado a la tabla con el cursor y luego hago click en la miniatura, el cursor no se mueve y me marca un registro que no es el que estoy visualizando.

Saludos

Josep
Responder Con Cita
  #3  
Antiguo 22-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
Otra duda, en este procedimiento, cambio la anchura y altura de la imagen dependiendo de la posición en el formulario, esto funciona bien es lo que comentaba en el post anterior. Con el añadido de las miniaturas igual esto se puede quitar y basarnos solo en el click en la miniatura para verla, no se si es mejor.

Código Delphi [-]
 
procedure TF_Camions.Fotos_CAfterScroll(DataSet: TDataSet);
var
        jpg:TJpegImage;
        foto:TMemoryStream;
begin
        If FileExists('C:\Bombers_1.0\Temp\Temporal.jpg') then
        DeleteFile ('C:\Bombers_1.0\Temp\Temporal.jpg');
        If Fotos_CFOTO.Value<>'' then
        begin
                Jpg:=TJpegImage.create;
                Foto:=TMemoryStream.create;
                try
                        Fotos_CFOTO.SaveToStream(Foto);
                        Foto.Seek(0,soFromBeginning);
                        Jpg.LoadFromStream(Foto);
                        Jpg.SaveToFile('C:\Bombers_1.0\Temp\Temporal.jpg');
                        if jpg.Width > jpg.Height then
                        begin
                                Image2.Width := 500;
                                Image2.Height := 376;
                                Image2.Picture.Assign(Jpg);
                                Image1.Width := 500;
                                Image1.Height := 376;
                                Image1.Stretch:=False;
                                Image1.Picture.Assign(Jpg);
                        end
                        else
                        begin
                                Image2.Width := 376;
                                Image2.Height:=500;
                                Image2.Picture.Assign(Jpg);
                                Image1.Width := 282;
                                Image1.Height := 376;
                                Image1.Stretch:=True;
                                Image1.Picture.Assign(Jpg);
                        end;
                finally
                        Foto.Free;
                        Jpg.Free;
                end;
        end
        else
        begin
                Image2.Picture.Assign(nil);
                Image1.Picture.Assign(nil);
        end;
end;

Cuando asigno el valor de la tabla FOTO al DBImage de la miniatura, puedo ajustar la medida de la misma dependiendo de si la foto es horizontal o vertical?

He intentado con:

Código Delphi [-]
begin
                TumbN.Close;
                TumbN.CreateDataSet;
                TumbN.Open;
                B:= TBitmap.Create;
                try
                        while not Fotos_C.Eof do
                        begin
                              TumbN.Append;
                              TumbNID.Value:= Fotos_C.FieldByName('ID').Value;
                              JpgToBitmap(Fotos_C.FieldByName('FOTO'), B);
                              TumbNFOTO.Assign(B);
                              TumbN.Post;
                              Fotos_C.Next;
                        end;
                finally
                        B.Free
                end;
                TumbN.Last;
                TumbN.First;
                If TumbN.RecordCount = 0 then
                begin
                        DBCtrlGrid1.Visible:=False;
                end
                else
                begin
                        DBCtrlGrid1.Visible:=True;
                        If (TumbN.RecordCount >= 1) and (TumbN.RecordCount <= 10) then
                        begin
                                DBCtrlGrid1.ColCount:=TumbN.RecordCount;
                        end
                        else
                        begin
                                DBCtrlGrid1.ColCount:=10;
                        end;
                end;
                DBCtrlGrid1.DataSource:= DSTumbN;
                DBImage1.DataField:= 'FOTO';
                If DBImage1.Width > DBImage1.Heigth then
                begin
                        DBImage1.Width:=100;
                        DBImage1.Heigth:=75;
                end
                else
                begin
                        DBImage1.Width:=75;
                        DBImage1.Heigth:=10;
                end;
                DBImage1.Stretch:= True;
        end;

La parte en rojo no funciona, no se si el código está mal colocado o no es la función correcta.

Saludos

Josep
Responder Con Cita
  #4  
Antiguo 22-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
Y otra consulta, espero sea la última de este post.

Cuando añado nuevas fotos al DataSet, no se refrescan en el Client DataSet, he probado a ejecutar el código en rojo y no funciona, solo cuando cambio de registro, creo porqué la carga del ClientDataSet se realiza en el OnChange del DBEdit1

procedure TF_Camions.Fotos_CAfterPost(DataSet: TDataSet);
var Pos: TBookmark;
begin
Pos := Fotos_C.GetBookmark;
F_ModulFotos.IBTFotosBombers.CommitRetaining;
Fotos_C.Close;
Fotos_C.Open;
TumbN.Close;
TumbN.Open;
Fotos_C.GotoBookmark(Pos);
Fotos_C.FreeBookmark(Pos);
end;

Saludos

Josep
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 05:54:12.


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