Entwickler-Ecke
IO, XML und Registry - Kann nicht auf Dateien über ListBox zugreifen
s4nDer - Mi 27.08.08 10:52
Titel: Kann nicht auf Dateien über ListBox zugreifen
Hallo,
ich arbeite gerade an einem kleinen Programm und bin im Moment dabei die Eigenschaften von Dateien mittels einer Listbox auszulesen. (siehe Anhang)
Mein Problem ist jetzt das is die Werte die ich auslesen möchte nicht bekommen und momentan erkenne ich nicht das Problem.
Eine Möglichkeit wäre zwar das er garnich wirklich auf den ort zugreift wo die Datei momentan liegt aber ich wüsste dann nicht was ich anders machen soll.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| public void DateiListBox_SelectedIndexChanged(object sender, EventArgs e) { String sCurElement = DateiListBox.SelectedItem.ToString(); TextBoxDataName.Text = DateiListBox.SelectedItem.ToString(); FileInfo nFile = new FileInfo(sCurElement); DateTime sDate = nFile.LastWriteTime;
String sElementVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(BrowseDialog.SelectedPath + "\\" + DateiListBox.SelectedItem.ToString() + "\\").FileVersion; } |
Ich bekomme weder das Änderungsdatum noch die Version.
Vielleicht könnt ihr ja helfen.
gruß s4nDer
Skiller-1988 - Mi 27.08.08 11:03
Naja also soweit ich das sehen kann machst du ja auch nur wertzuweisungen der Variablen und hast keine Ausgabe auf z.B. der Textbox Implementiert oder?
C#-Quelltext
1:
| TextBoxDataName.Text += sDate.toString() + sElementVersion; |
s4nDer - Mi 27.08.08 11:07
Ich kann mir ja den Inhalt der Variablen beim Debuggen anzeigen lassen.
Krieg immer nur "null" zurück.
s4nDer - Mi 27.08.08 11:20
Okay, hat alles funktioniert.
Danke für deine Hilfe
s4nDer - Mi 27.08.08 11:32
Problem ist allerdings wie ich grade feststellen musste die Version auszulesen. Anderungsdatum und alles was zu FileInfo-Klasse gehört kann ich gut auslesen nur mit GetVersionInfo hab ich noch Probleme.
C#-Quelltext
1:
| TextBoxVersion.Text = System.Diagnostics.FileVersionInfo.GetVersionInfo(nFile.FullName).ProductVersion; |
Er gibt mir immer nur "" aus. Versionen hab ich vorher natürlich eingefügt bei den Dateien.
Skiller-1988 - Mi 27.08.08 12:02
Also...
erstmal Namespace hinzufügen:
C#-Quelltext
1:
| using System.Diagnostics; |
so und dann :
C#-Quelltext
1: 2:
| FileVersionInfo fv = FileVersionInfo.GetVersionInfo(@" >>Pfad<< "); String sElementVersion = fv.FileVersion; |
s4nDer - Mi 27.08.08 13:10
Hatte ich auch schonmal ausprobiert, bekomm aber auch hier leider keine Version angezeigt.
Skiller-1988 - Mi 27.08.08 13:19
Also wenn du es genau so ausprobiert hast muss es warscheinlich an der Datei liegen.
Ich hab es mit ner WindowsFormsApplication.exe Probiert und es hat funktioniert.
An was für einer Datei hast du es denn ausprobiert?
s4nDer - Mi 27.08.08 13:22
An ner normalen Word-Datei (Neu Microsoft Word-Dokument.doc)...
Habs grad an ner .exe ausprobiert und da scheint es zu funktionieren. Nur wunder ich mich warum es bei der .doc datei nicht funktioniert.
Skiller-1988 - Mi 27.08.08 13:36
Habe es jetzt auch mit *.txt, *.doc, *.docx ausprobiert und es geht bei allen drein nicht ich denke mal das die Klasse das so wie wir es implementiert haben nicht unterstützt.
Skiller-1988 - Mi 27.08.08 13:47
Ich habe festgestellt es geht nur bei Datein wo unter Eigenschaften extra ein Reiter für Version verfügbar ist.
s4nDer - Mi 27.08.08 13:56
Okay, klingt logisch. Ich hatte gedacht das unter dem Tab Dateiinfo "Version" das ist was er ausliest aber wenn das so ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!