In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Guardar imagenes dentro de una DBF

Foro de Xailer profesional en español
Responder
jrcpoli
Mensajes: 240
Registrado: Mié Oct 25, 2006 8:55 pm

Guardar imagenes dentro de una DBF

Mensaje por jrcpoli »

Saludos:
En orden a mi anterior mensaje por sino pudiera implementarlo,
preguntaría ya que no lo he hecho nunca porque siempre he guardado la ruta
de las imagenes en un registro de las DBF y no he guardado imagenes, por eso
del tamaño de la base de datos, pero como en este caso es una DBF limitada,
no creo que importe mucho guardar unas cuantas imagenes, alguien que lo haya
hecho me puede decir como hacerlo:
Que tipo de campo debe ser, como se implementa el guardar la imagen
desde una imagen en formato BMP que existe ya en un directorio, en fin lo
necesario para guardarla y usarla posteriormente, perdonar pero aunque
parezca mentira nunca he tenido que guardar una BMP.
José Ramón Castro Polinio
José Ramón Castro.
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Guardar imagenes dentro de una DBF

Mensaje por Rene Flores »

Jose Ramon:
El tipo de campos para guardar imagenes son FPT, correspondientes a los
campos memo del DBFCDX.
Xailer tiene una propiedad que te permiete cargar en memoria las
imagenes almacenadas en un campos de la base de datos, para que no
tengas que crear ficheros para poder visualizarla.
Jose Gimenez sabe mas de eso que yo... ¿ Jose ?
Saludos
Rene Flores
http://www.ciber-tec.com
José R.Castro escribió:
> Saludos:
> En orden a mi anterior mensaje por sino pudiera implementarlo,
> preguntarí­a ya que no lo he hecho nunca porque siempre he guardado la ruta
> de las imagenes en un registro de las DBF y no he guardado imagenes, por eso
> del tamaño de la base de datos, pero como en este caso es una DBF limitada,
> no creo que importe mucho guardar unas cuantas imagenes, alguien que lo haya
> hecho me puede decir como hacerlo:
>
> Que tipo de campo debe ser, como se implementa el guardar la imagen
> desde una imagen en formato BMP que existe ya en un directorio, en fin lo
> necesario para guardarla y usarla posteriormente, perdonar pero aunque
> parezca mentira nunca he tenido que guardar una BMP.
>
> José Ramón Castro Polinio
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Guardar imagenes dentro de una DBF

Mensaje por jfgimenez »

René, José Ramón,
> El tipo de campos para guardar imagenes son FPT, correspondientes a los
> campos memo del DBFCDX.
>
> Xailer tiene una propiedad que te permiete cargar en memoria las
> imagenes almacenadas en un campos de la base de datos, para que no
> tengas que crear ficheros para poder visualizarla.
>
> Jose Gimenez sabe mas de eso que yo... ¿ Jose ?
Efectívamente, la clase TPicture tiene un método LoadFromStream que permite
cargar la imagen directamente desde un buffer, p.ej., un campo memo. Por lo
tanto, se puede hacer perfectamente:
oPicture := TPicture():LoadFromStream( IMAGENES->IMAGEN )
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jrcpoli
Mensajes: 240
Registrado: Mié Oct 25, 2006 8:55 pm

Guardar imagenes dentro de una DBF

Mensaje por jrcpoli »

Saludos:
Vale así la cargo desde un campo memo a un campo TImagen, para visualizarla
por ejemplo, ¿pero como la grabo en el campo memo?, eso es lo primero lo
primero es guardala en un campo de una base de datos que se llama
Paises->Imagen
Porque si hago:
WITH OBJECT ::oFileOpenDlg1
*
// Si Estamos Editando
IF !::lEditar
// Si el campo oEscudo contiene el nombre del fichero lo muestra
IF !Empty(oSender:Value)
// Poner el nombre del fichero en FileOpenDlg
:cFilename := Alltrim(oSender:Value)
ENDIF
ENDIF
*
IF :Run()
*
** Se ve la imagen en un objeto TImagen
::oImage1:oPicture := :cFullFileName
** La Guarda en un campo de la base de datos solo el nombre
::oEscudo:Value := :cFilenameOnly
** Aquí es donde debía guardarla en el campo Memo
::oDBMImagen:Value := TPicture():LoadFromFile(:cFullFileName)
*
ENDIF
*
END
RETURN Nil
Veo la imagen en el objeto oImagen1 del formulario pero no la veo ni la
tengo grabada en el campo ::oDBMImagen, por supuesto soy consciente de que
yo soy el que no debe estar haciendo las cosas como son.
José Ramón Castro.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:44d8613c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> René, José Ramón,
>
>> El tipo de campos para guardar imagenes son FPT, correspondientes a los
>> campos memo del DBFCDX.
>>
>> Xailer tiene una propiedad que te permiete cargar en memoria las
>> imagenes almacenadas en un campos de la base de datos, para que no
>> tengas que crear ficheros para poder visualizarla.
>>
>> Jose Gimenez sabe mas de eso que yo... ¿ Jose ?
>
> Efectívamente, la clase TPicture tiene un método LoadFromStream que
> permite
> cargar la imagen directamente desde un buffer, p.ej., un campo memo. Por
> lo
> tanto, se puede hacer perfectamente:
>
> oPicture := TPicture():LoadFromStream( IMAGENES->IMAGEN )
>
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
>
>
José Ramón Castro.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Guardar imagenes dentro de una DBF

