| Autor |
Beitrag |
SSC streezer
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Mo 09.06.08 13:22
Hallo,
ich bins mal wieder mit meinem Treeview xD
gibt es eine Möglichkeit die einzelnen files anzuzeigen die sich in einem verzeichnis finden (mit datei endung) ?
danke für jeden kleinen tipp od. hinweis...
gruss aus der wiedermal sonnigen schweiz,
streezer
//edit hier noch der code den ich bis jetzt hab - der zeigt nur die verzeichnise an: C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| public void ErstelleDirTreeviewDir(string directoryValue, TreeNode parentNode) { string[] directoryArray = Directory.GetDirectories(directoryValue);
try { if (directoryArray.Length != 0) { foreach (string directory in directoryArray) { substringDirectory = directory.Substring( directory.LastIndexOf('\\') + 1, directory.Length - directory.LastIndexOf('\\') - 1);
TreeNode localNode = new TreeNode(substringDirectory);
parentNode.Nodes.Add(localNode);
ErstelleDirTreeviewDir(directory, localNode); } } } catch (UnauthorizedAccessException) { parentNode.Nodes.Add("Zugriff verweigert"); } |
Moderiert von Christian S.: Code- durch C#-Tags ersetzt
Zuletzt bearbeitet von SSC streezer am Di 10.06.08 11:49, insgesamt 2-mal bearbeitet
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Mo 09.06.08 15:40
boah - ist das so schwirig zu implementieren dass sich niemand meldet? hab mich inzwischen n bisschen schlau gemacht - jedenfalls versucht...
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Mo 09.06.08 15:49
Wenn du damit meinst das dein problem darin liegt das du nicht weisst welche Dateien in den Verzeichnissen liegen, shilft dir :
C#-Quelltext 1:
| System.IO.Directory.GetFiles(stringPath); |
Rückgabewert müsste ein string-array mit den Dateinamen sein.
Und das hinzufügen von Subnodes müsstest du ja mittlerweile beherrschen.
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Mo 09.06.08 16:18
hab System.IO; eingebunden - was es allerdings nicht gibt bei mir ist System.IO.Directory....
? komisch...
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Mo 09.06.08 16:20
Dann halt System.IO.DirectoryInfo
oder sowas in der Art, schau dich einfach ein bischen in den IO-Klassen um da wirst du was passendes finden.
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Di 10.06.08 09:21
hab das jetzt so gelöst:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| try { if (directoryArray.Length != 0) { foreach (string directory in directoryArray) { substringDirectory = directory.Substring( directory.LastIndexOf('\\') + 1, directory.Length - directory.LastIndexOf('\\') - 1);
TreeNode localNode = new TreeNode(substringDirectory);
parentNode.Nodes.Add(localNode);
ErstelleDirTreeviewDir(directory, localNode);
string[] fileArray = Directory.GetFiles(directory);
foreach (string file in fileArray) { substringFile = directory.Substring( directory.LastIndexOf('\\') + 1, directory.Length - directory.LastIndexOf('\\') - 1);
TreeNode fileNode = new TreeNode(file);
parentNode.Nodes.Add(fileNode);
ErstelleDirTreeviewDir(directory, fileNode); } } } } catch (UnauthorizedAccessException) { parentNode.Nodes.Add("Zugriff verweigert"); } |
hab einfach eine neue foreach schleife hinzugefügt die die directory nach files untersucht. aber was mir noch nicht ganz gefällt ist dass folgendes ausgegeben wird für die files: c:\dokumente Einstellungen\user\eigene Dateien\bild.jpg
kann mir jemand sagen wie ich den code ändern kann damit nur bild.jpg angezeigt wird?
gruss,
mike
Moderiert von Christian S.: Code- durch C#-Tags ersetzt
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Di 10.06.08 09:31
Entweder du benutzt substrings an der stelle des letzten \
oder
Du benutzt anstelle von Directory.GetFiles lieber DirectoryInfo.GetFiles da dies ein Array von FileInfos zurückgibt und du bei jeder FileInfo Daten der File abrufen kannst (FullName / Name usw.)
|
|
Th69
      

Beiträge: 4805
Erhaltene Danke: 1061
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Di 10.06.08 09:50
Besser ist die "Path.GetFileName"-Methode.
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Di 10.06.08 09:50
DirectoryInfo gibt es, aber ich kriege nur 2 Methoden (Equals Reference equals)
eingebunden hab ichs... :s
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Di 10.06.08 09:54
SSC streezer hat folgendes geschrieben: | | DirectoryInfo gibt es, aber ich kriege nur 2 Methoden (Equals Reference equals) |
Gestern meintest du auch es gäbe bei dir keine Directory-Klasse und trotzdem kannst du sie mittlerweile verwenden.
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Di 10.06.08 10:13
bakachan hat folgendes geschrieben: | SSC streezer hat folgendes geschrieben: | | DirectoryInfo gibt es, aber ich kriege nur 2 Methoden (Equals Reference equals) |
Gestern meintest du auch es gäbe bei dir keine Directory-Klasse und trotzdem kannst du sie mittlerweile verwenden. |
directory klasse gibt es schon - directory info auch - aber methoden hab ich keine ausser die oben genannten....
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Di 10.06.08 10:29
C#-Quelltext 1: 2:
| DirectoryInfo dInfo = new DirectoryInfo(path); FileInfo[] fileInfos = dInfo.GetFiles(); |
Darauf hätte man mit ein bischen lesen udn rumprobieren aber auch locker selbst kommen können.
|
|
SSC streezer 
      
Beiträge: 110
WinXP, Vista Ultimate
C# (VS 05 n' 08), PHP
|
Verfasst: Di 10.06.08 11:13
|
|