Control Image

HMG en Español

Moderator: Rathinagiri

Post Reply
Agustin
Posts: 79
Joined: Sat Feb 16, 2013 10:50 pm
Location: Miranda de Ebro / España

Control Image

Post by Agustin »

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
Leopoldo Blancas
Posts: 388
Joined: Wed Nov 21, 2012 7:14 pm
Location: México

Re: Control Image

Post by Leopoldo Blancas »

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
Leopoldo Blancas
Posts: 388
Joined: Wed Nov 21, 2012 7:14 pm
Location: México

Re: Control Image

Post by Leopoldo Blancas »

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
Agustin
Posts: 79
Joined: Sat Feb 16, 2013 10:50 pm
Location: Miranda de Ebro / España

Re: Control Image

Post by Agustin »

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
Leopoldo Blancas
Posts: 388
Joined: Wed Nov 21, 2012 7:14 pm
Location: México

Re: Control Image

Post by Leopoldo Blancas »

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?

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
Por lo que muestras en tu código esta mal la sentencia IF... ELSE...ENDIF...ELSE???...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

Post by Leopoldo Blancas »

Hola...
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

Post by Leopoldo Blancas »

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
User avatar
danielmaximiliano
Posts: 2646
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Control Image

Post by danielmaximiliano »

Hola Agustin :
puede refrescar la ventana y de esa manera se acutaliza la imagen.

Code: Select all

ThisWindows.Refresh
o de esta manera

Code: Select all

SetProperty( 'WindowName' , 'Refresh' )
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 :

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

Return
se toma del archivo de recursos.rc

Code: 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
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.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Agustin
Posts: 79
Joined: Sat Feb 16, 2013 10:50 pm
Location: Miranda de Ebro / España

Re: Control Image

Post by Agustin »

Gracias Leopoldo y Daniel.

Así se resolvió.

Daniel, con tu permiso, copio la idea para cambiar de fondo segun la estación.

Un abrazo
Post Reply