Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 4 bilder sollen nacheinander angezeigt werden.... (https://www.delphipraxis.net/53307-4-bilder-sollen-nacheinander-angezeigt-werden.html)

vogael 13. Sep 2005 23:45


4 bilder sollen nacheinander angezeigt werden....
 
Guten Tag,
ich bräuchte mal einen Tipp, wie man das hinkriegt, dass 4 Bilder an einer Stelle nacheinander angezeigt werden. Also mit einem timer.
Also, wenn der Timer aktiviert ist, soll in dem angegeben Intervall immer das Bild gewechselt werden, wenn alle 4 durch sind soll's wieder von vorne anfangen.... und ich hab kein Plan wie das geht, bin absolut neu in Delphi.....
Ich sag dann schonmal danke ;)

Matze 13. Sep 2005 23:59

Re: 4 bilder sollen nacheinander angezeigt werden....
 
Hallo!

Herzlich willkommen in der DP! :thumb:


Mal auf die Schnelle:

Delphi-Quellcode:
var
  Form1: TForm1;
  i: integer = 1; //Zählvariable mit Anfangswert 1

implementation

{$R *.dfm}

//Im OnCreate zum Beispiel das Intervall festlegen, nachdem die Bilder gewechselt
//werden sollen. Bsp:
//
// Timer1.Intervall := 2000; // in Millisekunden (hier: 2 Sek)

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //Bild laden (die Dateinamen lauten hier 'Bild1.bmp', 'Bild2.bmp', ...
  //Für Jpg-Bilder ganz oben die Unit 'JPEG' aufnehmen ( uses ... , JPEG; )
  Image1.Picture.LoadFromFile('c:\Bild' + IntToStr(i) + '.bmp');

  //---------------------------------------------------------------------------------
  //Falls du andere Dateinamen ohne Zahlen verwenden möchtest, musst du das Bild so laden
  //und nicht, wie oben beschrieben:
  case i of
    1: Image1.Picture.LoadFromFile('c:\haus.bmp');
    2: Image1.Picture.LoadFromFile('c:\baum.bmp');
    3: Image1.Picture.LoadFromFile('c:\apfel.bmp');
    4: Image1.Picture.LoadFromFile('c:\birne.bmp');
  end;
  //---------------------------------------------------------------------------------

  inc(i); //Zählvariable erhören

  if i = 5 then //bei 4 Bildern (ein 5. Bild gibt's ja nicht, also zurück zu Bild 1)
    i := 1;
end;
Das ist so ausführlich, weil du sagtest, du seist Anfänger. Falls das alles für dich selbstverständlich war, einfach die Kommentare überlesen. ;)

vogael 14. Sep 2005 14:06

Re: 4 bilder sollen nacheinander angezeigt werden....
 
hey, danke :)
hab noch eine kleine Frage. Kann man die Bilder auch aus einer ImageList benutzen?? Wie man Bilder da rein kriegt weiß ich, aber nicht, wie man dann darauf zugreift,.

Khabarakh 14. Sep 2005 14:16

Re: 4 bilder sollen nacheinander angezeigt werden....
 
Über die Methode Delphi-Referenz durchsuchenTImageList.GetBitmap kannst du ein Bild der ImageList in ein TBitmap kopieren. Die Methode hat auch einen Rückgabewert, der angibt, ob keine Fehler aufgetreten sind:
Delphi-Quellcode:
if not ImageList1.GetBitmap(i, Image1.Picture.Bitmap) then
  // Irgendetwas schiefgegangen

vogael 14. Sep 2005 17:38

Re: 4 bilder sollen nacheinander angezeigt werden....
 
kuel, hab's hingekriegt, danköööööö :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz