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 de anarchy9902
1
1
anarchy9902, Hola me llamo Henry Miramira Malpartida y desarrollo power...
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.