Ver Mensaje Individual
  #8  
Antiguo 04-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra alternativa es cargar todas las imágenes de una carpeta en algun punto de tu código e ir mostrándolas.
En el código de ejemplo que te adjunto se cargan de forma fija en el evento OnShow, pero podrías elegir la carpeta por otro medio.
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, ExtCtrls, Contnrs;

type
  TForm1 = class(TForm)
    Image1: TImage;
    btSiguiente: TButton;
    btAnterior: TButton;
    procedure FormShow(Sender: TObject);
    procedure btSiguienteClick(Sender: TObject);
    procedure btAnteriorClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FPtr: Integer;  // Apuntador a imágen actual
    FObjLst: TObjectList;
    procedure LeerJPGS(const Ruta: string);
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}


uses JPeg;

procedure TForm1.LeerJPGS(const Ruta: string);
var
  SR: TSearchRec;
  Img: TImage;
begin
  if FindFirst(Ruta+'\*.JPG',faArchive, SR) = 0 then
  begin
    repeat
      Img:= TImage.Create(Self);
      Img.Picture.LoadFromFile(Ruta+'\'+SR.Name);
      FObjLst.Add(Img);
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  FPtr:= 0;  
  FObjLst:= TObjectList.Create;
  LeerJPGS('C:\Users\Usuario\Pictures');
  Image1.Stretch:= True;
  Image1.Picture:= TImage(FObjLst.Items[FPtr]).Picture; // mostrar 1ra
end;

procedure TForm1.btSiguienteClick(Sender: TObject);
begin
  if FPtr < FObjLst.Count then Inc(FPtr);
  Image1.Picture:= TImage(FObjLst.Items[FPtr]).Picture;
  
end;

procedure TForm1.btAnteriorClick(Sender: TObject);
begin
  if FPtr > 0 then Dec(FPtr);
  Image1.Picture:= TImage(FObjLst.Items[FPtr]).Picture;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Assigned(FObjLst) then
    FObjLst.Free;
  Action:= caFree;
end;

end.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-06-2011 a las 19:33:49.
Responder Con Cita