Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   carga de un gráfico desde un OpenPictureDialog (https://www.clubdelphi.com/foros/showthread.php?t=49442)

serg 22-10-2007 03:44:26

carga de un gráfico desde un OpenPictureDialog
 
Hola a todos:
Necesito cargar un grafico en un TImages y para ello ejecuto un OpenPictureDialog, pero el hecho es que me da un error, alguien pudiera indicarme el código correcto para hacerlo. Requiero poder permitirle al cliente poder seleccionar el gráfico de su conveniencia.

Cannabis 22-10-2007 12:29:38

Código Delphi [-]
if OpenPictureDialog1.Execute then
  TImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Sería bueno, para la próxima, que mostraras el código que utilizas para entender mejor tu problema.

Salud.

serg 23-10-2007 04:10:45

Ok, lo tendré en cuenta para la próxima.
Lo coloqué en el OnClose del OpenPictureDialog y sencillamente no se cierra ni se carga el gráfico. ¿Podrías decirme en que evento se coloca el código?, gracias de antemano.
Perdona que una cosa tan sencilla a mi me parezca lo más complicado, pero a esto no he logrado atinarle. De nuevo gracias.

dec 23-10-2007 04:13:26

Hola,

Basta con ejecutar el método "Execute()" del diálogo. Si dicho método retorna "true", significa que el usuario eligió un archivo y pulsó "aceptar" en el diálogo; si el método retorna "false", significa que el usuario no eligió ningún archivo, o, dicho de otro modo, "canceló" el diálogo.

Por eso el compañero puso un código como:

Código Delphi [-]
if OpenPictureDialog1.Execute then
  TImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Es decir, se llama al método "Execute()" del diálogo, y, sólo si retorna "true", se puede usar su propiedad "FileName", que contendrá la ruta completa del archivo elegido por el usuario.

serg 23-10-2007 05:36:20

Hola de nuevo, este es un extracto de mi código:

procedure TForm1.presentacion1Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
end;
procedure TForm1.OpenPictureDialog1Close(Sender: TObject);
var
ns:tfilename;
begin
if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

Donde: presentacion1Click es una opción del menú principal.
La intención es que al seleccionar esta opción en el menú se abra el cuadro de diálogo OpenPictureDialog y en el momento que de aceptar se cambie la figura de fondo.
El hecho es que así no me funciona, si alguién pudiera proponerme algo, le estaría muy agradecido. De antemano muchisimas gracias.

Delphius 23-10-2007 05:53:55

Hola serg,
Estas interpretando incorrectamente el código que te han expuesto.

Debes colocar el código que amablemente expone Dec dentro del evento de algún control en que deseas que se ejecute la acción.
Por ejemplo en tu caso debe ser así:

Código Delphi [-]
procedure TForm1.presentacion1Click(Sender: TObject);
begin
// Excecute se encarga de mostrar el cuadro de díalogo. Devuelve
// TRUE si se aceptó o FALSE si se canceló el díalogo
if  OpenPictureDialog1.Execute // ¿Se aceptó abrir el archivo?
    then Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

Espero que ahora esté más claro.
Como consejo tu sugiero que uses la etiquetas [ DELPHI ] [ /DELPHI ] (sin los espacios) para que el código que expones se entienda mejor.

Saludos,

serg 24-10-2007 04:06:37

Muchas gracias a todos, ya resolví el problema con sus consejos.


La franja horaria es GMT +2. Ahora son las 09:59:08.

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