• Sábado 14 de Diciembre de 2024, 20:41

Autor Tema:  ¿porque Se Me Queda Colgado El Programa?  (Leído 3462 veces)

Goselito_0

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
¿porque Se Me Queda Colgado El Programa?
« en: Domingo 30 de Marzo de 2008, 01:13 »
0
Hola!
Quiero insertar una imagen introduciendo el nombre del archivo en un TEdit e insertar la imagen mediante TImage con las propiedades "AutoSize" y "Center" a true. Ademas pretendo controlar la excepcion de que el archivo no existiera o estruviera dañado, para todo esto utilizo el siguiente codigo:

(En el evento "OneKeyPress" del campo Edit)

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (Key == 13)
     {
     try
          {Image1->Picture->LoadFromFile(Edit1->Text);}
     catch (...)
          {ShowMessage("Archivo no se encuentra o Incorrecto");}
     Edit1->SelectAll();
     }
}

¿Porque se queda colgado el programa?¿He pasado por alto algo importante?

Saludos y Gracias de antemano.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #1 en: Domingo 30 de Marzo de 2008, 23:09 »
0
Pero x que en el ONkeyPress del Edit? :S x que no le pones un botón que loa priete cuando ya hya escrito el path en su totalidad???

Aunque si me preguntas a mi yo te recomendaria fuertemente que uses un OpenDialog, no solo te lo deja estéticamente mejor sinó que te previene de que el usuario se equivoque al escribir el path de la imagen lo que es mooooy común que pase!!!

Yo te recomiendo eso, OpenDialog que se encuentra en la solapa Dialogs...

Ya si queres ahcerlo de esa menra igual.. no c tendria que ver bien el código...
Avisame cualqueir cosa!

salute
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

Goselito_0

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #2 en: Miércoles 2 de Abril de 2008, 16:05 »
0
En un principio lo puse en el OnKeyPress del Edit para que se cargara la imagen al pulsar <intro>.
El OpenDialog deduzco que es una especie de "examinar" que tantas veces nos encontramos? Si es asi lo veo buena idea, asi nos evitamos los errores que acarrea que el usuario introduzca mal el nombre del archivo. El problema es que no se utilizar el OpenDialog :(  He buscado algo de info pero ninguna me ha ayudado mucho.

Gracias y saludos.

Goselito_0

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #3 en: Miércoles 2 de Abril de 2008, 17:49 »
0
Vale, ya he investigado un poco mas acerca del OpenDialog y ya se como va mas o menos. Es lo que yo prensaba, una especie de "examinar".

Pero sigo teniendo un gran problema, lo que quiero hacer es cargar una imagen almacenada en disco al programa, entonces:
     
- Tengo que poner un TImage vacio y asociarlo de alguna manera con el         OpenDialog??

Como lo hago?? Ayuda please :( Cualquier comentario sera de gran utilidad.

Gracias de antemano.

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #4 en: Miércoles 2 de Abril de 2008, 17:54 »
0
Es sencillos....

Lo unico que se tiene que hacer en el Button es:

OpenDialog1->Execute();
Image1->Picture->LoadFromFile(OpenDialog1->FileName);

y ya esta.......

 :rolleyes: eso es todo...espero que sirva de algo........

saludes
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


Elforious

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #5 en: Miércoles 2 de Abril de 2008, 19:09 »
0
Lo que yo hago normalmente es colocar una variable global como "char Direccion_Archivo_Foto[300];", y pongo un botón que ejecuta a un OpenPictureDialog:

Código: Text
  1.  
  2. void __fastcall TForm1::Button_Buscar_FotoClick( TObject *Sender)
  3. {
  4.         if(OpenPictureDialog_Foto-&#62;Execute())//Verdadero si haces click en Aceptar
  5.         {
  6.                Image_Foto-&#62;Picture-&#62;LoadFromFile(OpenPictureDialog_Foto-&#62;FileName);
  7.                //para poner la foto que elegiste al TImage.
  8.  
  9.                strcpy(Direccion_Archivo_Foto, OpenPictureDialog_Foto-&#62;FileName.c_str() );
  10.                //Guardo la dirección en la variable &#34;Direccion_Archivo_Foto&#34;.
  11.         }
  12. }
  13.  
  14.  

y como ya tenés la dirección de la foto guardada en la variable global "Direccion_Archivo_Foto" no te da muchos problemas para manejar los datos.

Si querés cargar imagenes JPEG tenés que incluir la unidad jpeg.hpp:

#include <jpeg.hpp>

Espero haber ayudado.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #6 en: Miércoles 2 de Abril de 2008, 20:42 »
0
BIEN AHÍ!!!!! Así que vas a usar el OpenDialog???
Y SI es un examinar! Es el mismo que usa windows para todas sus aplicaciones que te permitan seleccionar un archivo en tu disco.

Bueno como te decian aca los vagos existe uno puntual que sirve para imágenes. que es el OpenPictureDialog que tmb se encuentra en la solapa dialogs.

Basta con ponér un botón en algún lado par llamar a este OpenPictureDialog de esta manera...

Código: Text
  1.  
  2. void __fastcall TForm1::BitBtn1Click(TObject *Sender)
  3. {
  4. if(OpenPictureDialog1-&#62;Execute())//Lo pongo dentro de un if en caso de que se apriete el boton CANCELAR
  5. Image1-&#62;Picture-&#62;LoadFromFile(OpenPictureDialog1-&#62;FileName);
  6. }
  7.  
  8.  

Y listo ya vas a tener un dialogo que te va a permitir buscar la imagen y previsualizarla! !! Spero que te haya servido!

exitos
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

Goselito_0

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #7 en: Jueves 3 de Abril de 2008, 13:53 »
0
No sabeis lo valiosa que es vuestra ayuda y lo bien que se siente uno cuando ve algo de luz en sus dudas  ;)

Tras probar vuestros codigos, y sin saber porque motivo ni a que esta relacionado, me sale un error en el centro de la pantalla con una "X" roja que dice:
"Project Project1.exe raised exception class EInvalidGraphic with message 'Unknown picture file extension (.lnk)'. Process stopped. Use stepor Run to continue."     (He intentado adjuntar la imagen en jpg pero no he sabido como)
Con la unica opcion de pulsar "OK", y tras esto se queda colgao el programa.

Esta relacionado con algo que estoy pasando por alto?

Gracias de nuevo, vuestra ayuda es de gran utilidad.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #8 en: Jueves 3 de Abril de 2008, 20:28 »
0
Estas tratando de cargar una imagen jpg seguramente...

lo que tenes que ahcer es incluir esto:

Código: Text
  1.  
  2.  
  3. #include &#34;jpeg.hpp&#34;
  4.  
  5.  
  6.  

Cone so seguramente ya te va a andar de 10!

exitos!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

Goselito_0

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: ¿porque Se Me Queda Colgado El Programa?
« Respuesta #9 en: Jueves 3 de Abril de 2008, 22:50 »
0
Vale! ya encontre el fallo,
me daba el error porque intentaba abrir la imagen desde un acceso directo en el escritorio.

Este tema me ha quedao claro :)

Seguire preguntando mis dudas en nuevos post. Muchisimas gracias.