Mensaje por jfgimenez »

José Ramón,
> IF :Run()
> *
> ** Se ve la imagen en un objeto TImagen
> ::oImage1:oPicture := :cFullFileName
Si la cargas en un control TImage, entonces lo más sencillo es guardarla
desde allí:
REPLACE PAISES->IMAGEN WITH ::oImage1:oPicture:SaveToStream()
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

Guardar imagenes dentro de una DBF

Mensaje por miguel »

Hola Jose:
En que parte de la ayuda está este método, sigo haciéndome la pregunta
de ¿cuantas cosas y sorpresas nos deparara Xailer?. Estos métodos son
nuevos y por eso no están incluidos en la ayuda, o soy yo el que no las
encuentro. Porque a lo mejor en mis proyectos, para ir a Sevilla desde
Zaragoza me estoy dando una vuelta por Galicia.
Bueno..... , siempre que se para mejor bienvenidas sean estas sorpresas,
cada dí­a veo cuanto me falta para conocer este producto.
Digo todo esto en tono de alago hacia el equipo, pero también digo, que
a la altura en la que estamos se deberí­a cuidar mas la ayuda, es lo
único que tenemos para reducir al mí­nimo las molestias que entre todos
os damos, de esa forma os quedarí­a mas tiempo para avanzar.
Saludos.
Miguel A. Torrellas
Telf.: 976642728
Movil: 610316131
Jose F. Gimenez escribió:
> René, José Ramón,
>
>> El tipo de campos para guardar imagenes son FPT, correspondientes a los
>> campos memo del DBFCDX.
>>
>> Xailer tiene una propiedad que te permiete cargar en memoria las
>> imagenes almacenadas en un campos de la base de datos, para que no
>> tengas que crear ficheros para poder visualizarla.
>>
>> Jose Gimenez sabe mas de eso que yo... ¿ Jose ?
>
> Efectí­vamente, la clase TPicture tiene un método LoadFromStream que permite
> cargar la imagen directamente desde un buffer, p.ej., un campo memo. Por lo
> tanto, se puede hacer perfectamente:
>
> oPicture := TPicture():LoadFromStream( IMAGENES->IMAGEN )
>
>
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Guardar imagenes dentro de una DBF

Mensaje por zeasoftware »

LoadFromStream y SavetoStream no estan documentados.
Estoy cambiando a este modo, esta muy bueno, antes lo que hacia era
referencia a un archivo de imgen.
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Guardar imagenes dentro de una DBF

Mensaje por jfgimenez »

Ramón.
> LoadFromStream y SavetoStream no estan documentados.
Lo siento. Lo corregiremos lo antes posible.
> Estoy cambiando a este modo, esta muy bueno, antes lo que hacia era
> referencia a un archivo de imgen.
Este método es más cómodo y limpio, pero ten en cuenta que si se corrompe el
fichero memo (.fpt) se pierden todas las imágenes. En mi opinión, siempre
hay que buscar un equilibrio entre facilidad y seguridad, y creo que las dbf
no son lo bastante seguras como para guardar las imágenes dentro, salvo que
sean imágenes muy pequeñas y sin mucha importancia, como es el caso de las
banderas de José Ramón. Pero si yo tuviera que guardar fotos que no se
guardan en ningún otro sitio, me cuidaría mucho de usar dbf para este fin.
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
_support_
Mensajes: 146
Registrado: Lun Abr 10, 2006 1:29 pm

Guardar imagenes dentro de una DBF

Mensaje por _support_ »

