Hallo Leute
was is hier dran falsch :
was is hier dran falsch :
Code:
Private Sub ByteCopy(bytes, quelle, ziel)
Dim i&, puffer() As Byte
ReDim puffer(1 To 32768)
For i = 0 To bytes - 1 Step 32768
If bytes - i < 32768 Then ReDim puffer(1 To bytes - i)
Get quelle, , puffer
Put ziel, , puffer
Next i
End Sub
Private Function OhnePfad$(dateiname)
Dim p&
Do
OhnePfad = Mid$(dateiname, p + 1)
p = InStr(p + 1, dateiname, "\")
If p = 0 Then Exit Function
Loop
End Function
Private Function Zieldateiname(quelle)
Dim p&
While InStr(p + 1, quelle, ".") <> 0
p = InStr(p + 1, quelle, ".")
Wend
If p = 0 Then
Zieldateiname = "."
Else
Zieldateiname = Left$(quelle, p)
End If
End Function
Private Function DateinameErmitteln()
On Error Resume Next
cmdDialog.CancelError = True
cmdDialog.DialogTitle = "Datei auswählen"
cmdDialog.Flags = cdl0FNFileMustExist
cmdDialog.ShopOpen
On Error GoTo 0
If Error Then Exit Function
DateinameErmitteln = cmdDialog.FileName
End Function
Private Function DateigrößeErmitteln()
If Val(textDateigröße.Text) <= 0 Then
DateigrößeErmitteln = 0
MsgBox "Bitte gib eine gültige Dateigröße an", vbInformation, "Fehler"
textDateigröße.SetFocus
Else
DateigrößeErmitteln = 1024 * Val(textDateigröße.Text)
End If
End Function
Private Sub buttonKopieren_Click()
Dim quelle$, max&, ziel$, zieln$, batch$
Dim p&, i$, laenge&
MousePointer = 11
ziel = Zieldateiname(quelle)
batch = ziel + "bat"
Open quelle For Binary As 1
Open batch For Output As 2
Print #2, "copy /b";
i = 1
zieln = ziel + Format$(i, "000")
labelInfo.Caption = "Kopiere Daten nach " & zieln
Refresh
If Dir$(zieln) <> "" Then
Kill zieln
End If
Open zieln For Binary As 3
If laenge - p < max Then
ByteCopy laenge - p, 1, 3
Else
ByteCopy max, 1, 3
End If
Close 3
If i > 1 Then Print #2, " + ";
Print #2, OhnePfad(zieln);
i = i + 1
Next p
Close 1
Print #2, " " + OhnePfad(quelle)
Close 2
labelInfo.Caption = ""
MousePointer = 0
Refresh
End Sub
Dim quelle&, max&, laenge&
max = DateigrößeErmitteln()
If max <= 0 Then Exit Sub
quelle = DateinameErmitteln()
If quelle = "" Then Exit Sub
laenge = FileLen(quelle)
If laenge < max Then
MsgBox "Die ausgefählte Datei ist kleiner als die " + " angegebene Dateigröße. Kein Split erforderlich."
Exit Sub
End If
Dim max&
max = DateigrößeErmitteln()
If max <= 0 Then Exit Sub
End Sub
Private Sub Timer1_Timer()
lblTime.Caption = Now
End Sub