Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   galeria de imagenes (https://www.clubdelphi.com/foros/showthread.php?t=65166)

crespopg 25-11-2009 15:19:59

galeria de imagenes
 
Estimados Miembros de Club Delphi,
Esta es mi propuesta para una galeria de imagenes.
Se requieren de los siguientes objetos:
Código Delphi [-]
    Brap:    TButton;
    Blen:    TButton;
    Bsalir:  TButton;
    Bdet:    TButton;
    Bini:    TButton;
    Image1:  TImage;
    Label1:  TLabel;
    Ltitulo: TLabel;
    Timer1:  TTimer;
    MediaPlayer1: TMediaPlayer;
Los archivos de las imagenes, deberan estar nombrados en forma consecutiva, ejemplo: P12.JPG
archivo: conf.txt
__________
ESCRIBIR AQUI EL TITULO DE LA PRESENTACION
Fo&tomont
&Videos
_________
La primera linea corresponde al titulo a utilizarse en la parte superior. las siguientes lineas se utilizan en otra aplicacion.
Se requiere del archivo canc2.mp3 que se utiliza como fondo.
En espera de sus comentarios, les saludo muy afectuosamente.
____________________________________________________________________________________________________ _______________
Código Delphi [-]
program ciclo;
uses
  Forms,
  ciclou in 'ciclou.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.HelpFile := 'indexa.hlp';
  Application.Title := 'Presenta Imagenes crespopg@yahoo.com (F:.13/11/2009,16:08:04)';
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
____________________________________________________________________________________________________ _______________
Código Delphi [-]
unit ciclou;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellApi, StdCtrls, jpeg, ExtCtrls, ComCtrls, MPlayer;
type
  TForm1 = class(TForm)
    Brap: TButton;
    Blen: TButton;
    Bsalir: TButton;
    Image1: TImage;
    Ltitulo: TLabel;
    Timer1: TTimer;
    MediaPlayer1: TMediaPlayer;
    Label1: TLabel;
    Bdet: TButton;
    Bini: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BsalirClick(Sender: TObject);
    procedure BrapClick(Sender: TObject);
    procedure BlenClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure BdetClick(Sender: TObject);
    procedure BiniClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  lins2:byte;
  arch:textFile;
  strt1,titulo:string;
  ult,i:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
 randomize;randomize;
 form1.Timer1.Interval:=2000;
 form1.Label1.Caption:=':.:';
 {ShellExecute(Form1.Handle,nil,Pchar('pres1a.wav'),'','',SW_SHOWNORMAL);}
 form1.Caption:='Presenta Imagenes crespopg@yahoo.com (F:.13/11/2009,16:08:05)';
 form1.Ltitulo.Caption:='Presenta Imagenes (F:.13/11/2009,16:08:05)';
 IF FileExists('canc2.mp3') Then
 Else Begin ShowMessage('Error: falta archivo canc2.mp3');Halt;End;
 Form1.MediaPlayer1.Open;
 form1.MediaPlayer1.Play;
 IF FileExists('conf.txt') Then
  Begin
   assignFile(arch,'conf.txt');Reset(arch);
   Readln(arch,titulo);
   CloseFile(arch);
  End
 Else Begin ShowMessage('Error: falta archivo conf.txt');Halt;End;
 form1.Ltitulo.Caption:=titulo;
 ult:=0;
 for i:=1 to 1000 do
  Begin
   str(i,strt1);
   If FileExists('P'+strt1+'.JPG') then ult:=i;
  End;
 str(ult,strt1);
 If FileExists('p'+strt1+'.jpg') then
  Form1.Image1.Picture.LoadFromFile('p'+strt1+'.jpg')
end;
procedure TForm1.BsalirClick(Sender: TObject);
begin
 Halt;
end;
procedure TForm1.BrapClick(Sender: TObject);
begin
 if form1.Timer1.Interval>=150 then form1.Timer1.Interval:=form1.Timer1.Interval-50;
 str(form1.Timer1.Interval,strt1);
 form1.Label1.Caption:='P='+strt1;
end;
procedure TForm1.BlenClick(Sender: TObject);
begin
 if form1.Timer1.Interval<32500 then form1.Timer1.Interval:=form1.Timer1.Interval+50;
 str(form1.Timer1.Interval,strt1);
 form1.Label1.Caption:='P='+strt1;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
     lins2:=random(ult);if lins2<=0 then lins2:=1;
     str(lins2,strt1);
     If FileExists('p'+strt1+'.jpg') then
      Form1.Image1.Picture.LoadFromFile('p'+strt1+'.jpg')
end;
 

procedure TForm1.BdetClick(Sender: TObject);
begin
 form1.Timer1.Enabled:=false;
end;
procedure TForm1.BiniClick(Sender: TObject);
begin
 form1.Timer1.Enabled:=true;
end;
end.
____________________________________________________________________________________________________ _______________

Neftali [Germán.Estévez] 25-11-2009 16:42:43

Hola, se agradece el aporte.
Hubiera sido más fácil seguramente colocar los fuentes del proyecto; Supongo que no has podido hacerlo debido a las restricciones anti-spam.
Si me lo envías por privado o por correo yo mismo lo subiré aquí.

Para próximos mensajes utiliza TAG's cuando añadas código delphi, ya que los hace más lejibles. En este caso ya las he añadido yo.

Un saludo.

Neftali [Germán.Estévez] 26-11-2009 16:59:40

1 Archivos Adjunto(s)
Os adjunto el fichero ZIP con el proyecto, que me ha pasado crespopg.

azkaban 08-10-2010 18:52:10

Cita:

Empezado por crespopg (Mensaje 347408)
Estimados Miembros de Club Delphi,
Esta es mi propuesta para una galeria de imagenes.
Se requieren de los siguientes objetos:
Código Delphi [-] Brap: TButton; Blen: TButton; Bsalir: TButton; Bdet: TButton; Bini: TButton; Image1: TImage; Label1: TLabel; Ltitulo: TLabel; Timer1: TTimer; MediaPlayer1: TMediaPlayer;

Los archivos de las imagenes, deberan estar nombrados en forma consecutiva, ejemplo: P12.JPG
archivo: conf.txt
__________
ESCRIBIR AQUI EL TITULO DE LA PRESENTACION
Fo&tomont
&Videos
_________
La primera linea corresponde al titulo a utilizarse en la parte superior. las siguientes lineas se utilizan en otra aplicacion.
Se requiere del archivo canc2.mp3 que se utiliza como fondo.
En espera de sus comentarios, les saludo muy afectuosamente.
____________________________________________________________________________________________________ _______________
Código Delphi [-]program ciclo; uses Forms, ciclou in 'ciclou.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.HelpFile := 'indexa.hlp'; Application.Title := 'Presenta Imagenes crespopg@yahoo.com (F:.13/11/2009,16:08:04)'; Application.CreateForm(TForm1, Form1); Application.Run; end.

____________________________________________________________________________________________________ _______________
Código Delphi [-]unit ciclou; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellApi, StdCtrls, jpeg, ExtCtrls, ComCtrls, MPlayer; type TForm1 = class(TForm) Brap: TButton; Blen: TButton; Bsalir: TButton; Image1: TImage; Ltitulo: TLabel; Timer1: TTimer; MediaPlayer1: TMediaPlayer; Label1: TLabel; Bdet: TButton; Bini: TButton; procedure FormCreate(Sender: TObject); procedure BsalirClick(Sender: TObject); procedure BrapClick(Sender: TObject); procedure BlenClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure BdetClick(Sender: TObject); procedure BiniClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; lins2:byte; arch:textFile; strt1,titulo:string; ult,i:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin randomize;randomize; form1.Timer1.Interval:=2000; form1.Label1.Caption:=':.:'; {ShellExecute(Form1.Handle,nil,Pchar('pres1a.wav'),'','',SW_SHOWNORMAL);} form1.Caption:='Presenta Imagenes crespopg@yahoo.com (F:.13/11/2009,16:08:05)'; form1.Ltitulo.Caption:='Presenta Imagenes (F:.13/11/2009,16:08:05)'; IF FileExists('canc2.mp3') Then Else Begin ShowMessage('Error: falta archivo canc2.mp3');Halt;End; Form1.MediaPlayer1.Open; form1.MediaPlayer1.Play; IF FileExists('conf.txt') Then Begin assignFile(arch,'conf.txt');Reset(arch); Readln(arch,titulo); CloseFile(arch); End Else Begin ShowMessage('Error: falta archivo conf.txt');Halt;End; form1.Ltitulo.Caption:=titulo; ult:=0; for i:=1 to 1000 do Begin str(i,strt1); If FileExists('P'+strt1+'.JPG') then ult:=i; End; str(ult,strt1); If FileExists('p'+strt1+'.jpg') then Form1.Image1.Picture.LoadFromFile('p'+strt1+'.jpg') end; procedure TForm1.BsalirClick(Sender: TObject); begin Halt; end; procedure TForm1.BrapClick(Sender: TObject); begin if form1.Timer1.Interval>=150 then form1.Timer1.Interval:=form1.Timer1.Interval-50; str(form1.Timer1.Interval,strt1); form1.Label1.Caption:='P='+strt1; end; procedure TForm1.BlenClick(Sender: TObject); begin if form1.Timer1.Interval<32500 then form1.Timer1.Interval:=form1.Timer1.Interval+50; str(form1.Timer1.Interval,strt1); form1.Label1.Caption:='P='+strt1; end; procedure TForm1.Timer1Timer(Sender: TObject); begin lins2:=random(ult);if lins2<=0 then lins2:=1; str(lins2,strt1); If FileExists('p'+strt1+'.jpg') then Form1.Image1.Picture.LoadFromFile('p'+strt1+'.jpg') end; procedure TForm1.BdetClick(Sender: TObject); begin form1.Timer1.Enabled:=false; end; procedure TForm1.BiniClick(Sender: TObject); begin form1.Timer1.Enabled:=true; end; end.

____________________________________________________________________________________________________ _______________

Hola,

Excelente aporte.

Soy nueva en el mundo de Delphi, por lo que desconozco de muchas cosas. Pero para este preciso ejemplo, como se manda llamar las imagenes?

Mencionas que deben tener los archivos de imagenes un nombre consecutivo, ya lo tienen (en mi caso), tengo mis imagenes dentro de un folder, cuyo folder esta dentro del folder donde esta guardado el proyecto.

En el codigo veo mencionado 'p' no se si a esto se refiera a la imagen?

Perdon por tantas preguntas, pero apenas estoy tratando de entender el mundo de Delphi.

Gracias.

Ñuño Martínez 14-10-2010 15:20:23

Hola azkaban. Te recomiendo que te leas la Guía de estilo, ya que has contestado a un hilo viejo y dudo que alguien te conteste. Lo mejor es que crees un nuevo hilo con un enlace o referencia a este y que plantees ahí las preguntas.

Un saludo y bienvenido al Club.:)

Neftali [Germán.Estévez] 14-10-2010 17:13:01

Bueno, hay que decir que vBulletin avisa a los participantes de ese hilo, así que siempre hay la posibilidad de que alguno de los antiguos te conteste... ;)

En concreto, segun el código:

Código Delphi [-]
  FileExists('P'+strt1+'.JPG') then ult:=i;
  ...

Parace entender que las imágenes deben estar en el mismo directorio que el ejecutable y se deben llamar: p0.jpg, p1.jpg, p2.jpg,...

Neftali [Germán.Estévez] 14-10-2010 17:13:55

Cita:

Empezado por Ñuño Martínez (Mensaje 379277)
... ya que has contestado a un hilo viejo y dudo que alguien te conteste...

Siempre hay algun despistado que pica... ;)


La franja horaria es GMT +2. Ahora son las 18:10:18.

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