Beaker_
17-05-2012, 05:04:07
Hola, que tal, recurro a la ayuda de ustedes de nuevo ya que me encuentro ante un nuevo problema que no he podido resolver por más que he probado.
Estoy trabajando sobre un código que alguién más comenzó a hacer, por lo cual a veces me es díficil de entender jeje, pero esta es la cuestión.
El código lee y carga una serie de imágenes, las cuales las guarda en un componente ClienDataSet, de esta forma:
Declaración de tipos:
cImagen: TClientDataSet;
cImagenIdImagen: TIntegerField;
cImagenDescImagen: TStringField;
cImagenImagen: TBlobField;
Declaración para asignar imágenes al ClientDataSet
if openImage.Execute then begin
cImagen.Append;
cImagenIdImagen.Value := 1;
cImagenDescImagen.Value := openImage.FileName;
cImagenImagen.LoadFromFile(openImage.FileName);
cImagen.Post;
end;
Ahora tengo que leer el ClientDataSet y recuperar la imagen para desplegarla en un TImage, sin embargo, no encuentro como. Mi idea (seguramente tonta) era hacer lo siguiente (donde imagen es un componente TImage):
imagen.Picture := cImagenImagen;
Sin embargo, evidentemente me manda error de incompatibilidad de tipos, ya que imagen.Picture es TPicture y cImagenImagen es tipo TBlobField. De qué forma puedo recuperar la imagen del ClientDataSet y asignarla a un TImage?
También, y abusando de su tiempo y atención, me podrían explicar de que forma se relaciona el ClientDataSet cImagen con las variables cImagenIdImagen, cImagenDescImagen, cImagenImagen? Es decir, cómo si les asigno valores se añaden al ClientDataSet si no son componentes directos de este? (Es decir, no se asignan de esta forma, por ejemplo, cImagen.Imagen o cImagen.cImagenImagen)
Espero haberme explicado, y realmente agradezco su ayuda
Estoy trabajando sobre un código que alguién más comenzó a hacer, por lo cual a veces me es díficil de entender jeje, pero esta es la cuestión.
El código lee y carga una serie de imágenes, las cuales las guarda en un componente ClienDataSet, de esta forma:
Declaración de tipos:
cImagen: TClientDataSet;
cImagenIdImagen: TIntegerField;
cImagenDescImagen: TStringField;
cImagenImagen: TBlobField;
Declaración para asignar imágenes al ClientDataSet
if openImage.Execute then begin
cImagen.Append;
cImagenIdImagen.Value := 1;
cImagenDescImagen.Value := openImage.FileName;
cImagenImagen.LoadFromFile(openImage.FileName);
cImagen.Post;
end;
Ahora tengo que leer el ClientDataSet y recuperar la imagen para desplegarla en un TImage, sin embargo, no encuentro como. Mi idea (seguramente tonta) era hacer lo siguiente (donde imagen es un componente TImage):
imagen.Picture := cImagenImagen;
Sin embargo, evidentemente me manda error de incompatibilidad de tipos, ya que imagen.Picture es TPicture y cImagenImagen es tipo TBlobField. De qué forma puedo recuperar la imagen del ClientDataSet y asignarla a un TImage?
También, y abusando de su tiempo y atención, me podrían explicar de que forma se relaciona el ClientDataSet cImagen con las variables cImagenIdImagen, cImagenDescImagen, cImagenImagen? Es decir, cómo si les asigno valores se añaden al ClientDataSet si no son componentes directos de este? (Es decir, no se asignan de esta forma, por ejemplo, cImagen.Imagen o cImagen.cImagenImagen)
Espero haberme explicado, y realmente agradezco su ayuda