[RETO] Obtener nombre de archivo

Iniciado por Psyke1, 13 Febrero 2011, 19:54 PM

0 Miembros y 1 Visitante están viendo este tema.

Karcrack

Mi no saber... en SpeedVb la muestra como la mas rapida con diferencia... asi que algo haces mal :¬¬ :xD

Psyke1

Caca!, si testeo con CTiming me gana... mi clase esta mal (?)
Quizas hacer una funcion que llame a la clase perdia tiempo asi??

DoEvents! :P

Karcrack

Uiiiis... va a ser que tu clase ralentiza el código... tal vez al llamar a una clase tu sistema no sea optimo...

Psyke1

Ya, pero bueno, con funciones, los resultados son más o menos coherentes... :rolleyes:
Será cosa del CallByNameEx() ! :-( :-( :-( :-(

DoEvents! :P

Karcrack

Supongo que si, has de tener en cuenta que las clases tienen una estructura bastante compleja que el CallByNameEx ha de recorrer cada vez... tal vez podrías hacer algo para restar el tiempo que le cuesta al CBNEx encontrar la funcion...

BlackZeroX

Cita de: Karcrack en 14 Febrero 2011, 22:12 PM
Supongo que si, has de tener en cuenta que las clases tienen una estructura bastante compleja que el CallByNameEx ha de recorrer cada vez... tal vez podrías hacer algo para restar el tiempo que le cuesta al CBNEx encontrar la funcion...

GetProcAdress()... y las demás APIS que no recuerdo xP.

Dulces Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

.
Hago la ultima ediciona  mi codigo, ayq ue cuando quite el While Wend no quite algunas cosas.

Código (vb) [Seleccionar]


'
' ////////////////////////////////////////////////////////////////
' // Autor: BlackZeroX ( Ortega Avila Miguel Angel )            //
' //                                                            //
' // Web: http://InfrAngeluX.Sytes.Net/                         //
' //                                                            //
' // |-> Pueden Distribuir Este Código siempre y cuando         //
' // no se eliminen los créditos originales de este código      //
' // No importando que sea modificado/editado o engrandecido    //
' // o achicado, si es en base a este código                    //
' ////////////////////////////////////////////////////////////////
' // http://infrangelux.hostei.com/index.php?option=com_content&view=article&id=17:artgetpatchinfo&catid=2:catprocmanager&Itemid=8
' ////////////////////////////////////////////////////////////////

Option Explicit
Enum GetFileStr
    Extensión = 1
    FileName = 2
    Ruta = 4
End Enum
Public Function GetPatchInfo(ByVal StrRutaFull As String, Optional ByVal Options As GetFileStr = FileName) As String
Dim lng_ptr(1)              As Long
Dim lng_aux                 As Long
    lng_aux = Len(StrRutaFull)
    lng_ptr(0) = InStrRev(StrRutaFull, "\")
    If lng_ptr(0) > 0 Then
        lng_ptr(1) = InStrRev(StrRutaFull, ".")
        If lng_ptr(1) > 0 And Not lng_ptr(0) < lng_ptr(1) Then
            lng_ptr(1) = lng_aux + 1
        End If
        If (Options And Ruta) = Ruta Then
            GetPatchInfo = Mid$(StrRutaFull, 1, lng_ptr(0)) & GetPatchInfo
        End If
        If (Options And FileName) = FileName Then
            If lng_ptr(1) = lng_aux Then
                lng_aux = lng_aux - lng_ptr(0) - 1
            Else
                lng_aux = lng_ptr(1) - lng_ptr(0) - 1
            End If
            GetPatchInfo = GetPatchInfo & Mid$(StrRutaFull, lng_ptr(0) + 1, lng_aux)
        End If
        If (Options And Extensión) = Extensión Then
            GetPatchInfo = GetPatchInfo & Mid$(StrRutaFull, lng_ptr(1), lng_ptr(1))
        End If
    End If
End Function

Public Function Reto_GetPatchInfo$(ByRef StrPath$)
    ' // Esta funcion la agrego para el reto en cuestion...
    Reto_GetPatchInfo = GetPatchInfo(StrPath$, FileName Or Extensión)
End Function



Temibles Lunas!¡.
The Dark Shadow is my passion.

Psyke1

Cita de: BlackZeroX▓▓▒▒░░ en 15 Febrero 2011, 04:06 AM
GetProcAdress()... y las demás APIS que no recuerdo xP.

Dulces Lunas!¡.
Pero eso que dices no es para llamar funciones de una dll? :huh:
La verdad que no veo la manera de sacar el tiempo que tarda en llamar la funcion CBNX... :-(

DoEvents! :P