Categories: VB.Net Posted by Christoph on 12/3/2008 2:21 PM | Comments (1)

Wenn die im Filesystem liegenden Dateien nach dem Änderungsdatum sortiert ausgegeben werden sollen, muss man sich zuerst einen kleinen Helper schreiben, der die Sortierung übernimmt:

Public Class Sorter
	Implements IComparer
	Public Function CompareDesc(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
		Dim F1 As FileInfo = DirectCast(x, FileInfo)
		Dim F2 As FileInfo = DirectCast(y, FileInfo)
		CompareDesc = DateTime.Compare(F1.LastWriteTime, F2.LastWriteTime)
	End Function
End Class

dann kann man die Files folgendermassen sortieren und z.B. in einer Dropdown Liste ausgeben:

Dim Dir As New DirectoryInfo("d:\import")
Dim Files() As FileInfo = Dir.GetFiles("*.jpg")

Array.Sort(Files, New Sorter)

ddlFiles.Items.Clear()

For Each FI As FileInfo In Files
	ddlFiles.Items.Add(New ListItem(String.Format("{0:dd}.{0:MM}.{0:yy} {0:HH}:{0:mm} - {1}", FI.LastWriteTime, FI.Name), FI.FullName))
Next

Diesen Hinweis habe ich hier gefunden.

Comments (1) -

Chris Germany on 12/11/2008 4:16 AM Oder für die Freunde von Linq:

        Dim di As New IO.DirectoryInfo("d:\")
        Dim fiList = From p In di.GetFiles("*.jpg") Order By p.LastWriteTime

        ddlFiles.clear()
        For Each fi In fiList
            ddlFiles.Items.Add(New ListItem(String.Format("{0:dd}.{0:MM}.{0:yy} {0:HH}:{0:mm} - {1}", fi.LastWriteTime, fi.Name), fi.FullName))
        Next

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading