AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilderanzahl ermitteln

Ein Thema von BoB89 · begonnen am 3. Mär 2006 · letzter Beitrag vom 4. Mär 2006
Antwort Antwort
BoB89

Registriert seit: 3. Mär 2006
3 Beiträge
 
#1

Bilderanzahl ermitteln

  Alt 3. Mär 2006, 20:07
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:
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;
ich bitte um hilfe, ich bin schon vollkommen verwirrt
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]
Ein Mensch sollte nie mehr Staub aufwirbeln als er bereit ist zu schlucken.
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Bilderanzahl ermitteln

  Alt 3. Mär 2006, 20:24
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
Willy Scheibel
  Mit Zitat antworten Zitat
3. Mär 2006, 20:27
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...
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Bilderanzahl ermitteln

  Alt 3. Mär 2006, 20:35
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.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
BoB89

Registriert seit: 3. Mär 2006
3 Beiträge
 
#5

Re: Bilderanzahl ermitteln

  Alt 4. Mär 2006, 18:44
Vielen dank für die beiden antworten, ich werde mich gleich dran setzen und das ausprobieren, auch danke für die foren tipps
Ein Mensch sollte nie mehr Staub aufwirbeln als er bereit ist zu schlucken.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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