Hallo zusammen,
ich möchte die Möglichkeit einbauen alle Formate(z.B. Bildformate) jedoch haut er mir hier ständig eine Datei namens "Desktop.ini" rein.
gibt es eine Möglichkeit dies auszuschließen an der stelle dirInfo.GetFiles("*.*Ausnahme von ".ini"")
// prüft ob alle Formate Ausgewählt sind
if (checkBox1.Checked == true)
{
foreach (FileInfo fInfo in dirInfo.GetFiles("*.*"))
{
listeBilder.Add(new Bild(fInfo));
}
}
else
{
foreach (CheckBox box in cb)
{
if (box.Checked == true)
{
Auswahl.Add(box);
}
}
foreach (CheckBox format in Auswahl)
{
foreach (FileInfo fInfo in dirInfo.GetFiles("*." + format.Text))
{
listeBilder.Add(new Bild(fInfo));
}
}
}
Falls Relevant, ich möchte alle Bilder eines Ordners in eine Liste packen, die Metadaten kommen in eine Datenbank, danach wird eine Verzeichnisstruktur angelegt welche auf dem Erstellungsjahr basiert....bis hier läuft alles.
Abschließend lasse ich alle Bilder anzeigen und hier springt er raus da " .ini " zum Abbruch führt.
Diese sollte aber gar nicht ausgewählt worden sein 😦
Freue mich über Hilfe
Hallo Dragonfight86,
du könntest in der Schleife prüfen, ob der Dateiname auf ".ini" endet und dann mit continue direkt zum nächsten Element springen.
Hallo Dragonfight86,
Vielleicht kannst du das hier anpassen:
[Snippet] Verzeichnisse und Dateien rekursiv durchlaufen
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
GetFiles liefert dir alles, daher auch die Desktop.ini. Die liegt ja tatsächlich im Verzeichnis.
Entweder siehe Antwort von pinki, oder wenn du nicht "alles außer" sondern laut deiner Beschreibung eigentlich vielmehr "nur bestimmte" Treffer haben willst, kannst du auch alles rausfiltern was kein Bildformat ist. Sonst liegt mal eine Textdatei im Verzeichnis, dann fängst du wieder an die zu filtern.
Ah daran habe ich nicht gedacht, gibt es da schon eine Funktion um direkt nur Bilddateien anzusprechen?
ich habe zwar 10 CheckBoxen, wobei jede für ein Format steht, doch sind hier nur die gängigen hinterlegt. Da wir ja bequem sind wäre eine automatische Auswahl ja wesentlich schöner.....
CheckBox[] cb = new CheckBox[] { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8, checkBox9, checkBox10, checkBox11 };
Wenn du nur Bilddateien möchtest, dann probiers doch mit
if(Dateiname.Split('.')[1] == "gif")
du kannst dann ja alle Bildformate mit | hinzufügen
So kannst du aber auch direkt auf '.ini' abfragen und dann bei Bedarf continue ausführen
OO gibts seit Platon - hatte der auch C#?
So doch nicht, dafür gibt es Path.GetExtension().
CWolle: nimm mal "x.y.gif" als Dateiname...