Autor Beitrag
HoPPeL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mi 19.01.11 21:15 
Hiho,

Zur Zeit öffne ich mit openfiledialog ein Bild und führe dann daran diverse Operationen durch. Nun möchte ich aber, dass aus einem Ordner der Reihe nach alle in diesem enthaltenen Bilder eingelesen werden. Also 1. Bild, eine Sekunde später dann Bild 2.

So wahrscheinlich brauche ich dafür einen timer, aber :

1. gibts sowas wie openfiledialog, bloß halt openpath oder so. Möchte ja nur den Pfad angeben, wo sich die Bilder befinden.
2. Ich weiß vorher nicht, wie die Bilder heißen, aber auf jeden fall sind sie durchnummeriert also z.B: bild00001.bmp
wie also bekomm ich es hin, dass bei bild 1 angefagen wird und dann der reihe nach alle durchgegangen werden?

mfg
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Mi 19.01.11 21:55 
"openfiledialog mit ordnern" wär der FolderBrowserDialog. mit diesem kannst du ein Verzeichnis auf der Festplatte auswählen. Den Inhalt dieses Verzeichnisses bekommst du mit Directory.GetFiles()
HoPPeL Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 20.01.11 13:16 
super danke für die hilfe, funktioniert jetzt alles Tadellos.
Habe aber nochmal eine Frage wegen "sauberer Programmierung"

Um jede Sekunde ein neues Bild zu laden, habe ich mir einen Timer erstellt, und in dessen Tickevent führe ich die Durchzählung des Arrays durch
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  private void timer1_Tick(object sender, EventArgs e)
        {
            pictureBox1.ImageLocation = Filenames[I];

           .
           .
           .
        
            I++;
        }


Wobei dann Filenames und I Klassenvariablen sind.
Irgendwie erscheint mir das aber nicht sauber?!

mfg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4807
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 20.01.11 15:23 
Hi,

der Zugriff von einem Timer auf Membervariablen ist schon in Ordnung so. Du könntest alternativ natürlich den Timer noch in eine eigene Klasse (inkl. der benötigten Membervariablen) packen. Wenn du mehrere Timer hättest, welche alle dieselbe Tick-Methode benutzen würden, aber unterschiedliche Daten benötigen, so könnte man auch die Eigenschaft 'Tag' dafür benutzen (mit der Instanz einer eigenen Datenklasse).