Ver Mensaje Individual
  #6  
Antiguo 13-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Le estoy dando vueltas a tu pregunta y no tengo muy claro lo que quieres. dec supone que tu tienes la imagen que quieres cargar dentro del directorio de tu aplicación o en un subdirectorio de la misma, y que tu duda es como poder encontrarla. Si es así la respuesta de dec es correctisima ... bueno quizá quitándole una pequeña errata
Código Delphi [-]
  Image1.Picture.LoadFromFile(rutaImagen);

Ahora bien, puede que tu estés preguntando por un método para incluir una imagen dentro de tu ejecutable por código. Eso ya es un poco mas complicado, partiendo de que un ejecutable no se puede modificar a si mismo y que la imagen se tendría que agregar como un recurso. Se podría hacer, pero no creo que valga la pena.

Por ultimo también se me ocurre que puedes estar preguntando como mostrar un cuadro de dialogo para seleccionar una imagen, y que en sucesivas ejecuciones ya siempre se utilice la misma ruta. Eso ya es mas sencillo, por ejemplo para obtener la ruta, y guardarla:

Código Delphi [-]
begin
  with TOpenDialog.Create(nil) do
  try
    if Execute then
    begin
      Image1.Picture.LoadFromFile(Filename);
      with TStringList.Create do
      try
        Values['Ruta']:= ExpandFileName(Filename);
        SaveToFile(ChangeFileExt(ParamStr(0),'.ini'));
      finally
        Free;
      end;
    end;
  finally
    Free;
  end;
end;

El código anterior puedes ponerlo por ejemplo dentro de un botón. Ahora ya tenemos la ruta de la imagen en nuestro archivo de inicio, ahora solo falta que cuando se inicie la aplicación comprobemos si hay alguna ruta guardada y carguemos la imagen. Por ejemplo en el evento OnCreate del formulario coloca esto:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  if FileExists(ChangeFileExt(ParamStr(0),'.ini')) then
  with TStringList.Create do
  try
    LoadFromFile(ChangeFileExt(ParamStr(0),'.ini'));
    if Values['Ruta']<>'' then
      Image1.Picture.LoadFromFile(Values['Ruta']);
  finally
    Free;
  end;
end;
Responder Con Cita