vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Dateien nach Datum einlesen 
Autor: Maywood
Datum: 17.07.05 13:50

Du könntest das bspw. wie folgt lösen:
 
Option Explicit On 
Option Strict On
 
Public Class Form1
    Inherits System.Windows.Forms.Form
 
#Region " Vom Windows Form Designer generierter Code "
 
#End Region
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Dim folder As String = "C:\tmp\test\"
 
        '// Ordnerinhalt:
        '// ------------------------
        'C:\tmp\test\15_7_2004xx.cvs
        'C:\tmp\test\15_7_2005xx.cvs
        'C:\tmp\test\16_7_2005xx.cvs
        'C:\tmp\test\17_7_2005xx.cvs
        'C:\tmp\test\20_7_2005xx.cvs
        '// ------------------------
 
        Dim files As New ArrayList
        Dim file As IO.FileInfo
        For Each f As String In IO.Directory.GetFiles(folder)
            file = New IO.FileInfo(f)
            Debug.WriteLine(file.FullName)
            If file.Extension.Equals(".cvs") Then
                files.Add(file)
            End If
        Next
 
        '// sortieren
        files.Sort(New MyComparer)
 
        '// Sortierung umkehren
        '// files.Reverse()
 
        '// Dateien sortiert (nach Datum) ausgeben
        For Each file In files
            Me.ListBox1.Items.Add(file.Name)
        Next
 
    End Sub
End Class
 
Public Class MyComparer
    Implements IComparer
 
    Dim reg As System.Text.RegularExpressions.Regex
    Dim mc As System.Text.RegularExpressions.MatchCollection
    Dim d, m, y As Integer
 
    Public Sub New()
        reg = New System.Text.RegularExpressions.Regex("\d+")
    End Sub
 
    Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
      Implements System.Collections.IComparer.Compare
        Dim fileA As IO.FileInfo = CType(x, IO.FileInfo)
        Dim fileB As IO.FileInfo = CType(y, IO.FileInfo)
        Dim dateA, dateB As Date
 
        '// FileA
        mc = reg.Matches(fileA.Name)
        d = CInt(mc(0).Value) '// day
        m = CInt(mc(1).Value) '// month
        Me.y = CInt(mc(2).Value) '// year
        dateA = New Date(Me.y, m, d)
 
        '// FileB
        mc = reg.Matches(fileB.Name)
        d = CInt(mc(0).Value) '// day
        m = CInt(mc(1).Value) '// month
        Me.y = CInt(mc(2).Value) '// year
        dateB = New Date(Me.y, m, d)
 
        If Date.op_LessThan(dateA, dateB) Then Return -1
        If Date.op_GreaterThan(dateA, dateB) Then Return 1
        Return 0
 
    End Function
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dateien nach Datum einlesen1.105Hannes H.16.07.05 14:49
Re: Dateien nach Datum einlesen905Maywood17.07.05 13:50
Re: Dateien nach Datum einlesen790Hannes H.17.07.05 16:51
Re: Dateien nach Datum einlesen757Maywood17.07.05 20:06
Re: Dateien nach Datum einlesen719Hannes H.18.07.05 13:07
Re: Dateien nach Datum einlesen751Hannes H.18.07.05 17:50
Re: Dateien nach Datum einlesen727Hannes H.18.07.05 17:56
Re: Dateien nach Datum einlesen766Maywood19.07.05 11:51
Re: Dateien nach Datum einlesen915Hannes H.19.07.05 12:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel