[SRC] cCollectionEx.cls

Iniciado por Psyke1, 20 Agosto 2010, 13:36 PM

0 Miembros y 4 Visitantes están viendo este tema.

BlackZeroX

#10
*PsYkE1*

tu funcion Reverse es leeeenta, mejor en dicha funcion pon un Boolean

Código (Vb) [Seleccionar]


Public function Reverse() as boolean ' //Solo para alternar
    ReverseMode= not ReverseMode
    Reverse = ReverseMode
End Sub



y digamos por ejemplo en la funcion Item

Código (vb,3) [Seleccionar]


Public Property Get Item(ByVal Index As Long) As Variant
   if ReverseMod then index =  lcount +1 - index
   Item = vColl(Index)
End Property



asi no evitas el Proc que tienes.... es mas rapido aun xP

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

BlackZeroX

#11
atendiendo tu MP *PsYkE1*

loq ue hace tu Reverse es:



1,2,9,4,7,6,8



Aplicando Reverse



8,6,7,4,9,2,1



en los Indices Reales ok...

yo que yo digo es que si pones las funciones que te plasme ensima se calcula el index automaticamente sin camviar el contenido de los valores, es decir.

Teniendo esta collecion:



1,2,9,4,7,6,8



ingresamos   item(1) nos devolvera 1 y si ingresamos item(3)   nos devuelve 9 ok en tu Reverse se cambia el contenido en mi propuesta es que solo se altere una variable tipo Boolean de esta forma evitamos el transpaso del contenido y solamente calculamos el index segun esta variable

si item(1) antes de mi Reverse devuelve 1 e item(3) devuelve 9 con reverse (Solo alterando a la variable Boolean)  se calcula que  item(1)   devuelve  8  e item(3)    el 7 es decir:




Si ReverseMode = true entonces
   Index = LCount - index +1
Fin Si
Devolver Item [ Index ]



En forma practica:

El item 1 de la colección digamos que contiene "Hola Mundo" el item 98 de la colección contiene "Dulces Lunas!¡." y en total hay 98 Items.

entonces:

Si ReverseMode = verdadero y Si y solo si Index = 1 me devuelve "Dulces Lunas!¡." pero si ReverseMode = false me devolvera "Hola Mundo".

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Psyke1

Perfecto, ya te pillo...
Gracias, mañana modifico, voy a la cama...

DoEvents¡! :P

Di~OsK

Necesitas un servidor de TeamSpeak? Un certificado SSL? MANDA MP

BlackZeroX

bueno yo igual ire a terminar mi Clase de Colecciones!¡.

Hay nos vidrios
The Dark Shadow is my passion.

Psyke1

Cita de: BlackZeroX en 22 Agosto 2010, 03:12 AM
bueno yo igual ire a terminar mi Clase de Colecciones!¡.

Hay nos vidrios
:o
Te odio!
Ahora me dejaras en ridiculo... :-[
Muchas gracias atodos por la ayuda  :) , ahora ya esta corregido...

DoEvents¡! :P

BlackZeroX

te falto en SwapItem, entre otros, recuerda que el ReverseMode seria Gral no solo en el de Proc Item

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

Psyke1

#17
Oops
Gracias... ;)
FAIL  :xD
Ahora ya esta de una vez (?) :)

DoEvents¡! :P

Psyke1

Clase actualizada y mejorada, en unas horas actualizo los resultados de la diferencia de velocidad con respecto a la nativa de vb. :D

DoEvents! :P

79137913

HOLA!!!

Che, agregale una funcion "Load From File" para que levante texto delimitado.

Y si podes habilitar integridad referencial entre 2 collections seria genial.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*