hola, te agradezco por el ejemplo que me diste con el tema de la cadena.-
El problema es que me toma todo lo que este despues de un "="
la idea es que si en toda la cadena existen los siguientes caracteres ( NMBR= ), en esa condicion si me extraiga los numeros que estan despues de esta.
La idea es hacer un identificador de llamadas.
y el MSComm1.Input me devuelve una cadena mas o menos asi:
\\\RING\\\DATE= 0317\\\\TIME= 1256\\\NMBR= 011548562412\\\RING\\\
todo esto si lo quiero presentar en un text cuando suena el text muestra primero el RING y despues todo los datos(DATE,TIME,NMBR).
creo que lo mejor es hacer lo que te explique al principio.
Detectar si exite NMBR y si es asi chupar la dane de numero que sigue.-
Creo que me explique bien, Espero me entiendas ...
Gracias...
Si solo se trata de extraer el numero que se asocia a NMBR este codigo seria una solucion:
Option Explicit
Const strInput As String = "\\RING\\DATE= 0317\\TIME= 1256\\NMBR= 011548562412\\RING\\"
Const strID As String = "NMBR= "
Private Sub Form_Load()
Dim i As Long, Start As Long
Dim Char As String, Temp As String
Start = InStr(1, strInput, strID)
For i = Start + Len(strID) To Len(strInput)
Char = Mid(strInput, i, 1)
If Char = "\" Then Exit For
Temp = Temp & Char
DoEvents
Next i
MsgBox Temp
End Sub
Si por la contra necesitas sacar cualquier valor que contenga la cadena de texto puedes usar este metodo mas generico:
Option Explicit
Const strInput As String = "\\\RING\\\DATE= 0317\\\\TIME= 1256\\\NMBR= 011548562412\\\RING\\\"
Private Sub Form_Load()
Dim Buffer(2) As String
Buffer(0) = GetDataFromStream(strInput, "DATE= ", "\")
Buffer(1) = GetDataFromStream(strInput, "TIME= ", "\")
Buffer(2) = GetDataFromStream(strInput, "NMBR= ", "\")
MsgBox "DATE = " & Buffer(0) & vbNewLine & "TIME = " & Buffer(1) & vbNewLine & "NMBR = " & Buffer(2)
End Sub
Private Function GetDataFromStream(Source As String, FromString As String, UntilChar As String) As String
Dim i As Long, Start As Long
Dim Char As String
Start = InStr(1, Source, FromString)
For i = Start + Len(FromString) To Len(Source)
Char = Mid(Source, i, 1)
If Char = UntilChar Then Exit For
GetDataFromStream = GetDataFromStream & Char
DoEvents
Next i
End Function
Salu2...