| |
VB.NET - Ein- und UmsteigerListe 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 | |
Zuletzt geänderte Datei herausfinden | 3.369 | TheExOne | 26.11.07 23:01 | Re: Zuletzt geänderte Datei herausfinden | 2.235 | GPM | 27.11.07 01:19 | Re: Zuletzt geänderte Datei herausfinden | 2.195 | TheExOne | 27.11.07 13:38 | Re: Zuletzt geänderte Datei herausfinden | 1.674 | 00tommy | 11.07.17 21:02 | Re: Zuletzt geänderte Datei herausfinden | 1.681 | Manfred X | 12.07.17 09:42 | Re: Zuletzt geänderte Datei herausfinden | 1.611 | 00tommy | 13.07.17 21:32 | Re: Zuletzt geänderte Datei herausfinden | 1.716 | Franki | 14.07.17 02:22 | Liste Fileinformationen, Threading, Invoke .... | 1.787 | Manfred X | 14.07.17 08:52 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.587 | 00tommy | 15.07.17 17:38 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.632 | Manfred X | 16.07.17 14:43 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.736 | 00tommy | 16.07.17 20:19 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.604 | effeff | 16.07.17 22:19 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.606 | 00tommy | 17.07.17 06:58 | Re: Liste Fileinformationen, Threading, Invoke .... | 1.604 | Manfred X | 17.07.17 10:18 | Re: Zuletzt geänderte Datei herausfinden | 1.587 | 00tommy | 17.07.17 11:43 | Re: Zuletzt geänderte Datei herausfinden | 1.685 | Manfred X | 17.07.17 13:27 | Re: Zuletzt geänderte Datei herausfinden | 1.696 | 00tommy | 17.07.17 14:47 | Re: Zuletzt geänderte Datei herausfinden | 1.605 | Manfred X | 17.07.17 18:54 | Re: Zuletzt geänderte Datei herausfinden | 1.561 | 00tommy | 17.07.17 21:08 | Re: Zuletzt geänderte Datei herausfinden | 1.604 | Manfred X | 18.07.17 06:10 | Re: Zuletzt geänderte Datei herausfinden | 1.570 | 00tommy | 18.07.17 11:09 | Re: Zuletzt geänderte Datei herausfinden | 1.574 | Manfred X | 18.07.17 13:19 | Re: Zuletzt geänderte Datei herausfinden | 1.580 | 00tommy | 18.07.17 14:12 | Re: Zuletzt geänderte Datei herausfinden | 1.585 | Manfred X | 18.07.17 20:31 | Re: Zuletzt geänderte Datei herausfinden | 1.582 | 00tommy | 18.07.17 20:36 | Re: Zuletzt geänderte Datei herausfinden | 1.682 | Manfred X | 18.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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere Infos
|
|
|
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
|
|