Cargar imagen en un picture control

Estoy realizando un sistema de asistencias y necesito abrir un archivo de imagen en un picture control o un control ole, la dirección de la imagen
Esta almacenada en un Control Singlelineedit.
Cualquier ayuda será bien recibida.

1 Respuesta

Respuesta
1
Haber un ejemplo
Mi picture control se llama p_imagen
string is_fullname,is_filename
if GetFileOpenName ("Open", is_fullname, is_filename, "bmp", "Imagenes bitmap (*.bmp),*.bmp,jpg Files " + "(*.jpg), *.jpg,gif Files (*.gif),*.gif", "c:\temp", 512) < 1 then return
p_imagen.picturename=is_filename
//bueno son el sle_imagen.text
No entiendo bien la pregunta pero
Intentare dar una respuesta
p_imagen.picturename=sle_imagen.text
Si eres más especifico la ayuda será mejor
Indicame exactamente lo que quieres hacer
Hola gracia por responder, la verdad no hice bien la pregunta, lo que necesito es cargar una imagen en un control ole, guardarla en la base y luego rescatarla de la base.
Lo del control picture que pregunte inicialmente, ahora sé que no puedo trabajar con este control para un sistema multiusuario, lo que necesito es guardar la imagen en la base.
Averigüe que el tipo de dato en el que se almacena la imagen en la base es binary.
Hice este proceso pero al querer ejecutar me da error y se cierra el Power Builder:
/////////
int fh
blob lblb_emp
string ls_docname, ls_named,ls_codigo
fh=getfileopenname("Seleccione archivo",ls_docname,ls_named)
if fh=1 then
ole_1.insertfile(ls_docname)
lblb_emp=ole_1.objectdata
ls_codigo=string(em_1.text)
if isnull(ls_codigo)or len(trim(ls_codigo))=0 then
messagebox("Error","Debe de seleccionar un Alumno")
return
else
updateblob alumnos
set foto_alumno=:lblb_emp
where cedula_alumno=:ls_codigo;
end if
end if
if sqlca.sqlcode=0 then
commit;
messagebox("Ok","Se actualizo la base de datos")
else
rollback;
messagebox("Error","No se pudo actualizar la base de datos")
end if
////////
El ls_codigo almacena la cedula del alumno, este sera el nombre con el que se grabe la foto(binary)
Si estoy mal, házmelo saber por favor, estoy en esto hace dos semanas.
Este lo saque de UNO DE MIS sistemas realizados espero y te ayude solo analízalo ok nos vemos
Suerte ...
Botón : grabar
STRING ls_pathname, ls_filename, ls_filtro, ls_cod_thab
LONG ll_File
BLOB lbl_data, lbl_temp
integer fila
fila=dw_tipohabitacion.getrow( )
string co
co=dw_tipohabitacion.getitemstring(fila,"cod_tipo_hab")
sle_codtipo.text=co
ls_filtro = "JPEG Files (*.jpg),*.jpg," + "GIFF Files (*.gif),*.gif,"
IF GetFileOpenName ( "Archivo de Imagen: ", ls_pathname, ls_filename , "jpg", ls_filtro) = 0 THEN RETURN
p_foto.picturename = ls_pathname
ls_cod_thab = trim(sle_codtipo.text)
ll_File = FileOpen(ls_pathname, StreamMode!)
DO WHILE FileRead(ll_file,lbl_temp) > 0
lbl_data += lbl_temp
LOOP
FileClose(ll_file)
IF ll_File > -1 THEN
FileRead(ll_file, lbl_data)
FileClose(ll_file)
SQLCA.AutoCommit = True
UPDATEBLOB tipo_habitacion SET foto = :lbl_data WHERE cod_tipo_hab = :ls_cod_thab;
SQLCA.AutoCommit = False
ELSE
messagebox('Error','Falló al abrir Archvo')
END IF
IF SQLCA.SQLNRows > 0 THEN
COMMIT;
messagebox('OK: ' + ls_cod_thab,'Se guardó la foto de la Habitacion')
ELSE
messagebox('Error','Falló el Grabar Foto')
END IF
FileClose(ll_file)
BOTON : BUSCAR IMAGEN
Blob lb_imagen
STRING ls_cod_tha
ls_cod_tha = trim(sle_busca.text)
SELECTBLOB foto INTO :lb_imagen FROM tipo_habitacion WHERE cod_tipo_hab = :ls_cod_tha;
p_foto.SetPicture(lb_imagen)
Muchas Gracias Experto, pondré en practica tu aplicación, por ahora ya me carga la imagen y guarda la dirección.
Gracias otra vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas