![]() |
Bilderanzahl ermitteln
Hi
Ich möchte eine Diashow mit delphi erstellen. bis jetzt funktioniert es auch ganz gut. das einzige problem das ich habe, ist, das ich nicht weiß, wie ich es hinbekomme, dass der Benutzer eine unbestimmte anzahl an Bildern Einfügen kann. mit einer Festgelegten anzahl weiß ichs, dann müsste er nur noch die bilder so umbennen, wie sie bei mir im quelltext stehen. aber wie kriege ich das hin, das er selber eine bestimmte anzahl eingeben kann, und das sich dann meine CASE OF anweisung umschreibt, oder muss ich das vollkommen anders lösen, als mein ansatz Coder Hier mal ein stück des Quelltextes:
Delphi-Quellcode:
ich bitte um hilfe, ich bin schon vollkommen verwirrt
unit oberflaeche;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, Buttons; type TForm1 = class(TForm) Image1: TImage; Button_rueck: TButton; Button_vor: TButton; Button_ende: TButton; Timer1: TTimer; ScrollBar1: TScrollBar; Label_sek: TLabel; Button1: TButton; Label_ge: TLabel; Edit1: TEdit; Timer2: TTimer; Button_manuel: TButton; Edit_bilder: TEdit; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure Button_manuelClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button_rueckClick(Sender: TObject); procedure Button_endeClick(Sender: TObject); procedure Button_vorClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; v_bildnummer:integer = 0; //Beim Starten des Programmes wird kein Bild angezeigt v_bildmax:integer = 4; //Anzahl der Bilder insgesamt implementation {$R *.dfm} procedure p_bildzeigen; //Procedur zue Anzeige des aktuellen Bildes var v_datname:string; //Variable zur Ausgabe der Bilddatei begin v_datname:=' '; //Initialisierung der lokalen Variable case v_bildnummer of //zur Bildnummer wird die entsprechende Bilddatei zugeordnet 1: v_datname:='b01.jpg'; 2: v_datname:='b02.jpg'; 3: v_datname:='b03.jpg'; 4: v_datname:='b04.jpg'; end; if v_datname <> ' ' then // laden das Bildes in den Arbeitspeicher form1.image1.Picture.loadfromfile (v_datname); end; procedure TForm1.Button_vorClick(Sender: TObject); begin if v_bildnummer < v_bildmax then v_bildnummer := v_bildnummer +1 //Bild geht ein Bild weiter else v_bildnummer := 1; //Nach dem letzten bild gehts wieder von vorne los p_bildzeigen; end; procedure TForm1.Button_endeClick(Sender: TObject); begin close; end; procedure TForm1.Button_rueckClick(Sender: TObject); begin if v_bildnummer >1 then v_bildnummer := v_bildnummer - 1 else v_bildnummer := v_bildmax; p_bildzeigen; end; Question....ich weiß schon nicht mehr, was ich schreibe. Jedenfalls ist dieses Beispiel auf 4 Bilder beschränkt.Es tut mir auch leid, das ich hier soviel quelltext reinposte, aber ich weiß nicht genau, was ihr alles braucht(hab noczh nicht alles gepostet, das mit dem automatisch kram müsste ich weggelassen haben). [edit=Sharky]Delphi-Tags gesetzt und fehlerhafte HTML-Links entfernt. Mfg, Sharky[/edit] |
Re: Bilderanzahl ermitteln
Am besten ist es, wenn du dir dafür eine Liste anlegst. Ich weiß jetzt nicht ob eine Liste aus Pointern besser ist als eine aus einem Objekt, ich benutze immer das Objekt und mache es unsichtbar.
In der Liste kannst du alle Dateinamen für die Diashow einfügen, einen Index setzen und den bei jedem Klick auf weiter erhöhen und bei Zurück eben erniedrigen. Dann zeigst du das aktuelle Bild an, wo gerade der Index steht. Falls der Index über die Größe der Liste gehen sollte, setzt du ihn einfach wieder auf 0 zurück. Ich weiß jetzt nicht ob es das ist was du suchst, hoffe aber mindestens dass ich dir irgendwie helfen konnte. Flare |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist nichts für die Code-Library... |
Re: Bilderanzahl ermitteln
Willkommen in der DP.
Nunja, der Code ist ja soweit ok, aber es fehlt halt die Flexibilität. Verwende eine Listbox, der fügst du dann per Opendialog diene Bilderdateien hinzu. Die Anzahl der Einträge kannst du dann mit Listbox.Items.Count ermitteln und das anschlies end zB. mit einer Zählervariable den Dateinamen aus der Liste ermitteln und in einem Image anzeigen. Um die Bilder (deren Dateinamen) auch beim nächsten Programmstart zur verfügung zu haben kannst du einfach die Eigenschaft Listbox.Items.SaveToFile(...) benutzen um die Einträge in der Listbox in eine Datei zu speichern oder mit Listbox.Items.LoadFromFile(...) wieder zu laden. PS.: - Smilys werden durch einfaches Anklicken in den Text eingefügt. - Wenn du deinen Quellcode in Delphi-Tag's ( Tastenkombi. Alt + d ) setzt schaut das besser aus. |
Re: Bilderanzahl ermitteln
Vielen dank für die beiden antworten, ich werde mich gleich dran setzen und das ausprobieren, auch danke für die foren tipps :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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-2025 by Thomas Breitkreuz