Laden...

Verzeichnis auslesen (mal wieder)

Erstellt von Dial vor 18 Jahren Letzter Beitrag vor 18 Jahren 4.816 Views
D
Dial Themenstarter:in
37 Beiträge seit 2005
vor 18 Jahren
Verzeichnis auslesen (mal wieder)

Hallo Leute, ich bräuchte nen kleinen Tip zum AUslesen eines Verzeichnisses.
Ich lese meine Verzeichnis mit dem folgenden Code aus.


int counter = 0;              
string[] files = System.IO.Directory.GetFiles(path);             
       while (counter < files.Length)             
       {                 
             this.CheckBox.Items.Insert(0,files[counter]);                  
             counter++;             
       }

In der CheckBox steht jetzt leider auch das Verzeichnis + die Dateiendung dabei.
( z.B. config\color.txt)
Hab ihr mir nen Tip wie ich das Verzeichnis sowie die Dateiendung da wegbekomme.

Danke schonmal

564 Beiträge seit 2006
vor 18 Jahren

Hi Dial!

Probier es mal mit folgenden Befehlen:

Path.GetFileName(files[counter]);
Path.GetFileNameWithoutExtension(files[counter]);

Die geben beide einen String zurück.

Benutz doch bei der Schleife eine For- statt einer While-Schleife, da ist das Hochzählen des counter von vornherein mit implementiert.

Viel Spaß! 🙂

Gruß, der Marcel

PS: Das Initialsieren von int counter NUR für die Schleife ist bei For auch enthalten. So gäbe es auch keine Probleme, wenn Du mehrere Schleifen hintereinander durchläufst...bei deiner Lösung müsstest Du counter erst vor jeder Schleife "resetten". --> Die Lösung ist meiner Meinung nach absolut unpraktisch und stellt einen potentiellen Fehlerherd dar 🙂

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo zusammen,

noch besser ist eine foreach-Schleife, da man da gar keinen Counter (=eine potentielle Fehlerquelle) braucht.

herbivore

1.696 Beiträge seit 2006
vor 18 Jahren

DirectoryInfo folder = new DirectoryInfo(sourceFolder);
FileInfo[] files = folder.GetFiles();

und z.B. mit Substring die Extension abschneiden

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo vbprogger,

Substring ist keine gute Idee. Marcels Vorschlag ist die professionelle Variante.

herbivore

1.696 Beiträge seit 2006
vor 18 Jahren

bin ja auch Anfänger, thx für den Tipp, hab nicht gesehen, als ich poste.

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

564 Beiträge seit 2006
vor 18 Jahren

Stimmt, da muss ich mich herbivore anschließen. Da Du nicht in das Array schreibst, ist eine foreach-Schleife die beste Variante!

Gruß, der Marcel

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

D
Dial Themenstarter:in
37 Beiträge seit 2005
vor 18 Jahren

Danke.
Hab eure Vorschläge gleich mal umgesetzt.
Ich muss sagen für jemanden der aus der C (Hardwarenah) Welt kommt ist alleine die Doku von Visual Studio n dicker Brocken. Nachdem ich jetzt eure Befehle mal nachgeschlagen habe macht es au Sinn, aber alleine wäre ich glaub erst 2017 darauf gestossen.
Auf jeden Fall mal ein dickes Merci an euch.