vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Liste Fileinformationen, Threading, Invoke .... 
Autor: Manfred X
Datum: 14.07.17 08:52

Beispiel zum Erstellen einer Liste
Public Class FileSystemStuff
 
    Public Class FilesystemStuffArgs
        Inherits EventArgs
        Private _count As Integer = 0
 
        Friend Sub New(Count As Integer)
            _count = Count
        End Sub
 
        ''' <summary>Anzahl gelisteter Dateien</summary>
        Public ReadOnly Property Count() As Integer
            Get
                Return _count
            End Get
        End Property
    End Class
 
 
    Public Class FileInformation
        ''' <summary>Name und Extensions der Datei</summary>
        Public ReadOnly name As String
        '''<summary>Name des Ordners/Unterordners</summary>
        Public ReadOnly folder As String
        Public ReadOnly fullpath As String
        Public ReadOnly length As Long
        Public ReadOnly LastWriteTime As Date
        Public ReadOnly IsReadonly As Boolean
 
 
        Friend Sub New(fi As IO.FileInfo)
 
            With fi
                name = .Name
                fullpath = .FullName
                folder = IO.Path.GetFileName(.DirectoryName)
                length = .Length
                LastWriteTime = .LastWriteTime
                IsReadonly = .IsReadOnly
            End With
        End Sub
 
    End Class
 
 
    Public FileInformationArray() As FileInformation
 
    Public Event Progress(ByVal sender As Object, e As FilesystemStuffArgs)
    Public Event Finished(ByVal sender As Object, e As FilesystemStuffArgs)
 
 
    ''' <summary>Abfrage der Angaben zu den Dateien in einem Ordner</summary>
    ''' <param name="folder">Ordner</param>
    ''' <param name="so">Unterordner einbeziehen?</param>
    Public Sub CreateFolderFileInfos(ByVal folder As String, _
        Optional so As IO.SearchOption = IO.SearchOption.TopDirectoryOnly)
 
        FileInformationArray = Nothing
 
        If Not IO.Directory.Exists(folder) Then Exit Sub
 
        Dim filelist As New List(Of FileInformation)(200)
        Dim c As Integer = 0
        For Each file As String In IO.Directory.EnumerateFiles(folder, "*.*", _
          so)
            If c Mod 10 = 0 Then
                RaiseEvent Progress(Me, New FilesystemStuffArgs(c))
            End If
            Dim fi As New IO.FileInfo(file)
            filelist.Add(New FileInformation(fi))
            c += 1
        Next file
        FileInformationArray = filelist.ToArray
        RaiseEvent Finished(Me, New FilesystemStuffArgs(c))
    End Sub
 
