Ver Mensaje Individual
  #1  
Antiguo 03-07-2011
Dens Dens is offline
Miembro
 
Registrado: ago 2010
Posts: 20
Reputación: 0
Dens Va por buen camino
Leer datos de campo tipo blob

Muy buenos dias, resulta que estoy haciendo una aplicacion que se conecta con un sistema administrativo cuya base de datos es DBISAM, estoy realizando un modulo que debe leer un campo tipo blob dentro de un datagrid, el departament de soporte de la empresa del software me paso este codigo que posee la estructura de la tabla


Código Delphi [-]
  //Registro para almacenar los costos y precios de inventario
  //en un BlobField;
  RegUnPrecio         = Record
                         PorcUtil     ,
                         PorcUtilEx   : Boolean;
                         Utilidad     ,
                         UtilidadEx   ,
                         SinImpuesto  ,
                         MtoImpuesto1 ,
                         MtoImpuesto2 ,
                         TotalPrecio  ,
                         TotalPrecioEx: Currency;
                         TipoRound    : Byte;
                        end;

  RegDePrecios        = Array[1..6] of RegUnPrecio;

  //Este registro se guarda en un campo Blob llamado FX_COSTOS
  //del Archivo SFixed.Dat
  RegCostos           = Record
                         CodeCompra      : String[50];   //Utilizado en  el modulo de compras y el generador de reportes solo ejecucion
                         VImpuesto1      ,
                         VImpuesto2      : Boolean;  //Impuestos Activados
                         CostoAnteriorBs ,
                         CostoAnteriorEx ,
                         CostoActualBs   ,
                         CostoActualEx   ,
                         CostoPromedioBs ,
                         CostoPromedioEx ,
                         MImpuesto1      ,
                         MImpuesto2      : Currency;
                         PorcentImp1     ,
                         Exento1         ,
                         PorcentImp2     ,
                         Exento2         : Boolean;
                         FechaVencimiento: TDateTime;   //Lo uso en el modulo de compras para incluir el vencimiento
                         NumeroDeLote    : String[42];  //y el numero de lote de los productos con costos por lote
                         CostoReferencia : Double;      //Costo de referencia para aumentar los precios
                         Precios         : RegDePrecios;
                        end;


 //A CONTINUACION UN EJEMPLO DE COMO LEER UN CAMPO BLOB QUE CONTIENE COSTOS Y PRECIOS

 if FX_FIXED.FindKey('B',XXXXX); Codigo del producto
  if OkR then
   begin
    SourceField :=FX_FIXED.FindField('FX_COSTOS');
    Try
     BlobStreamData  :=TDBISAMBlobStream.Create(TBlobField(SourceField),bmRead);
     BlobStreamData.Seek(0,0);
     BlobStreamData.Read(CostosProducto,SizeOf(CostosProducto)); //CostosProducto : RegCostos
    Finally
     BlobStreamData.Free;
    end;
   end;

Aun no he logrado ver los valores de dicho campo blob.

De antemano muchas gracias por el tiempo que dedicaron en leer mi inconveniente.
Responder Con Cita