I need to copy or move the number of text files from one folder to another. The target is USB drive.
How to show the progress of copying/moving files and then indicate to remove the flash drive when all the files are copied/moved?
1. Add all the files names to a global list.
2. Create a sub that copies a file, updates the progress bar and calls itself with CallSubDelayed.
B4X:
Sub CopyFile
If AllFiles.Size = 0 Then
Complete
Else
Dim f As String = AllFiles.Get(0)
AllFiles.RemoveAt(0)
File.Copy(...)
ProgressBar.Progress = Max(0, 100 - AllFiles.Size)
CallSubDelayed(Me, "CopyFile")
End Sub
Sub Complete
Log("Complete")
End Sub
1. Add all the files names to a global list.
2. Create a sub that copies a file, updates the progress bar and calls itself with CallSubDelayed.
B4X:
Sub CopyFile
If AllFiles.Size = 0 Then
Complete
Else
Dim f As String = AllFiles.Get(0)
AllFiles.RemoveAt(0)
File.Copy(...)
ProgressBar.Progress = Max(0, 100 - AllFiles.Size)
CallSubDelayed(Me, "CopyFile")
End Sub
Sub Complete
Log("Complete")
End Sub
1. Add all the files names to a global list.
2. Create a sub that copies a file, updates the progress bar and calls itself with CallSubDelayed.
B4X:
Sub CopyFile
If AllFiles.Size = 0 Then
Complete
Else
Dim f As String = AllFiles.Get(0)
AllFiles.RemoveAt(0)
File.Copy(...)
ProgressBar.Progress = Max(0, 100 - AllFiles.Size)
CallSubDelayed(Me, "CopyFile")
End Sub
Sub Complete
Log("Complete")
End Sub
Sorry to wake this old thread @Erel but I am curious why you didn't suggest a For Next loop that copies all the files instead of calling the function from itself. I am performing a batch move of files and some users are complaining that the process gets stuck with the UI not responding, even though I am using File.Copy2Async. Does it have something to do with the fact that I am copying all files in a For Next loop, unlike your above suggestion?
Sorry to wake this old thread @Erel but I am curious why you didn't suggest a For Next loop that copies all the files instead of calling the function from itself
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.