Ver Mensaje Individual
  #1  
Antiguo 06-09-2006
morfeo21 morfeo21 is offline
Miembro
 
Registrado: may 2003
Posts: 69
Reputación: 21
morfeo21 Va por buen camino
como declarar Clases que almacenen imagenes

hola a todos. estoy realizando la creacion de una interfaz en delphi el cual almacena informacion en una tabla de bd interbase. La tabla la e llamado articuloImagen y en su estructura tiene un campo de tipo blob ,algo asi:

Código SQL [-]
CREATE TABLE ARTICULOIMAGEN
(
  "TIPINV"  INTEGER NOT NULL,
  "CODART"  VARCHAR(40) NOT NULL,
  "CODIMG"  INTEGER NOT NULL,
  "DIRIMG"  VARCHAR(150),
  "IMAGEN"  BLOB SUB_TYPE 0 SEGMENT SIZE 80,
  "FORMATO"  VARCHAR(3),
)

lo particular en esto es que en la interfaz , utilizo componentes standar ; que luego los verifico bajandolo hacia una clase , que mantiene la misma estructura , pero el problema es que no se como declarar en mi clase el cambo imagen. lo que he hecho no me a resultado. alguien sabe como poder realizar esto?

Código Delphi [-]
Tart_imagen  = Class
  Private
    ptipinv    :integer;
    pcodart    :string;
    pcodimg    :integer;
    pdirimg    :string;
    pimagen    :TBlobData;
    pformato   :Variant;
  Public
    Property tipinv  :integer   read ptipinv write ptipinv;
    Property codart  :string   read pcodart write pcodart;
    Property codimg  :integer   read pcodimg write pcodimg;
    Property dirimg  :string   read pdirimg write pdirimg;
    Property imagen  :tblobdata   read pimagen write pimagen;
    Property formato :string   read pformato write pformato;
   Constructor Create;
   procedure   Clear;
  end;

constructor Tart_imagen.Create;
begin
  inherited;
  Clear;
end;

procedure Tart_imagen.Clear;
begin
  tipinv:=0;
  codart:='';
  codimg:=0;
  dirimg:='';
  imagen:=nil;
  formato:='';
end;

function GetArticulo_imagen(Conexion:TADOConnection;Articulo_imagen:Tart_imagen):boolean;
var
  sw             : Boolean;
  PArtImagen   : TADODataSet;
begin
  Sw:=False;
  PArtImagen := TADODataSet.Create(nil);
  PArtImagen.Connection:=Conexion;
  PArtImagen.CommandText:=' Select   tipinv,codart,codimg,dirimg,imagen,formato'+
                          ' from art_imagen '+
                          ' where tipinv = : p01 and Codart = : p02 and Codimg = : p03 ';
  PArtImagen.Parameters.ParamByName('p01').Value:=Articulo_imagen.tipinv;
  PArtImagen.Parameters.ParamByName('p02').Value:=Articulo_imagen.codart;
  PArtImagen.Parameters.ParamByName('p03').Value:=Articulo_imagen.codimg;
  PArtImagen.Open;
  PArtImagen.First;
  if not(PArtImagen.Eof) then
   begin
     Articulo_imagen.tipinv :=PArtImagen.FieldByName('tipinv').Value;
     Articulo_imagen.codart :=PArtImagen.FieldByName('codart').Value;
     Articulo_imagen.codimg :=PArtImagen.FieldByName('codesp').Value;
     Articulo_imagen.dirimg :=PArtImagen.FieldByName('dirimg').Value;
     Articulo_imagen.imagen :=PArtImagen.FieldByName('imagen').Value;
     Articulo_imagen.formato :=PArtImagen.FieldByName('formato').Value;
     SW:=True;
   end;
  PArtImagen.Close;
  PArtImagen.Free;
  Result:=sw;
end;

nota : si me dieran alguna recomendacion adicional, se los agradeceria mucho. gracias

Última edición por dec fecha: 06-09-2006 a las 17:59:14.
Responder Con Cita