Entwickler-Ecke
WinForms - File.Exists + Array + List
Arthuro - Di 06.11.07 13:41
Titel: File.Exists + Array + List
Guten Tag,
Seit mir nicht sauer wenn ich was falsch gemacht hab ist mein erster Post. Also zu meiner Frage ich möchte gerne das parfiles in der zweiten if anweisung abgefragt wird leider krieg ich aber dort nicht den dateinamen raus, wer weiß auch wo immer, liegt wohl an der list. Kann ich das auch noch irgendwie anders machen bzw. was mich falsch ? Ich lese über ein Array einen Ordner ein wo ganz viele datei sind und ich möchte diese nun rausfiltern das er mir nur die datein anzeigt mit der dateiendung rar. und dann in einer listview anzeigt. Wie mache ich das ?
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: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| string[] _Datein; string filename = dlgFileOpen.SelectedPath.ToString(); List<string> parfiles = new List<string>(); _Datein = Directory.GetFileSystemEntries(filename); _Datein.Length.ToString();
foreach (string in_datein in _Datein) { if (Path.GetExtension(in_datein) == ".rar") { parfiles.Add(in_datein); }
if (File.Exists(parfiles.ToString())) { BuildList(parfiles.ToString()); } else { MessageBox.Show("Keine .rar Datei"); } } } }
catch (Exception ex) { Trace.WriteLine(ex.Message); } } int BuildList(string parfiles) { ListViewItem liste = null; liste = listView1.Items.Add(parfiles.ToString());
if (File.Exists(parfiles.ToString())) { liste.SubItems.Add("Ja"); } else { liste.SubItems.Add("Nein"); }
return 0; } |
Christian S. - Di 06.11.07 14:45
Hi und :welcome:!
Was Du versuchst, ist, eine List<String> in einen String umzuwandeln und dann zu schauen, ob es eine Datei gibt, die so heisst. Das kann nicht funktionieren ;-) Ebenso schiebst Du die String-Repräsentation der gesamten Liste die BuildList-Methode, auch das macht keinen Sinn.
Ich hab mal ein paar Kommentare ran geschrieben:
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: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49:
| string[] _Datein; string filename = dlgFileOpen.SelectedPath.ToString(); List<string> parfiles = new List<string>(); _Datein = Directory.GetFileSystemEntries(filename); _Datein.Length.ToString(); foreach (string in_datein in _Datein) { if (Path.GetExtension(in_datein) == ".rar") { parfiles.Add(in_datein); }
if (File.Exists(parfiles.ToString())) { BuildList(parfiles.ToString()); } else { MessageBox.Show("Keine .rar Datei"); } } } }
catch (Exception ex) { Trace.WriteLine(ex.Message); } } int BuildList(string parfiles) { ListViewItem liste = null; liste = listView1.Items.Add(parfiles.ToString()); if (File.Exists(parfiles.ToString())) { liste.SubItems.Add("Ja"); } else { liste.SubItems.Add("Nein"); }
return 0; } |
Ausprobiert hab ich den Code allerdings nicht, weiß also nicht, ob ich alles gefunden habe ;-)
Arthuro - Di 06.11.07 14:59
Danke, bin erstaunt über die Antwort, in anderen Foren wird man ja direkt nieder gemacht und so ausführlich hätte ich das gar nicht erwartet *g*
Vielen Dank ich werde das gleich mal durchgehen habe es aufjeden fall jetzt geschafft in dem ich die if anweisung ganz weglasse und dafür eine zweite foreach nehmen und somit den dateinamen kriege.
Gruß Arthuro
Christian S. - Di 06.11.07 15:02
Arthuro hat folgendes geschrieben: |
| Danke, bin erstaunt über die Antwort, in anderen Foren wird man ja direkt nieder gemacht und so ausführlich hätte ich das gar nicht erwartet *g* |
Gern geschehen ;-)
Arthuro hat folgendes geschrieben: |
| Vielen Dank ich werde das gleich mal durchgehen habe es aufjeden fall jetzt geschafft in dem ich die if anweisung ganz weglasse und dafür eine zweite foreach nehmen und somit den dateinamen kriege. |
Hm. Klingt umständlich, zeig mal her :lupe:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!