Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Diashow (https://www.delphipraxis.net/11450-diashow.html)

Uncle Cracker 6. Nov 2003 20:47


Diashow
 
Ich würde gern eine Diashow mit bildern aus einem ordner machen, wie kann ich das umsetzten?

Also, es sollte so sein wie der Bildschirmschoner unter Windows XP der die Eigene Dateien Bilder anzeigt werden.


Wenn jemand vielleicht eine Idee hat, würde ich mich freuen.


:love: Danke UC

Daniel B 6. Nov 2003 21:01

Re: Diashow
 
Ja und? Was hast Du bis jetzt schon gemacht? Wo hängst?

Siehe FindFirst usw., um alle Files in einem Ordner zu finden und in einer Liste zu speichern. Form auf Vollbild schalten mit schwarzem Hintergrund. Danach die Bilder im beliebigen Abständen in einem Image anzeigen, oder gleiche eine ImageList benutzen. ;)

Uncle Cracker 6. Nov 2003 22:35

Re: Diashow
 
Ich habe das jetzt so:

Delphi-Quellcode:
function GetToken(aString, SepChar: string; TokenNum: Byte): string;
var
  Token: string;
  StrLen: Byte;
  Num: Byte;
  EndofToken: Byte;
begin
  StrLen    := Length(aString);
  Num       := 1;
  EndofToken := StrLen;
  while ((Num <= TokenNum) and (EndofToken <> 0)) do
  begin
    EndofToken := Pos(SepChar, aString);
    if EndofToken <> 0 then
    begin
      Token := Copy(aString, 1, EndofToken - 1);
      Delete(aString, 1, EndofToken);
      Inc(Num);
    end
    else
      Token := aString;
  end;
  if Num >= TokenNum then
    Result := Token
  else
    Result := '';
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  s, path: string;
  i  : integer;
  stl : tstringlist;
begin
//Dateien in Listbox laden (Erweiterung noch da)
   Listbox1.Items.Clear;
   path:=edit1.Text+'\*.jpg'#0;
   s := path;

   ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
   listbox1.ItemIndex:=0;

  stl:=tstringlist.Create;
  try
    for i := 0 to listbox1.items.count - 1 do
    begin
      stl.Add(GetToken(listbox1.items.strings[listbox1.itemindex], '.', 1));
      listbox1.ItemIndex:=listbox1.ItemIndex+1;
    end;
    listbox1.Items.CommaText:=stl.commatext;
  finally
    stl.Free;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
Image1.Picture.LoadFromFile(ListBox1.Items[ListBox1.ItemIndex]);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;

Bei mir kommt jetzt aber immer die Meldung: (.JPG) unbekannte Bilddatei.

Was ist denn nun das Problem?


:love: Danke UC

Daniel B 6. Nov 2003 22:41

Re: Diashow
 
Für Jpegs muss man die Unit JPEG einbinden.

Uncle Cracker 6. Nov 2003 22:46

Re: Diashow
 
Ich Trottel :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall:

:love: Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 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