El 30/05/2014 15:25, Josemo escribió:
> hola.
>
> A ver si tengo mejor suerte de esta forma:
>
> tengo un campo llamado pix en el dbf con la locacion de un
> jpg
> "C:datapicsuno.jpg"
>
> necesito saber como aplicar la utilizacion de ese campo PIX
> del dbf en un createthumbnail, no entiendo el valor
> especifico de los campos en el sintaxis
>
> o si alguien sabe de un ejemplo que pueda leer para
> entenderlo
>
>
> gracias adelantadas
>
>
Saludos:
No se si es exactamente lo que buscas pero me arriesgo.
Yo guardo el nombre de la imagen y su extensión en un campo de una base
de datos Dbf, el resto como el disco y el directorio depende de donde
este instalada la aplicación por lo tanto usando un ejemplo guardo
"Spain.bmp" en el campo de la base de datos, luego para obtener la ruta
completa uso:
Local cPath := Application:cDirectory + "Banderas"
cName := ::oEscudo:cText //TBDEditBtn
cImagen := cPath + cName // C:Banderasnombre.bmp
Para inicializar el formulario
METHOD FormInitialize( oSender ) CLASS TFormPaisesNew
*
// Inicializa el FileOpenDlg1
WITH OBJECT ::oFileOpenDlg1
:cFilter := "Ficheros de
imágenes|*.bmp;*.jpg;*.jpeg;*.gif|Todos los ficheros|*.*"
:cInitialDir := Application:cDirectory + "Banderas"
:cTitle := "Seleccione un Archivo"
END
*
//"Banderas"
RETURN Nil
Para guardar el nombre de la imagen en el campo correspondiente de la
base de datos empleo el evento OnBtnClick del TBDEditBtn así:
METHOD EscudoBtnClick( oSender, Value ) CLASS TFormPaisesNew
*
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()
*
::oImage1:oPicture := :cFullFileName
::oEscudo:Value := :cFilenameOnly
//::oDBMImagen:Value := TPicture():LoadFromFile(:cFullFileName)
*
ENDIF
*
END
RETURN Nil
Si lo que deseo visualizar la imagen en el formulario si existe uso el
evento OnShow del formulario así:
METHOD FormShow( oSender ) CLASS TFormPaisesNew
Local cPath := Application:cDirectory + "Banderas"
Local cName
Local cImagen
// Si el campo oEscudo contiene el nombre del fichero lo muestra IF
!Empty(::oEscudo:cText)
cName := ::oEscudo:cText
cImagen := cPath + cName //Muestra: Banderasnombrefichero.bmp
IF File(cImagen)
::oImage1:oPicture := TPicture():LoadFromFile(cImagen)
ELSE
MsgInfo("El nombre asignado al fichero del escudo no existe,
seleccione uno.")
ENDIF
--
José R.Castro
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com