Просто нужно соглосовать время бэкапа и время работы - типа, перерыв в работе - бэкап и наоборот.
Sub MyCopy(File1,File2)
Dim AAA as Byte
Open File1 as 1
Open File2 as 2
While I<=FileLen(File1)
I=I+1
GET #1, I, AAA
PUT #2, I, AAA
If I mod 50000 = 0 then Sleep 5 ' или типа того задержку
Wend
Close
end sub
Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
Dim buff() As Byte, BuffSize As Long, FN1 As Integer, FN2 As Integer
FN1 = FreeFile
Open ... As #FN1
FN2 = FreeFile
Open ... As #FN2
nPos = 0
nPosStart = 0
tmrCopy.Interval = 250 ' скорость 1000 байт в секунду
tmrCopy.Enabled = True
Do Until EOF(FN1)
DoEvents
BuffSize = nPos - nPosStart
If BuffSize > 65536& or nPosStart+BuffSize => LOF(#FN1) Then
If nPosStart+BuffSize => LOF(#FN1) Then BuffSize = LOF(#FN1)-nPosStart
ReDim buff(0 To BuffSize - 1)
Get #FN1, nPosStart, buff()
Put #FN2, nPosStart, buff()
nPosStart = nPosStart + BuffSize
End If
Loop
tmrCopy.Enabled = False
Close #FN1, #FN2
Dim N As VbFileAttribute
Dim File1 as String '[Начальный файл]
Dim File2 as String '[Конечный файл]
'... все преобразования
N = getattr(File1)
Setattr File2, N
GSerg писал(а):Ждёт, конечно.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7