End Class
Anwendung
Public Class Form1
 
    Private WithEvents FileStuff As New FileSystemStuff
 
    Dim WithEvents btnStart As New Button With _
    {.Parent = Me, .Width = 300, .Text = "Dateien listen"}
 
    Private lblinfo As New Label With _
        {.Parent = Me, .Size = New Size(300, 100), .Top = 50, _
         .AutoSize = False}
 
    Dim infotext As String = ""
 
    Private lboFiles As New ListBox With _
        {.Parent = Me, .Top = 170, .Size = New Size(300, 200), _
         .HorizontalScrollbar = True}
 
 
    Private Sub Form1_Load(sender As System.Object, _
         e As System.EventArgs) Handles MyBase.Load
        Me.Size = New Size(320, 480)
    End Sub
 
 
    Private Sub FileStuff_Progress(sender As Object, _
        e As FileSystemStuff.FilesystemStuffArgs) _
        Handles FileStuff.Progress
 
        infotext = _
        "Dateien werden gelistet" & vbCrLf & "Ermittelt: " & e.Count.ToString
 
        If lblinfo.InvokeRequired Then
            lblinfo.Invoke(New MethodInvoker(AddressOf SetInfoText))
        Else
            SetInfoText()
        End If
 
    End Sub
 
 
    Private Sub FileStuff_Finished(sender As Object, _
            e As FileSystemStuff.FilesystemStuffArgs) _
            Handles FileStuff.Finished
 
        infotext = _
          "Dateien sind gelistet worden " & vbCrLf & _
          "Gesamtzahl: " & e.Count.ToString
 
        lblinfo.Invoke(New MethodInvoker(AddressOf SetInfoText))
        lboFiles.Invoke(New MethodInvoker(AddressOf SetFileList))
    End Sub
 
 
    Private Sub SetInfoText()
        lblinfo.Text = infotext
    End Sub
 
 
    Private Sub SetFileList()
        lboFiles.Items.Clear()
        For Each it As FileSystemStuff.FileInformation _
            In FileStuff.FileInformationArray
 
            lboFiles.Items.Add _
            (it.name & vbTab & " (" & it.folder & ")  " & vbTab & _
             it.LastWriteTime.ToString)
        Next it
    End Sub
 
 
    Private Sub btnStart_Click(sender As Object, _
        e As System.EventArgs) Handles btnStart.Click
 
        Dim th As New Threading.Thread _
        (New Threading.ThreadStart(AddressOf CreateFileList))
        th.Start()
    End Sub
 
 
    Private Sub CreateFileList()
        'Ordner
        Dim myfolder As String = "C:\Daten"
        FileStuff.CreateFolderFileInfos _
           (myfolder, IO.SearchOption.AllDirectories)
    End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zuletzt geänderte Datei herausfinden3.369TheExOne26.11.07 23:01
Re: Zuletzt geänderte Datei herausfinden2.235GPM27.11.07 01:19
Re: Zuletzt geänderte Datei herausfinden2.195TheExOne27.11.07 13:38
Re: Zuletzt geänderte Datei herausfinden1.67400tommy11.07.17 21:02
Re: Zuletzt geänderte Datei herausfinden1.681Manfred X12.07.17 09:42
Re: Zuletzt geänderte Datei herausfinden1.61100tommy13.07.17 21:32
Re: Zuletzt geänderte Datei herausfinden1.716Franki14.07.17 02:22
Liste Fileinformationen, Threading, Invoke ....1.787Manfred X14.07.17 08:52
Re: Liste Fileinformationen, Threading, Invoke ....1.58700tommy15.07.17 17:38
Re: Liste Fileinformationen, Threading, Invoke ....1.632Manfred X16.07.17 14:43
Re: Liste Fileinformationen, Threading, Invoke ....1.73600tommy16.07.17 20:19
Re: Liste Fileinformationen, Threading, Invoke ....1.604effeff16.07.17 22:19
Re: Liste Fileinformationen, Threading, Invoke ....1.60600tommy17.07.17 06:58
Re: Liste Fileinformationen, Threading, Invoke ....1.604Manfred X17.07.17 10:18
Re: Zuletzt geänderte Datei herausfinden1.58700tommy17.07.17 11:43
Re: Zuletzt geänderte Datei herausfinden1.685Manfred X17.07.17 13:27
Re: Zuletzt geänderte Datei herausfinden1.69600tommy17.07.17 14:47
Re: Zuletzt geänderte Datei herausfinden1.605Manfred X17.07.17 18:54
Re: Zuletzt geänderte Datei herausfinden1.56100tommy17.07.17 21:08
Re: Zuletzt geänderte Datei herausfinden1.604Manfred X18.07.17 06:10
Re: Zuletzt geänderte Datei herausfinden1.57000tommy18.07.17 11:09
Re: Zuletzt geänderte Datei herausfinden1.574Manfred X18.07.17 13:19
Re: Zuletzt geänderte Datei herausfinden1.58000tommy18.07.17 14:12
Re: Zuletzt geänderte Datei herausfinden1.585Manfred X18.07.17 20:31
Re: Zuletzt geänderte Datei herausfinden1.58200tommy18.07.17 20:36
Re: Zuletzt geänderte Datei herausfinden1.682Manfred X18.07.17 21:26

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-2024 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