Hallo,
ich habe hier eine vorgefertigte ProgressBar gefunden und diese versucht, auf meinen Code zu übertragen. Leider klappt's nicht so ganz, das Programm schließt sicher immer mit einer "ungültigen Pfadangabe". Hat jemand eine Idee?
Vielen Dank.
Gruß
ich habe hier eine vorgefertigte ProgressBar gefunden und diese versucht, auf meinen Code zu übertragen. Leider klappt's nicht so ganz, das Programm schließt sicher immer mit einer "ungültigen Pfadangabe". Hat jemand eine Idee?
VB.NET-Quellcode
- ProcessBar.Value = 65
- ' Es gilt hier zu beachten, dass der Maximumwert ein Integer ist und
- ' daher die Length-Angabe über dem Bereich des Integer hinaus liegen kann.
- ' In so einem Fall müsste man den Maximumwert anders definieren
- ProcessBar.Maximum = 100
- Try
- ' Quelle
- Dim fsmsource As FileStream
- ' Zieldatei
- Dim fsmtarget As FileStream
- ' Größe des bei jedem Durchlauf einzulesenden Datenpaketes
- Dim buffersize As Int32 = 1024 * 30 ' (30 KByte)
- ' Enthält nacher die in buffersize angegeben Menge an
- ' eingelesenen Daten
- Dim buffer(buffersize) As Byte
- ' Ermittelt die tatsächliche eingelesene Menge an Daten
- ' im Bytearray readbyte
- Dim readbyte As Int32
- ' Quelldatei
- fsmsource = New FileStream(sourcedir_path.Text & "\Resource\CD2.GOB", FileMode.Open, _
- FileAccess.Read, FileShare.Read)
- ' Zieldatei
- fsmtarget = New FileStream(targetdir_path.Text & "\Resource\CD2.GOB", _
- FileMode.OpenOrCreate, FileAccess.Write)
- ' Daten nach und nach einlesen und im Zielstream wieder zurückschreiben
- While fsmsource.Position < fsmsource.Length
- ' Quelle einlesen
- readbyte = fsmsource.Read(buffer, 0, buffersize)
- ' In das Ziel schreiben
- fsmtarget.Write(buffer, 0, readbyte)
- ' Value Eigenschaft der Progressbar anpassen, das Label gibt
- ' den prozentualen Fortschritt an
- With ProcessBar
- .Value += readbyte
- End With
- ' Reporten
- Application.DoEvents()
- End While
- ' Streams schließen
- fsmsource.Close()
- fsmtarget.Close()
- Catch ex As Exception
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
- End Try
Vielen Dank.
Gruß