Control Image
Moderator: Rathinagiri
Control Image
Tengo una aplicación en la que muestro una imagen cogiendo su nombre de una tabla. Funciona bien, pero a la hora de cargar o cambiar una imagen lo hace bien, pero no se muestra la nueva hasta que no me desplazo a otro registro y vuelvo. Quisiera que se refrescara la imagen en el momento de cambiarla. Creo que me falta algo. El codigo que empleo es el siguiente:
*************************************************************************
STATIC FUNCTION CargaImagen( cForm , cAlias )
*************************************************************************
LOCAL cFoto := " "
LOCAL cImage:= " "
LOCAL cFotoDestino := " "
LOCAL lDecision
LOCAL cFotoReemplazar := " "
cFoto := Getfile ( { {'Archivos de tipo jpg','*.jpg'} } ,, , .f. , .t. )
cFotoDestino := ExtraeNombre( cFoto )
cFotoReemplazar := "XXXXXXXX.XXX"
IF FILE( ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
lDecision :=MsgYesNo ( "Fichero Existente. Desea reemplazarlo ? " )
IF lDecision
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar
DELETE FILE ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
FRENAME( ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar , ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
ELSE
Return nil
ENDIF
ELSE
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
ENDIF
IF !(cAlias)->(RecLock(10))
MsgBox(" Imposible grabar el registro ")
RETURN nil
ENDIF
cFoto := cFotoDestino
( cAlias )->Foto := cFoto
( cAlias )->( DbCommit( ) )
( cAlias )->( DbUnlock( ) )
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
RETURN nil
*************************************************************************
STATIC FUNCTION CargaImagen( cForm , cAlias )
*************************************************************************
LOCAL cFoto := " "
LOCAL cImage:= " "
LOCAL cFotoDestino := " "
LOCAL lDecision
LOCAL cFotoReemplazar := " "
cFoto := Getfile ( { {'Archivos de tipo jpg','*.jpg'} } ,, , .f. , .t. )
cFotoDestino := ExtraeNombre( cFoto )
cFotoReemplazar := "XXXXXXXX.XXX"
IF FILE( ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
lDecision :=MsgYesNo ( "Fichero Existente. Desea reemplazarlo ? " )
IF lDecision
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar
DELETE FILE ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
FRENAME( ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar , ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
ELSE
Return nil
ENDIF
ELSE
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
ENDIF
IF !(cAlias)->(RecLock(10))
MsgBox(" Imposible grabar el registro ")
RETURN nil
ENDIF
cFoto := cFotoDestino
( cAlias )->Foto := cFoto
( cAlias )->( DbCommit( ) )
( cAlias )->( DbUnlock( ) )
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
RETURN nil
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: Control Image
Hola Agustin...
Disculpa seria mejor que enviaras el ejemplo minimo completo de esa manera compilamos y probamos y si sabemos encontramos la mejor solución.... de otra manera es dificil ayudar (es mi humilde opinión).
Polo
Disculpa seria mejor que enviaras el ejemplo minimo completo de esa manera compilamos y probamos y si sabemos encontramos la mejor solución.... de otra manera es dificil ayudar (es mi humilde opinión).
Polo
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: Control Image
Hello Agustin ...
Apology would be better you sent the full minimal example compile and test that way and if we find the best solution .... otherwise it is difficult to help (my humble opinion).
Esgici So ...?
Saludos
Polo
Apology would be better you sent the full minimal example compile and test that way and if we find the best solution .... otherwise it is difficult to help (my humble opinion).
Esgici So ...?
Saludos
Polo
Re: Control Image
Sencillamente Leopoldo el problema es que después de cambiar el nombre de la foto a mostrar ( antes tenia en la tabla foto1.jpg y ahora tengo foto2.jpg ) con:
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
La imagen sigue siendo foto1.jpg. Se actualiza si paso a otro registro y vuelvo a éste.
Un saludo
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
La imagen sigue siendo foto1.jpg. Se actualiza si paso a otro registro y vuelvo a éste.
Un saludo
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: Control Image
Hummm Agustin....
A lo mejor me explique mal, pero si sólo das una pequeña porción de tu código, como voy a saber que hay detras de él o adelante, y peor aun, como voy a probar lo que estas haciendo? ... tengo que hacer una ventana, un botón? una grid? un Browse?, etc.... las imagenes también?
Por lo que muestras en tu código esta mal la sentencia IF... ELSE...ENDIF...ELSE???...ENDIF???...
Saludos con mi mejor intención....
Polo
A lo mejor me explique mal, pero si sólo das una pequeña porción de tu código, como voy a saber que hay detras de él o adelante, y peor aun, como voy a probar lo que estas haciendo? ... tengo que hacer una ventana, un botón? una grid? un Browse?, etc.... las imagenes también?
Code: Select all
IF FILE( ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
lDecision :=MsgYesNo ( "Fichero Existente. Desea reemplazarlo ? " )
IF lDecision
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar
DELETE FILE ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
FRENAME( ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar , ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
ELSE
Return nil
ENDIF
ELSE
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
ENDIF
Saludos con mi mejor intención....
Polo
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: Control Image
Hola...
Ok me equivoque hay arriba otro IF... disculpa..., pero insisto... de acuerdo a mi Post anterior...
Saludos
Polo
Ok me equivoque hay arriba otro IF... disculpa..., pero insisto... de acuerdo a mi Post anterior...
Saludos
Polo
-
Leopoldo Blancas
- Posts: 388
- Joined: Wed Nov 21, 2012 7:14 pm
- Location: México
Re: Control Image
Hola Agustin también te recomiendo que el codigo que quieras mandar, lo mandaras pulsando el botón "Code" que esta arriba de donde escribimos el Post... se ve mejor el código...
Saludos
Polo
Saludos
Polo
- danielmaximiliano
- Posts: 2646
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: Control Image
Hola Agustin :
puede refrescar la ventana y de esa manera se acutaliza la imagen.
o de esta manera
por mi parte la aplicacion que estoy armando estos dias la imagen se cambia y no presenta inconveniente que se quede con la vieja imagen.
esta es la funcion :
se toma del archivo de recursos.rc
y se graba en el Config.ini para que quede como prefencia para el proximo inico de la aplicacion. tambien toma imagenes que el usuario quiera como imagen de preferencia en su escritorio.
puede refrescar la ventana y de esa manera se acutaliza la imagen.
Code: Select all
ThisWindows.RefreshCode: Select all
SetProperty( 'WindowName' , 'Refresh' )esta es la funcion :
Code: Select all
/********************************************************/
Function CambiodeFondo()
/********************************************************/
cFondo := 'Otonio'
Principal.Wallpaper.Picture := cFondo
Begin ini file ("Config.ini")
Set Section "CONFIGURACION" ENTRY "Fondo" To cFondo
End ini
ReturnCode: Select all
Verano JPG Imagenes\Jpg\verano.jpg
Otonio JPG Imagenes\Jpg\otonio.jpg
Invierno JPG Imagenes\Jpg\invierno.jpg
Primavera JPG Imagenes\Jpg\primavera.jpg
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Re: Control Image
Gracias Leopoldo y Daniel.
Así se resolvió.
Daniel, con tu permiso, copio la idea para cambiar de fondo segun la estación.
Un abrazo
Así se resolvió.
Daniel, con tu permiso, copio la idea para cambiar de fondo segun la estación.
Un abrazo