Algun compañero me puede pasa una funcion para crear una Split pero no la funcion que ya trae visual basic si no una funcion como las hay en Delphi
http://byronlabs.blogspot.com/
'Split() Alternative function
'Coded By hamavb
 
'MSVBVM60.rtcSplit
'MSVBVM60.__vbaAryCopy
Public Type WeirdType
               e1 As Long
               e2 As Long
               e3 As Long
               e4 As Long
End Type
Public Declare Function rtcSplit Lib "MSVBVM60" (ByRef aa As WeirdType, ByVal ExpressionPtr As Long, ByRef sep As Variant, ByVal zz As Long, ByVal zzz As Long) As Long
Public Declare Function vbaAryCopy Lib "MSVBVM60" Alias "__vbaAryCopy" (ByRef lType() As String, ByVal aa As Long) As Long
Public Function Alternative_Split(ByVal Exp As String, ByVal sep As Variant, Optional ByVal Limit As Integer = -1, Optional ByVal Compare As VbCompareMethod = vbBinaryCompare) As Variant
               Dim aa As WeirdType
               Dim f() As String
               rtcSplit aa, StrPtr(Exp), sep, Limit, Compare
               vbaAryCopy f, VarPtr(aa.e3)
               For i = LBound(f) To UBound(f)
                       f(i) = StrConv(f(i), vbFromUnicode)
               Next i
               Alternative_Split = f
End Function
Saludos.
Ikarus: Backdoor.VBS.SafeLoader
Agnitum: Trojan.VBS.Safebot.A
http://indeseables.github.io/
Para el típico crypter 'estándar' te sirve de sobra, si necesitas separar más de 1 dato debes especificar diferentes delimitadores para cada 1 obligatoriamente.
'Autor: Metal_Kingdom
'Lenguaje: VB6
'Web: udtools.net
'Fecha: 30-11-2011
'Finalidad: Separar datos de cadena.
'Añadido soporte de 2º delimitador opcional.

Function sSplit(cadena As String, delimitador As String, Optional delimitador2 As String) As String
Dim a As String, b As String, c As Long, d As Long
c = InStr(1, cadena, delimitador) + Len(delimitador)
a = Mid(cadena, c, Len(cadena))
b = StrReverse(a)
d = InStr(1, b, StrReverse(delimitador2)) + Len(delimitador2)
b = StrReverse(Mid(b, d, Len(b)))
If Not delimitador2 <> "" Then
sSplit = a
Else
sSplit = b
End If
End Function

'Uso con un delimitador:

MsgBox sSplit("zorrrrrrrrrrrraaaaaaaaahola puta bastarda de mierda hola puta zorra, basura", "puta bastarda")

'Devuelve  " de mierda hola puta zorra, basura".

'Uso con dos delimitadores:

MsgBox sSplit("zorrrrrrrrrrrraaaaaaaaahola puta bastarda de mierda hola puta zorra, basura", "puta bastarda", "puta zorra")

'Devuelve  " de mierda hola "
Saludos
UDTools.net
GitHub: https://github.com/MetalUDT
dejo una opción mas en c#.. por si te apetece traducirla.. en el fondo trabaja como la de metal.. con 2 delimitadores distintos aunque se puede trabajar con uno solamente.
public string sSplit(string texto, string delimitador1, string delimitador2)
        {
            string final = "";
            int posicion1 = texto.IndexOf(delimitador1);
            int posicion2 = texto.IndexOf(delimitador2);
            int tamano = posicion2 + delimitador2.Length;

                if (delimitador2 != "")
                {
                    final = texto.Substring(posicion1 + delimitador1.Length, tamano - (posicion1 + delimitador1.Length + delimitador2.Length));
                }
                else
                { 
                    final = texto.Substring(posicion1 + delimitador1.Length,texto.Length - (posicion1 + delimitador1.Length));
                }

            return final;
        }
uso:
string texto = "HolaComoTeVa?";

sSplit(texto, "Como",""); -------------> =  TeVa?
sSplit(texto, "","Como"); -------------> =  Hola
sSplit(texto, "Hola","TeVa?"); -------------> =  Como
Salud!
Responder

Volver a “Dudas y Preguntas”