Codigo:
Código: Seleccionar todo
' Gambas class file
'*****************************************************
'*****************************************************
'** Autor : Linkgl **
'** Version : 1.0 **
'** Funcion : Lsplit() **
'** Email : [email protected] **
'** Web : www.Indetectables.net **
'*****************************************************
'*****************************************************
'array con el numero de firmas que tiene nuestra string iniciando de 0
PUBLIC a1 AS String[3]
'declaramos la funcion
PUBLIC FUNCTION Lsplit(palabra AS String, limitador AS String, firmas AS Integer)
'buffer actua de almacen
DIM buffer AS String
'sp actua como el numero en la posicion en que se encuentra determinado caracter
DIM sp AS Integer
'i es usado en el bucle
DIM i AS Integer
'indicamos a buffer que almacene la palabra
buffer = palabra
'iniciamos el bucle hasta el numero de firmas que vamos a cortar
FOR i = 0 TO firmas
'extraemos la posicion del primer limitador de derecha a izquierda
sp = RInStr(buffer, limitador)
'sumamos la cantidad de caracteres que tiene el limitador para eliminarlas
sp = sp + Len(limitador)
'separamos el buffer o la palabra de la firma
a1[i] = Mid$(buffer, sp)
'reemplazamos la cadena por nada para ir reduciendola
buffer = Replace(buffer, limitador & a1[i], "")
'repetimos las acciones hasta que no haya mas firmas
NEXT
'la ultima firma la extraemos
a1[firmas] = buffer
END
La funcion Lsplit tiene tres parametros 1 la frase entera, 2 la palabra a cortar 3 el numero de veces que se encuentra la palabra a cortar iniciando por el 0 la funcion devuelve un array inverso, un ejemplo:
Código: Seleccionar todo
' Gambas class file
'*****************************************************
'*****************************************************
'** Autor : Linkgl **
'** Version : 1.0 **
'** Funcion : Lsplit() **
'** Email : [email protected] **
'** Web : www.Indetectables.net **
'*****************************************************
'*****************************************************
PUBLIC a1 AS String[2]
PUBLIC SUB Button1_Click()
Lsplit("hola#LINK#como#LINK#estas", "#LINK#", 2)
message(a1[2])
END
PUBLIC FUNCTION Lsplit(palabra AS String, limitador AS String, firmas AS Integer)
DIM buffer AS String
DIM sp AS Integer
DIM i AS Integer
buffer = palabra
FOR i = 0 TO firmas
sp = RInStr(buffer, limitador)
sp = sp + Len(limitador)
a1[i] = Mid$(buffer, sp)
buffer = Replace(buffer, limitador & a1[i], "")
NEXT
a1[firmas] = buffer
END
message(a1[1]) contiene como
message(a1[0]) contiene estas
DUDAS PREGUNTEN, el codigo es FACILISIMO adaptarlo a vb6 por eso no lo explicaré ademas de que en vb6 es inutil existiendo ya la funcion split() pero puede usarse por si un av detecta split reemplazas por Lsplit para que se vaya el av