Página 1 de 1

Función sFileCopy by Slek

Publicado: 13 Feb 2010, 17:19
por Slek
Esta función simula FileCopy, pero además determina con mucha fiabilidad, si se ha copiado o no el archivo...

Código: Seleccionar todo

Function sFileCopy(sFilePath As String, sCopyPath As String) As Boolean
'Autor: Slek
'Fecha: 13/02/10
'Descripción: esta función simula FileCopy de VB6
'Además devuelve True o False si se ha copiado correctamente o no respectivamente
'Para Indetectables.net
Dim Fso, FFile
Dim bCode() As Byte
Dim Tst As Long

On Error GoTo Err

Tst = FileLen(sFilePath)

FFile = FreeFile
Open sFilePath For Binary Access Read As #FFile
    ReDim bCode(Tst - 1)
    Get #FFile, , bCode()
Close #FFile

Set Fso = CreateObject("Scripting.FileSystemObject")
If Fso.FileExists(sCopyPath) Then Kill sCopyPath

Open sCopyPath For Binary Access Write As #FFile
    Put #FFile, , bCode()
Close #FFile

If Fso.FileExists(sCopyPath) Then
    If Tst = FileLen(sCopyPath) Then
        sCopy = True
        Exit Function
    Else
        GoTo Err
    End If
Else
    GoTo Err
End If
Err:
    sCopy = False
End Function
Ejemplos de su uso:

Código: Seleccionar todo

Dim x As Boolen
x = sCopy("C:\Oxigen Crypter.exe", "C:\Copy.exe")

If x Then
    MsgBox "Copied"
Else
    MsgBox "Error"
End If
Saludos!

Re: Función sFileCopy by Slek

Publicado: 14 Feb 2010, 05:46
por linkgl
bien ahi, solo que en el ejemplo pusiste Dim x As Boolen y es Dim x As Boolean

y podrias ahorrarte el if dentro del otro if poniendo un and xD osease:

Código: Seleccionar todo

If Fso.FileExists(sCopyPath) And Tst = FileLen(sCopyPath) Then
   sCopy = True
   Exit Function
Else
    GoTo Err
End If
y en el if que pones de ejemplo de uso xD me marca error aunque se copio correctamente saludos

--edito

tambien marcas en el ejemplo que la funcion es sCopy y la funcion se llama sFileCopy xD

Re: Función sFileCopy by Slek

Publicado: 14 Feb 2010, 08:45
por Slek
xDDD Fallos de ultima hora xD
Es que estaba haciendo las pruebas con el nombre de la función sCopy, pero luego se lo cambié. Y también estaba haciendo las pruebas sin declarar la x xDD

Es cierto lo del If .. and jeje gracias.

Ahora lo arreglo. No me deja editar >.<

Re: Función sFileCopy by Slek

Publicado: 14 Feb 2010, 17:43
por linkgl
xD dale, nos pasa a cualquiera saludos