Miguel,
Esos método existen desde hace tiempo, pero eran/son métodos reservados, es
decir, métodos no disponibles para el usuario final y por dicho motivo no
están documentados. No tenemos intención de documentar hasta el último
método o dato de cada clase ya que ello lo único que haría sería complicar
la vida a múltitud de programadores noveles que serían incapaces de intuir
de la gran maraña de propiedades y métodos cual debe usar. Ahora bien, si en
el foro se pregunta por como hacer determinada tarea, y observamos que con
un método reservado se puede hacer facilmente, pues se dice y punto, y este
ha sido precisamente el caso. El método TBrowse:SelectCellFromPoint() es un
caso igual que este.
Siento que le parezca que no están cuidadas las ayudas, e intentaremos
mejorarnos más aún. Le invito a que nos siga mostrando todas las posibles
deficiencias que vaya encontrando en las ya más de 1.100 páginas de
documentación existentes.
Un saludo,
"Miguel A. Torrellas" <miguel@torrellas.net> escribió en el mensaje
news:[email=44d8b598@news.xailer.com...]44d8b598@news.xailer.com...[/email]
> Hola Jose:
>
> En que parte de la ayuda está este método, sigo haciéndome la pregunta de
> ¿cuantas cosas y sorpresas nos deparara Xailer?. Estos métodos son nuevos
> y por eso no están incluidos en la ayuda, o soy yo el que no las
> encuentro. Porque a lo mejor en mis proyectos, para ir a Sevilla desde
> Zaragoza me estoy dando una vuelta por Galicia.
> Bueno..... , siempre que se para mejor bienvenidas sean estas sorpresas,
> cada día veo cuanto me falta para conocer este producto.
>
> Digo todo esto en tono de alago hacia el equipo, pero también digo, que a
> la altura en la que estamos se debería cuidar mas la ayuda, es lo único
> que tenemos para reducir al mínimo las molestias que entre todos os damos,
> de esa forma os quedaría mas tiempo para avanzar.
>
>
> Saludos.
> Miguel A. Torrellas
> Telf.: 976642728
> Movil: 610316131
>
> Jose F. Gimenez escribió:
>> René, José Ramón,
>>
>>> El tipo de campos para guardar imagenes son FPT, correspondientes a los
>>> campos memo del DBFCDX.
>>>
>>> Xailer tiene una propiedad que te permiete cargar en memoria las
>>> imagenes almacenadas en un campos de la base de datos, para que no
>>> tengas que crear ficheros para poder visualizarla.
>>>
>>> Jose Gimenez sabe mas de eso que yo... ¿ Jose ?
>>
>> Efectívamente, la clase TPicture tiene un método LoadFromStream que
>> permite cargar la imagen directamente desde un buffer, p.ej., un campo
>> memo. Por lo tanto, se puede hacer perfectamente:
>>
>> oPicture := TPicture():LoadFromStream( IMAGENES->IMAGEN )
>>
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

Guardar imagenes dentro de una DBF

Mensaje por miguel »

Jose F. Gimenez escribió:
> Ramón.
>
>> LoadFromStream y SavetoStream no estan documentados.
>
> Lo siento. Lo corregiremos lo antes posible.
>
>
>> Estoy cambiando a este modo, esta muy bueno, antes lo que hacia era
>> referencia a un archivo de imgen.
>
> Este método es más cómodo y limpio, pero ten en cuenta que si se corrompe el
> fichero memo (.fpt) se pierden todas las imágenes. En mi opinión, siempre
> hay que buscar un equilibrio entre facilidad y seguridad, y creo que las dbf
> no son lo bastante seguras como para guardar las imágenes dentro,
Que tal SQL Server que tiene tipos de columnas especificas.
Saludos.
Miguel A. Torrellas
Telf.: 976642728
Movil: 610316131
salvo que
> sean imágenes muy pequeñas y sin mucha importancia, como es el caso de las
> banderas de José Ramón. Pero si yo tuviera que guardar fotos que no se
> guardan en ningún otro sitio, me cuidarí­a mucho de usar dbf para este fin.
>
jrcpoli
Mensajes: 240
Registrado: Mié Oct 25, 2006 8:55 pm

Guardar imagenes dentro de una DBF

Mensaje por jrcpoli »

Saludos:
No soy la persona mas indicada para darte consejos, ya que hay personas mas
capacitadas que yo para este fin pero lo que si te digo es que yo siempre
guardo las imagenes en un directorio de la aplicación en primer lugar, por
ejemplo en el directorio Bmp, segundo en la base de datos en un campo de la
misma apunto el nombre de la imagen que está guardada en ese directorio que
es seleccionada por el operador por ejemplo cliente001.bmp y tercero en este
caso y solo en este caso y porque es un fichero que es auxiliar y que no va
a sufir casi modificaciones o altas una vez actualizado la voy a guardar en
un fichero FPT de una DBF sino no te aconsejo que lo hagas, sobre todo por
dos razones, primera porque la base de datos aumenta muy rapido de tamaño y
segundo porque es facil de corromper, ahora si lo que vas a guardar es de
las caracteristicas que te he especificado y siempre que guardes una copia
de la imagen en un directorio dentro de los directorios de la aplicación no
hay inconveniente en que lo hagas.
Otro decia que hay bases de datos que tienen campos especificos para las
imagenes, efectivamente así es pero yo le doy el mismo consejo que he dado
anterioremente, guardalas en otro sitio además de en la base de datos así
siempre podrás recuperarlas.
José Ramón Castro Polinio.
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje
news:44d99ca1$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> LoadFromStream y SavetoStream no estan documentados.
>
> Estoy cambiando a este modo, esta muy bueno, antes lo que hacia era
> referencia a un archivo de imgen.
>
> Saludos.
> --
> Ramón Zea
> ramonzea@yahoo.com
> zeasoftware@hotmail.com
> zeasoft.movil@hotmail.com
>
> http://www.paginasprodigy.com/zeasoft/
>
>
José Ramón Castro.
Responder