Windows # Per emulare l'animazione del file che vola da una cartella ad un'altra, esiste una funzione API che gestisce tutta l'operazione:
'Dichiarazioni e costanti da inserire in un modulo bas: Public Const FO_COPY As Long = &H2 Type SHFILEOPSTRUCT hwndAs Long wFuncAs Long pFromAs String pToAs String fFlagsAs Long fAnyOperationsAbortedAs Long hNameMappingsAs Long lpszProgressTitleAs String End Type Declare Function SHFileOperation Lib "Shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long 'Codice per eseguire la copia da inserire in una procedura, 'ad esempio nel Command_Click: Private Sub Command1_Click() Dim result As Long Dim fileop As SHFILEOPSTRUCT With fileop .hwnd = Me.hwnd .wFunc = FO_COPY 'Possono essere copiati piu' file i quali devono essere separati da un 'carettere nullo e la lista deve essere terminata da 2 caratteri nulli: .pFrom = "C:\ESEMPIO\MIOFILE.TXT" & vbNullChar & _ "C:\ESEMPIO\MIOHELP.HLP" & vbNullChar & vbNullChar 'oppure possono essere copiati tutti i file's di una directory 'utilizzando questa riga di codice: '.pFrom = "C:\ESEMIPO\*.*" & vbNullChar & vbNullChar .pTo = "C:\testfolder\" & vbNullChar & vbNullChar .fFlags = FOF_SIMPLEPROGRESS Or FOF_FILESONLY End With result = SHFileOperation(fileop) ' Si puo' verificato un errore If result <> 0 Then MsgBox Err.LastDllError 'Visualizza l'errore riportato dalla chiamata alla dll Else If fileop.fAnyOperationsAborted <> 0 Then 'Operazione annullata MsgBox "Operazione annullata dall'utente!" End If End If End Sub |