Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-03-2007
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.288
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
Una búsqueda en los foros también iría bien; Tal vez llegaría a un sitio como este.
__________________
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
  #2  
Antiguo 20-03-2007
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Esto funciona en FireBird. Adaptalo a tus necesidades.

Guardado en un campo Blob pero poniendo otro campo Varchar donde se guarda el formato de la foto: bmp o jpg

Se visualiza en TImage

Debes añadir en el uses del form la unit JPG.

Código Delphi [-]
//cargar foto
procedure TFDatos.Cargarfoto1Click(Sender: TObject);
var
  m, f: TStream;
  s: string;
begin
  //se abre picturedialog para cargar fichero foto que se coja
  if dlgOpenPicture.Execute then
    begin
      //modo edición
      DM.IBDSAlumnos.Edit;
      //stream a partir campo Blob que contendrá la imagen
      m:= DM.IBDSAlumnos.CreateBlobStream(DM.IBDSAlumnosFOTO, bmWrite);
      //stream para acceder al archivo gráfico
      f:= TFileStream.Create(dlgOpenPicture.filename, fmOpenRead);
      //copiar de un stream a otro
      m.CopyFrom(f, f.Size);
      //coger formato foto y ponerlo en campo correspondiente
      s:= AnsiUpperCase(ExtractFileExt(dlgOpenPicture.FileName));
      if s='.JPEG' then
        s:= '.JPG';
      DM.IBDSAlumnosFORMATOFOTO.AsString:= Copy(s,2,3);
      DM.IBDSAlumnos.Post;
      //destruir streams
      f.Free;
      m.Free;
    end
end;



//borrar foto
procedure TFDatos.Borrarfoto1Click(Sender: TObject);
begin
  //borrar imangen
  ImageFoto.Picture.Assign(nil);
  //borrar foto del campo blob
  if (DM.IBDSAlumnos.State <> dsEdit) and (DM.IBDSAlumnos.State <> dsInsert) then
    DM.IBDSAlumnos.Edit;
  DM.IBDSAlumnosFOTO.Assign(nil);
  DM.IBDSAlumnos.Post;
end;


//mostrar imagen (evento on change de datasource)
procedure TFDatos.DSAlumnosFDataChange(Sender: TObject; Field: TField);
var
  m: TStream;
begin
  if DM.IBDSAlumnosFOTO.IsNull then
    //para registros sin foto poner imagen vacia
    ImageFoto.Picture := nil
  else
    begin
      if DM.IBDSAlumnosFORMATOFOTO.AsString = 'BMP' then
          //si es formato BMP
          ImageFoto.Picture.Graphic:= TBitmap.Create
      else if DM.IBDSAlumnosFORMATOFOTO.AsString = 'JPG' then
          //si es formato JPG
          ImageFoto.Picture.Graphic:= TJpegImage.Create
      else
        Exit;
      //copiar los datos desde la tabla con un stream
      m:= DM.IBDSAlumnos.CreateBlobStream(DM.IBDSAlumnosFOTO, bmRead);
      ImageFoto.Picture.Graphic.LoadFromStream(m);
      m.Free;
    end;
end;

Última edición por fidel fecha: 20-03-2007 a las 17:10:39.
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
Ayuda guardar imagen en BD ivan84 Gráficos 1 01-12-2006 02:45:01
Guardar imágen en una carpeta FTP... gatsu PHP 5 21-09-2004 18:34:40
Guardar pagina en imagen (bmp, jpg... etc) MarioATamborini Impresión 0 18-06-2004 21:53:31
guardar una imagen jpg en una tabla noe Tablas planas 2 05-04-2004 01:07:55
Guardar imagen jpg en access¡¡ perrogrun Conexión con bases de datos 0 03-03-2004 12:44:04


La franja horaria es GMT +2. Ahora son las 17:30:26.


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