Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Interpretar numeros

Estas en el tema de Interpretar numeros en el foro de Visual Basic clásico en Foros del Web. Buenas Necesito en VB6 poder interpretar algo a partir de nros, es decir, nos llegan unos txt a la empresa y necesitamos levantar ese txt ...
  #1 (permalink)  
Antiguo 23/05/2008, 12:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Interpretar numeros

Buenas

Necesito en VB6 poder interpretar algo a partir de nros, es decir, nos llegan unos txt a la empresa y necesitamos levantar ese txt que vienen varios nros, unos 16, 0010299302 y asi, el tema es que por ej el 0010 significa que el auto no esta listo, el 2993 significa el color, como hago en primer lugar para lograr esa separacion y luego interpretar lo que cada codigo significa?, tendria el significado de cada codigo en una base de datos...pero deberia mostrar en el software lo que quiere decir ese conjunto de nros, se entiende?
  #2 (permalink)  
Antiguo 23/05/2008, 12:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Interpretar numeros

Cita:
Iniciado por SeNdEr2003 Ver Mensaje
Buenas

Necesito en VB6 poder interpretar algo a partir de nros, es decir, nos llegan unos txt a la empresa y necesitamos levantar ese txt que vienen varios nros, unos 16, 0010299302 y asi, el tema es que por ej el 0010 significa que el auto no esta listo, el 2993 significa el color, como hago en primer lugar para lograr esa separacion y luego interpretar lo que cada codigo significa?, tendria el significado de cada codigo en una base de datos...pero deberia mostrar en el software lo que quiere decir ese conjunto de nros, se entiende?
Por lo que veo cada 4 números significa algo. Con Mid puedes extraer cada 4 caracteres y comparar con lo que tienes en la BD. Por ejemplo:
Código:
 
Dim Codigo As String
Codigo = Mid("0010299302", 1, 4) 'Extraer 4 caracteres desde el primero
BD = "select descripcion from codigos where codigo='" & Codigo & "'"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/05/2008, 23:17
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Interpretar numeros

Muchas gracias!!, va encaminado!!!, ahora el tema es que este numero llega en un TXT, como hago para levantar un archivo txt, leerlo e interpretarlo de esa manera?

Bueno, para levantar y mostrar el txt, lo hago de la siguiente manera:

Código:
Open "C:\archivo.txt" For Input As #1
While Not EOF(1)

Line Input #1, Linea1

'Código de manejo de la línea

Wend
txtArchivo.Text = "C:\archivo.txt" 'aca me gustaria saber como obtener la direccion donde se encuentra el archivo
lblLinea1.Caption = Linea1
El tema es que este codigo solo me muestra una linea del archivo, como hago para mostrar y ver TODO el contenido?, y ademas linea por linea? pero de momento mostrarlo todo...

Última edición por SeNdEr2003; 25/05/2008 a las 00:00
  #4 (permalink)  
Antiguo 25/05/2008, 02:34
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Interpretar numeros

Hola,

prueba así:

Código:
Private Sub Command1_Click()
Dim sLinea As String
Open "C:\Archivo.txt" For Input As #1
Do While Not EOF(1)
    Line Input #1, sLinea
    Text1 = Text1 & sLinea & vbNewLine
Loop
Close #1
End Sub

  #5 (permalink)  
Antiguo 25/05/2008, 12:02
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Interpretar numeros

gracias, funciono muy bien, me lo abre y muestra pero con simbolos raros, de esta manera:

ÿþ26535366||4532453245||

como hago para quitar los ÿþ que aparecen al principio, no se porque sale eso, ah y los espacios me los muestra con || esos simbolos, alguna forma de ordenar eso? gracias!
  #6 (permalink)  
Antiguo 26/05/2008, 00:07
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Interpretar numeros

Si los símbolos raros siempre son dos caracteres y al principio de cada línea, puedes hacer algo así:

Código:
Do While Not EOF(1)
    Line Input #1, sLinea
    If sLinea <> "" Then
        ' eliminamos los dos primeros caracteres
        sLinea = Right(sLinea, Len(sLinea) - 2)
        ' sustituimos || por espacios
        sLinea = Replace(sLinea, "||", " ")
        Text1 = Text1 & sLinea & vbNewLine
    End If
Loop
  #7 (permalink)  
Antiguo 27/05/2008, 12:02
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Interpretar numeros

me sirvio todo gracias, ahora el tema es, tengo separado los primeros 4 numeros de la cadena, pero necesito separar la segunda parte, es decir si tengo:

26535366, tomar solo 5366, se entiende?, usando la funcion: Mid(Text1.Text, 1, 4) me extrae los 1ros cuatro, es decir 2653, pero como hago para tomar los 4 siguientes??, probe poniendo 2,4 pero me toma otra cosa...alguna idea que me ayude?

Edito, viendo la ayuda de VB me encuentro con esto para tomar los 4 de la derecha: Codigo2 = Right$(Text1.Text, 1, 4)

pero me dice argumento no valido, yo para controlar uso un if por ahora, luego vere de usar base de datos, son pocos nros de momento...

tengo asi:

Código:
Dim sLinea As String
Open "C:\archivo.dat" For Input As #1
Do While Not EOF(1)
    Line Input #1, sLinea
    If sLinea <> "" Then
        ' eliminamos los dos primeros caracteres
        sLinea = Right(sLinea, Len(sLinea) - 2)
        ' sustituimos caracteres especiales por espacios
        sLinea = Replace(sLinea, "||", " ")
        Text1 = Text1 & sLinea & vbNewLine
    End If

Loop
Close #1
Dim Codigo As String
Codigo = Mid(Text1.Text, 1, 4) 'Extraer 4 caracteres desde el primero
Codigo2 = Right(Text1.Text, 1, 4) 'Extraer 4 caracteres desde el ultimo
If Codigo = "2653" Then
 Text2.Text = "Color Rojo"
 If Codigo2 = "5366" Then
  Text3.Text = "Color Blanco"
 End If
End If
me da error de argumento en el right...

Última edición por SeNdEr2003; 27/05/2008 a las 12:08
  #8 (permalink)  
Antiguo 27/05/2008, 12:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Interpretar numeros

Puedes hacerlo con Mid:
Código:
Codigo = Mid(Text1.Text, 5, 4) 'Tomar a partir del 5º caracter, 4 caracteres
o con Right
Código:
 
Codigo = Right(Text1.Text, 4) 'Tomar los cuatro caracteres de la derecha
También puedes usar Left para los cuatro primeros caracteres
Código:
 
Codigo = Left(Text1.Text, 4)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 27/05/2008, 13:23
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Interpretar numeros

listo funciona de maravillas, graciaasssssssssssssssssssssssssssss!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:42.