Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Abrir una imagen desde un Timage (https://www.clubdelphi.com/foros/showthread.php?t=60116)

pablopessoa 20-09-2008 16:46:47

Abrir una imagen desde un Timage
 
hola, tengo un Jpg cargado en un Timage y quiero saber como se puede hacer para, al darle click en la imagen, se abra para ver en tamaño real con el visor de imagenes que tenga por defecto la maquina del usuario. Muchas Gracias!

dec 20-09-2008 16:51:24

Hola,

Lo primero que necesitas es la ruta del archivo que contiene la imagen. Con esa información puedes utilizar la función "ShellExecute()", que, se encuentra en la unidad "ShellApi". Algo más o menos así:

Código Delphi [-]
ShellExecute(Handle, 'open', 'ruta-imagen', nil, nil, SW_NORMAL);

También podrías preparar un formulario que contuviera únicamente un "TImage", por ejemplo, al que podría asignar la imagen correspondiente: de esta forma la información sobre la ruta de la imagen ya no sería necesaria.

pablopessoa 20-09-2008 17:10:34

estoy probando ese codigo que me pasaste y cuando le hago click al timage en ejecucion, algo procesa delphi, pero no se abre la imagen... me meti en la ayuda de delphi para ver bien lo del shell y esta tal cual lo pusiste.. pero no me lo abre :S

Caral 20-09-2008 18:23:02

Hola
A mi si me sirve, funciona perfectamente.
Interesante y sencillo código Dec.
Saludos

duilioisola 21-09-2008 10:54:39

Cita:

Empezado por pablopessoa (Mensaje 315336)
cuando le hago click al timage en ejecucion, algo procesa delphi, pero no se abre la imagen...

Asegúrate de que el path y la imágen son correctos

Código Delphi [-]
ShellExecute(Handle, 'open', 'C:\Imagenes\Imagen.jpg', nil, nil, SW_NORMAL);

pablopessoa 25-09-2008 18:36:30

ya descrubri cual es el problema, vos me pones la ruta de la imagen asi
"'C:\Imagenes\Imagen.jpg'"
pero yo necesito pasarle una variable que contiene la ruta por que se me crea en tiempo de ejecucion la ruta, y no puedo pasar una variable por que me pide un string o no me compila, como puedo hacer para pasarle la ruta en una variable?

dec 25-09-2008 18:41:46

Hola,

A ver si va a ser que tienes una variable de tipo "String" y "ShellExecute()" precisa de un "PChar"... si es esto prueba con:

Código Delphi [-]
ShellExecute(Handle, 'open', PChar(Variable), nil, nil, SW_NORMAL);

pablopessoa 25-09-2008 18:45:27

listo encontre la respuesta, por si alguno lo necesita la solucion es castear el string a PansiChar que es lo que espera la funcion ShellExecute, la linea quedaria asi

ShellExecute(Handle, 'open',PAnsiChar(ruta_a_guardar), nil, nil, SW_NORMAL);

donde ruta_a_guardar es una variable de tipo String que contiene la ruta a donde esta la foto.
muchas gracias por responderme, no ubiese podido encontrar respuesta si no me pasabas esa funcion, gracias!

pablopessoa 25-09-2008 18:46:18

jajajaja posteamos los dos juntos... perdon soy medio bruto, empeze a principio de año con delphi no mas, muchas gracias!

Esquivel 18-09-2017 00:22:11

ShellExecute en donde va
 
Pongo el código que os a veis echo y me sale un error en la palabra ShellExecute. Porqué sale ese error que me falta :D :D

Casimiro Notevi 18-09-2017 08:55:12

Cita:

Empezado por Esquivel (Mensaje 521121)
Pongo el código que os a veis echo y me sale un error en la palabra ShellExecute. Porqué sale ese error que me falta :D :D

Lee la entrada #2


La franja horaria es GMT +2. Ahora son las 01:14:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi