Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Timage per Button nächstes Bild einen Verz. (https://www.delphipraxis.net/119885-timage-per-button-naechstes-bild-einen-verz.html)

capo 2. Sep 2008 20:51


Timage per Button nächstes Bild einen Verz.
 
Hallo,
ich öffne per Buttonclick ein Bild aus einem Ordner.
Delphi-Quellcode:
Image32.Bitmap.LoadFromFile(extractfilepath(application.exename) + 'Zeichnungen\Bild 006a.jpg');
In diesem Ordner sind noch x andere Bilder.
Wie kann ich nun mit zwei anderen Buttons (vor- und zurückbutton), ohne die Bildnamen der einzelnen Bilder zu kennen, jedes Bild anzeigen und navigieren (vor und zurück?
Sind alles Jpeg's.

Gruss
Capo

mkinzler 2. Sep 2008 20:57

Re: Timage per Button nächstes Bild einen Verz.
 
Ermittle die Dateien des Ordners (.FindFirst/.FindNext)

capo 2. Sep 2008 21:10

Re: Timage per Button nächstes Bild einen Verz.
 
Hallo,
stimmt das klappt damit:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var I:Integer;
SearchRec: TSearchRec;
begin
 i := FindFirst(extractfilepath(application.exename) + 'Zeichnungen\*.jpg', faAnyFile, SearchRec);
        while i = 0 do
        begin
          ListBox1.Items.Add(SearchRec.Name);
          i := FindNext(SearchRec);

        end;
        FindClose(SearchRec);
end;
Wie kann ich nun eins nach dem nächsten Bild anzeigen und wieder bei dem ersten anfangen wenn das Ende ereicht ist bzw. zurück navigieren?

mkinzler 2. Sep 2008 21:15

Re: Timage per Button nächstes Bild einen Verz.
 
Ich würde die Bildernamen in eine Liste schreiben und dann mit Hilfe der, duurch die Bilder iterieren

capo 2. Sep 2008 21:44

Re: Timage per Button nächstes Bild einen Verz.
 
Was meinst du mit iterieren?
Hast du ein Delphi-Beispiel für mich wie ich das mit den Bildern machen kann?

mkinzler 2. Sep 2008 21:54

Re: Timage per Button nächstes Bild einen Verz.
 
Iterieren=durchlaufen

Delphi-Quellcode:
i := 0;
while not Ende
begin
    Image32.Bitmap.LoadFromFile(Bilder[i]);
    //hier Abbruchbedingung setzen
    if i > High( Bilder) then i := 0;
end;

capo 2. Sep 2008 22:04

Re: Timage per Button nächstes Bild einen Verz.
 
Danke.
Ich verwende ja eine Listbox um mir den Inhalt des Ordners anzuzeigen
Wie kann ich die in deinem Beispiel verwenden?
Zitat:

Ende - (Bilder[i] - High( Bilder)
.

DeddyH 3. Sep 2008 07:57

Re: Timage per Button nächstes Bild einen Verz.
 
Wenn die Dateinamen sowieso schon in einer ListBox stehen, kannst Du doch deren Items verwenden.

capo 3. Sep 2008 09:37

Re: Timage per Button nächstes Bild einen Verz.
 
Momentan mache ich es so:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i :integer;
s:string;
begin
 for i := 0 to listbox1.Items.Count - 1 do
  begin
    if ListBox1.Selected[i] then
    begin
      s := listbox1.Items[i];
      Image32.Bitmap.LoadFromFile(extractfilepath(application.exename) + 'Zeichnungen\'+s);
     end;
  end;
end;
Ich markiere per Button die einzelnen Zeilen und führe dann obeigen Code aus.
Ist bestimmt nicht besonders elegant.

Gruss
Capo

Sharky 3. Sep 2008 09:46

Re: Timage per Button nächstes Bild einen Verz.
 
Hai capo,

Delphi-Referenz durchsuchen.ItemIndex sollte Dir eigentlich den Index des markierten Eintrages der ListBox zurück geben. Du musst also nicht die ganze Liste durchlaufen um zu sehen welcher Eintrag markiert ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Seite 1 von 2  1 2      

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