Logo

¡Bienvenido a Stratos!

Acceder

Foros



Para Ex3

Iniciado por sebastianarroyo, 17 de Marzo de 2006, 05:21:22 PM

« anterior - próximo »

sebastianarroyo

 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...

[EX3]

 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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.