vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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 - Ein- und Umsteiger
Re: Progress Bar 
Autor: ModeratorDaveS (Moderator)
Datum: 19.04.06 13:39

Mit File.Copy() geht's nicht, aber du kannst selber die Daten kopieren in einer Schleife, die CopyFileEx() API benutzen wie unten, oder SHFileOperation für den üblichen Windows-Dialog.

(Leicht abgewandlete Versions des VB6 Codes aus Tipps&Tricks)
 
    Public Const PROGRESS_CANCEL = 1
    Public Const PROGRESS_CONTINUE = 0
    Public Const PROGRESS_QUIET = 3
    Public Const PROGRESS_STOP = 2
    Public Const COPY_FILE_FAIL_IF_EXISTS = &H1
    Public Const COPY_FILE_RESTARTABLE = &H2
 
    Public Declare Auto Function CopyFileEx Lib "kernel32.dll" ( _
      ByVal lpExistingFileName As String, _
      ByVal lpNewFileName As String, _
      ByVal lpProgressRoutine As Fortschritt, _
      ByVal lpData As Integer, _
      ByRef pbCancel As Integer, _
      ByVal dwCopyFlags As Integer) As Integer
 
    Public bCancel As Integer
 
    Public Delegate Function Fortschritt( _
       ByVal TotalFileSize As Long, _
       ByVal TotalBytesTransferred As Long, _
       ByVal StreamSize As Long, _
       ByVal StreamBytesTransferred As Long, _
       ByVal dwStreamNumber As Integer, _
       ByVal dwCallbackReason As Integer, _
       ByVal hSourceFile As Integer, _
       ByVal hDestinationFile As Integer, _
       ByVal lpData As Integer) As Integer
 
 
    ' Datei kopieren mit Fortschrittsanzeige
    Public Function Fortschrittsanzeige( _
      ByVal TotalFileSize As Long, _
      ByVal TotalBytesTransferred As Long, _
      ByVal StreamSize As Long, _
      ByVal StreamBytesTransferred As Long, _
      ByVal dwStreamNumber As Integer, _
      ByVal dwCallbackReason As Integer, _
      ByVal hSourceFile As Integer, _
      ByVal hDestinationFile As Integer, _
      ByVal lpData As Integer) As Integer
 
 
        If Not pb1 Is Nothing Then
            pb1.Value = 100 * TotalBytesTransferred / TotalFileSize
        End If
        Return 0
    End Function
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        ' Datei kopieren
        Dim nResult As Integer = CopyFileEx("F:\Work Dev\VSNet" & _
          "Dev\Test\nwind.mdb", "F:\Work Dev\VSNet Dev\Temp\nwind.mdb", _
            AddressOf Fortschrittsanzeige, _
            0, _
            bCancel, _
            COPY_FILE_RESTARTABLE)
        If nResult = 0 Then
            nResult = Marshal.GetLastWin32Error()
            MsgBox("Sorry, didn't work:" + nResult.ToString())
 
        End If
    End Sub

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Progress Bar1.473Talinus19.04.06 12:16
Re: Progress Bar947Talinus19.04.06 13:21
Re: Progress Bar1.533ModeratorDaveS19.04.06 13:39
Re: Progress Bar903Hannes H.23.05.06 14:02
Re: Progress Bar899ModeratorDaveS23.05.06 14:16
Re: Progress Bar915Hannes H.23.05.06 14:40
Re: Progress Bar966ModeratorDaveS23.05.06 14:45
Re: Progress Bar851novus7723.05.06 15:03
Re: Progress Bar894ModeratorDaveS23.05.06 15:16
Re: Progress Bar865novus7723.05.06 15:25
Re: Progress Bar887Hannes H.23.05.06 16:51
Re: Progress Bar885ModeratorDaveS23.05.06 17:52
Re: Progress Bar899Hannes H.23.05.06 18:18
Re: Progress Bar873Hannes H.25.05.06 09:23
Re: Progress Bar902ModeratorDaveS25.05.06 09:42
Re: Progress Bar1.143Hannes H.25.05.06 09:57

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