Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 79137913

#981
HOLA!!!

Porque ... si yo tengo esto:
Pos.index(3,10,7)
Pos.Delimit(1,1,2)


Lo que va a dar es:
Respuesta(mid(texto,1,3),mid(texto,4,10),mid(texto,11,7))
                                              error^  ^


Entendes?

GRACIAS POR LEER!!!
#982
HOLA!!!

Si, en un vector, lo entiendo, pero lo que te decia era que es un bajon ordenarlo.

GRACIASPOR LEER!!!
#983
HOLA!!!

No, Fijate que se hace un recorrido(hecho de instr en el while) por cada Delimitador, entonces si en el lugar 3 y 10 esta el delimitador 1 y en el lugar 7 esta el delimitador 2 el vector quedara asi:


Pos.index(3,10,7)
Pos.Delimit(1,1,2)


GRACIAS POR LEER!!!
#984
HOLA!!!

Si, hice eso cuando lo estapa haciendo, pero al usar instr por cada delimitador el vector estaria desordenado y ordenarlo es un bajon... la otra forma que tendria es con mid, pero seria mas lento.

GRACIAS POR LEER!!!
#985
Foro Libre / Re: Avizo de tsunami.
14 Marzo 2011, 19:30 PM
HOLA!!!

Cita de: raul338 en 14 Marzo 2011, 18:36 PM
No seas mentiroso, aca te azotan con una semana de calor y 3 dias de lluvia torrencial :xD fuera de eso, todo ok :xD

No se, en Mardel esta todo tranqui XD, se viene el frio :( chau verano.

GRACIAS POR LEER!!!
#987
HOLA!!!

Mmm, en cuanto al punto 1 si, lo voy a cambiar.

En cuanto al punto 2... En ese array que decis, ademas de la posicion del delimitador debo guardar el delimitador (osea delimitador(0) en posicion 3) eso me obliga a usar 2 vectores o una matriz, al usar una matriz tendria que saltar los espacios blancos que hay, pero si uso 2 vectores uno para la posicion y otro para el delimitador mmm... podria ser voy a probar.

Me dio fiaca hacer el punto 2 XD

GRACIAS POR LEER!!!
#988
HOLA!!!

Hoy queria hacer un split que devuelva un array con varios delimitadores y aparte tenga la opcion de guardar el delimitador... en fin... hice esta funcion, espero que les sirva.

Antes que el codigo Ejemplo:

Código (vb) [Seleccionar]
Private Sub Ejemplo()
Dim dels(3) As String
Dim result() As String
Const ss As String = "hola+como--andas(((esto====es+una--prueba"
   dels(0) = "+"
   dels(1) = "--"
   dels(2) = "((("
   dels(3) = "===="
   
   'sin preservar delimitadores
   result = MultiSplit7913(ss, dels, False)
   'result = ("hola";"como";"andas";"esto";"es";"una";"prueba")
   
   'preservando delimitadores
   result = MultiSplit7913(ss, dels, True)
   'result = ("hola";"+como";"--andas";"(((esto";"====es";"+una";"--prueba")
End Sub


El Codigo

Código (vb) [Seleccionar]
Private Function MultiSplit7913(expression As String, Delimiter() As String, PreserveDel As Boolean) As String()
Dim DelCount    As Long
Dim lExp        As Long
Dim X           As Long
Dim Pos         As Long
Dim DelPos()    As Long
Dim AuxArr()    As String
Dim LastPos     As Long
Dim LastLen     As Long
Dim LastInstr   As Long

    expression = expression & Delimiter(0)
    lExp = Len(expression)
    DelCount = UBound(Delimiter)
    ReDim DelPos(lExp)
     
    For X = 0 To DelCount
        Pos = 1
        LastInstr = InStr(Pos, expression, Delimiter(X))
        Do While LastInstr <> 0
            DelPos(LastInstr) = X + 1
            Pos = LastInstr + Len(Delimiter(X)) + Pos
            LastInstr = InStr(Pos, expression, Delimiter(X))
        Loop
    Next
   
    ReDim AuxArr(0)
   
    LastPos = 1
     
    For X = 0 To lExp
        If DelPos(X) <> 0 Then
            ReDim Preserve AuxArr(UBound(AuxArr) + 1)
            If PreserveDel Then
                AuxArr(UBound(AuxArr) - 1) = Mid$(expression, LastPos, X - LastPos)
            Else
                AuxArr(UBound(AuxArr) - 1) = Mid$(expression, LastPos + LastLen, X - LastPos - LastLen)
                LastLen = Len(Delimiter(DelPos(X) - 1))
            End If
            LastPos = X
        End If
    Next
     
    ReDim Preserve AuxArr(UBound(AuxArr) - 1)
     
    MultiSplit7913 = AuxArr

End Function


GRACIAS POR LEER!!!
#989
HOLA!!!

Me parece que la opcion de ponerle pass a la bios no es viable, ya que le sacas la pila esperas 10 min y se va la clave.

GRACIAS POR LEER!!!
#990
HOLA!!!

Mmm, lamentablemente en este caso creo que tiene que devolver error si comparas una palabra con una cadena de espacios, pero al comparar "palabra" con" palabra" tiene que devolver iguales, pero es necesario que tome en cuenta los espacios, ya que "hola como andas" va antes que "holacomoestas" no se si me entienden... Seria lo mas correcto.

GRACIAS POR LEER!!!