Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Slideshow durchlaufen lassen? (https://www.delphipraxis.net/59469-slideshow-durchlaufen-lassen.html)

Jonas 22. Dez 2005 20:58


Slideshow durchlaufen lassen?
 
Hi, ich wollte mal fragen wie man die Slideshow auf sozusagen *repeat* stellen kann, damit sie die Bilder immer wieder von vorne ausließt?

Bekomme, sobald sie einmal durchgelaufen ist diesen Fehler:
Im Projekt ist eine Exception der Klasse EStringList Error augetreten. Meldung :"Listenindex überschreibt das Maximum (5)'.
Prozess wurde angehalten.

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
      inc(bildnummer);
      image2.picture.loadfromFile(filelistbox1.directory + '\' + filelistbox1.items[bildnummer]);
end;
Anbei wollt ich fragen, wie ich in der FileListBox den Ordner *Eigene Dateien* verlinken kann? ^^ mit ner ShellListView ist es ja ganz einfach, aber mit ner FileListBox, ka ^^

Khabarakh 22. Dez 2005 22:03

Re: Slideshow durchlaufen lassen?
 
Du darfst den Index natürlich nicht bis ins Undendliche hochzählen.
Delphi-Quellcode:
Bildnummer := (Bildnummer + 1) mod FileListBox1.Items.Count;
Aber kann es sein, dass du dich in der Sprache etwas verklickt hast? Oder gibt es wirklich jemanden, der für ein neues Projekt VCL.NET verwendet :stupid: ?

Jonas 22. Dez 2005 22:09

Re: Slideshow durchlaufen lassen?
 
Dankeschön, funktioniert super :)

Ähm...joa...könnt schon zutreffen ^^ +ups+

Hat noch wer ne idee wie ich bei ner FileListBox den Ordner *Eigene Dateien* verlinken kann? ^^

marabu 23. Dez 2005 06:31

Re: Slideshow durchlaufen lassen?
 
Hallo Jonas,

probiere es so:

Delphi-Quellcode:
uses
  ActiveX,
  ShlObj;

function GetSpecialFolderLocation(csidl: integer): string;
var
  pMalloc: IMalloc;
  pidl: PItemIDList;
  path: array [0..MAX_PATH] of Char;
begin
  Result := '?';
  if SHGetMalloc(pMalloc) = S_OK then
  begin
    SHGetSpecialFolderLocation(0, csidl, pidl);
    SHGetPathFromIDList(pidl, path);
    Result := IncludeTrailingPathDelimiter(Path);
    pMalloc.Free(pidl);
  end;
end;

procedure TDemoForm.FormCreate(Sender: TObject);
begin
  FileListBox.Directory := GetSpecialFolderLocation(CSIDL_PERSONAL);
end;
Grüße vom marabu

Jonas 23. Dez 2005 09:41

Re: Slideshow durchlaufen lassen?
 
Dankeschön funktioniert Prima :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.

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