vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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
Progressbar während zählen 
Autor: Marty**
Datum: 27.12.16 19:54

Hallo,

ich lasse mir über folgenden Code Dateien aus einem Verzeichnis zählen.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
  Button1.Click
        FolderBrowserDialog1.ShowDialog()
        TextBox1.Text = FolderBrowserDialog1.SelectedPath
        Dim counter = My.Computer.FileSystem.GetFiles(TextBox1.Text)
        Label1.Text = (CStr(counter.Count))
End Sub
Auf dem lokalen Rechner läuft das relativ schnell.
Führe ich das ganze über das Netzwerk aus, kann das schon bis zu 35 sek dauern.

Würde den Zählvorgang gerne in einer Progressbar darstellen.
Aber wie kann ich das maximum der Progressbar ermitteln, wenn ich ja noch untern zählen bin ?

MfG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Progressbar während zählen 
Autor: effeff
Datum: 27.12.16 22:02

BTW...

Ich weiß, dass Dein Beispiel 1:1 von M$ kopiert ist (https://msdn.microsoft.com/de-de/library/wt8k42e9(v=vs.100).aspx), aber:

        FolderBrowserDialog1.ShowDialog()
        TextBox1.Text = FolderBrowserDialog1.SelectedPath
        Dim counter As Long = My.Computer.FileSystem.GetFiles( _
          TextBox1.Text).Count
        Label1.Text = counter
Netzlaufwerk dauert länger, da Dein Rechner die Gegebenheiten mit dem Gegenpart (dem Server) aushandeln muss.

Zitat:

Würde den Zählvorgang gerne in einer Progressbar darstellen.
Aber wie kann ich das maximum der Progressbar ermitteln, wenn
ich ja noch untern zählen bin ?


Das macht hier keinen Sinn - wie Du selber schon dargestellt hast. Lass doch einfach die Progressbar mitlaufen, und wenn sie beim Ende angekommen ist, wieder von vorne beginnen, damit man sieht, dass etwas passiert; Du kannst auch den Cursor auf
Cursor = Cursors.WaitCursor
stellen während des Zählens und danach wieder auf
Cursor = Cursors.Default
...
Cursor = Cursors.WaitCursor
Wenn Du den Netzpfad mappst, kannst Du bis zu einem Drittel an Zeit einsparen im Gegensatz zum Zugriff über UNC-Pfad.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Progressbar während zählen 
Autor: Manfred X
Datum: 28.12.16 13:18

Es handelt sich in dem Doku-Code um eine implizite Typ-Deklaration.
Explizit deklariert:
Dim counter As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = _
        My.Computer.FileSystem.GetFiles("C:\TestDir")
 
MsgBox("number of files is " & CStr(counter.Count))
 
'Alternativ
Dim filelist As List(Of String) = _
    My.Computer.FileSystem.GetFiles("C:\TestDir").ToList
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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