Visual Basic - Leer Archivo TXT y Extraer Info,

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 19/07/2019 17:54:25
Hola buen día,

Soy relativamente nuevo en esto de la programación visual y quisiera su ayuda para hacer una rutina la cual me lea un archivo txt el cual contiene una Linea de información bastante extensa pero les pongo un ejemplo de lo que trae:

NOM06CARLOSAPE05PEREZPA06MEXICO

Lo que trae es NOM 06 CARLOS lo que significa que es nombre de 6 caracteres CARLOS luego sigue el APE que es apellido y el PA que es país mi archivo se llama DATOS.TXT que se encuentra en el C:. quiero leerlo y luego mandarlo a una tabla o un EXCEL que tenga columnas, obviamente ese excel ya esta creado solo es colocarlo y que quedara algo asi:

NOMBRE APELLIDO PAIS
CARLOS PEREZ MEXICO

es posible?? alguna idea de como podría empezar? sobre todo cargando el archivo? Usaría Visual o Visual Studio 2015.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 109
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Yamil Bracho (226 intervenciones) el 19/07/2019 18:07:41
Es totalmente factible y de hecho lopuedes hacer hast en VBA, es decir, con programacion VB desde Excel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Antoni Masana (558 intervenciones) el 23/07/2019 12:01:02
Me gustaría saber algunas cosas antes de empezar.

¿Quien ha creado este fichero de texto?

¿Es posible cambiar el formato? es decir: ¿Que sea creado de otra forma?

Hay un montón de formatos que son reconocidos por EXCEL y este no es uno de ellos.

Por ejemplo campos separados por un carácter. ( Coma, Punto y Coma, Espacio , etc)

1
2
3
NOM;APE;PA
CARLOS;PEREZ;MEXICO
GILBERTO;RODRIGUEZ;PORTUGAL

Otro formato es longitud fija de los campos

1
2
3
NOM       APE       PA
CARLOS    PEREZ     MEXICO
GILBERTO  RODRIGUEZ PORTUGAL

Tipo XML

1
2
<NOM>CARLOS</NOM><APE>PEREZ</APE><PA>MEXICO</PA>
<NOM>GILBERTO</NOM><APE>RODRIGUEZ</APE><PA>PORTUGAL</PA>

Si no hay mas remedio necesito saber que campos tiene y que envíes un fichero con algo más de 4 líneas para probar la macro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Andres Leonardo (1798 intervenciones) el 23/07/2019 18:23:45
Pues si respetas las posiciones que dices y nombre apellido y pais NO tienen mas de 3 digitos ... deberia funcionarte

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FileName = "C:\RutaPruebas\LeeArchivo\Datos.txt"
     Open FileName For Input As 1 ' por cada linea
            While Not EOF(1)     'Lee el archivo mientras no sea fin de archivo
 
              Line Input #1, cadena         'Lee la cadena
                'MsgBox cadena
                inicio = InStr(1, cadena, "NOM")
                Nombre = Mid(cadena, 6, Mid(cadena, inicio + 3, 2) * 1)
                inicio = InStr(inicio + 3 + Len(Nombre) + 2, cadena, "APE")
                Apellido = Mid(cadena, inicio + 5, Mid(cadena, inicio + 3, 2) * 1)
                inicio = InStr(inicio + 3 + Len(Apellido) + 2, cadena, "PA")
                 Pais = Mid(cadena, inicio + 4, Mid(cadena, inicio + 2, 2) * 1)
                 MsgBox "N= " & Nombre & " A=" & Apellido & " P= " & Pais
            Wend
      Close 1



Linea1
Linea3
Linea4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 24/07/2019 03:18:40
Exacto algo así quiero hacer el problema es que es un archivo muy grande y viene así con muchos datos y muchas etiquetas. déjame pruebo el que me acabas de enviar y te comento, pero muchas gracias por tomarte el tiempo Andrés.
En que lo hiciste? es que yo estoy usando Visual Studio 2015.


Gracias y Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Andres Leonardo (1798 intervenciones) el 24/07/2019 17:14:15
Como estas en el foro de VB6 lo hice en VB6 pero la verdad no veo dificil hacerlo en .net

Mi pregunta ahora es

El fichero solo tiene una LINEA????? y todos los datos son uno junto a otro???

Si es asi confirmame por que cambiaria la Logica.

te dejo el codigo en .NET use la version 2012 pero entiendo te sirve para 2015 sin problemas
Confirma lo del RFC y lo de las Lineas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Class Form1
    Public FileName As String
    Dim inicio As Integer
    Dim Nombre, apellido, pais, rfc As String
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' Apuntador libre a archivo #1 o se puede pedir por freefile
        ' Variable donde guardamos cada línea de texto 
        Dim Cadena As String
 
        FileName = "C:\Users\aguerrero\Documents\Visual Studio 2012\Projects\LeeArchivoNet\Datos.txt"
        FileOpen(1, FileName, OpenMode.Input)
        Do While Not EOF(1)     'Lee el archivo mientras no sea fin de archivo
 
            Cadena = LineInput(1)   'Lee la linea y la pone como cadena
            'MsgBox cadena
            inicio = InStr(1, cadena, "NOM")
            Nombre = Mid(cadena, 6, Mid(cadena, inicio + 3, 2) * 1)
            inicio = InStr(inicio + 3 + Len(Nombre) + 2, cadena, "APE")
            Apellido = Mid(cadena, inicio + 5, Mid(cadena, inicio + 3, 2) * 1)
            inicio = InStr(inicio + 3 + Len(Apellido) + 2, cadena, "PA")
            Pais = Mid(cadena, inicio + 4, Mid(cadena, inicio + 2, 2) * 1)
            MsgBox("N= " & Nombre & " A=" & Apellido & " P= " & Pais)
        Loop
        FileClose(1)
 
    End Sub
End Class
EnPuntonet
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 24/07/2019 17:30:46
Hola si de hecho comentaba que mis lineas son cambiantes pero te pongo la idea más clara con dos registros:

El archivo así viene una sola linea larguísima:

Nom06CarlosDir11GuadalajaraPa06MexicoRFC010CAPC830948Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD860443

Los unicos identificadores que tenemos por ejemplo son NOM de NOM A NOM es una linea meterla en una variable

Linea1 = Nom06CarlosDir11GuadalajaraPa06MexicoRFC010CAPC830948
Linea2 = Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD860443

y quizá ya con eso.. ahora sería partir Linea1 en NOM, DIR, PA y RFC.

Ese es el problema extraer cada NOM con sus datos y luego ponerlo en orden.

Muchas gracias por contestar y ayudarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 24/07/2019 03:31:11
Exacto no tiene nada para separarlo solo los NOM,DIR,PA,RFC.

Pongo un ejemplo de la línea.

Nom06CarlosDir012GuadalajaraPa06MexicoRFC010CAPC8309482

Entonces se debe extraer el Nombre, Dirección, País y RFC, meter esos datos en una Variable para que me los imprima

Ejemplo:
Nombre = Carlos
Dirección = Guadalajara
País = México
RFC = 010CAPC8309482

después de esa línea sigue otra y otra ejemplo:

Nom06CarlosDir012GuadalajaraPa06MexicoRFC010CAPC830948Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD8604432

Entonces debe salir así:

Nombre = Carlos
Dirección = Guadalajara
País = México
RFC = CAPC830948

Nombre = David
Dirección = Veracruz
País = México
RFC = DAVD8604432

Y así sucesivamente hasta que termine el archivo, suena pesado ¿verdad?...
Muchas gracias por contestar.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Antoni Masana (558 intervenciones) el 24/07/2019 11:18:39
Nom06CarlosDir011GuadalajaraPa06MexicoRFC010CAPC8309482
Nom06CarlosDir011GuadalajaraPa06MexicoRFC010CAPC830948
Nom05David Dir08Veracruz Pa06MexicoRFC010DAVD8604432

Encuentro fallos o más bien incoherencias en el planteamiento del fichero:

Primer registro:

1
Nom06CarlosDir012GuadalajaraPa06MexicoRFC010CAPC8309482

Campo 1:
- 3 Caracteres identificativos ( NOM )
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 2:
- 3 Caracteres identificativos ( DIR )
- 3 Dígitos de longitud de campo.
- Campo es si mismo

Campo 3
- 2 Caracteres identificativos ( PA )
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 4:
- 3 Caracteres identificativos ( RFC )
- Campo es si mismo longitud fija de 14

Ahora analicemos el segundo registro

1
2
Nom06CarlosDir012GuadalajaraPa06MexicoRFC010CAPC830948
Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD8604432

Campo 1:
- 3 Caracteres identificativos ( NOM ) -- Correcto
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 2:
- 3 Caracteres identificativos ( DIR ) -- FALLO -- Guaralajara tiene 11 caracteres y no 12
- 3 Dígitos de longitud de campo.
- Campo es si mismo

Campo 3
- 2 Caracteres identificativos ( PA ) -- Correcto
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 4:
- 3 Caracteres identificativos ( RFC ) -- FALLO - ¿Porque este es diferente al anterior
- 3 Dígitos de longitud de campo.
- Campo es si mismo


Campo 5:
- 3 Caracteres identificativos ( NOM ) -- Correcto
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 6:
- 3 Caracteres identificativos ( DIR ) -- FALLO -- Antes 3 dígitos y ahora 2 ¿?
- 3 Dígitos de longitud de campo.
- Campo es si mismo

Campo 7
- 2 Caracteres identificativos ( PA ) -- Correcto
- 2 Dígitos de longitud de campo.
- Campo es si mismo

Campo 8:
- 3 Caracteres identificativos ( RFC ) -- FALLO -- Aquí dice que la longitud del campo es de 10 y en realidad es de 11
- 3 Dígitos de longitud de campo.
- Campo es si mismo.

Demasiados fallos como para creer que esto tiene algún sentido o alguna utilidad.

Te pongo una MACRO que he intentado hacer pero que no funciona porque las cabeceras de campo no son iguales:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub macro()
    Fila = 1
 
    Open "C:\Tmp\Datos.txt" For Input As 1 ' por cada linea
    While Not EOF(1)     'Lee el archivo mientras no sea fin de archivo
 
        Line Input #1, Cadena         'Lee la cadena
        While Len(Cadena) > 0
            If UCase(Left(Cadena, 3)) = "NOM" Then
               Lng = Val(Mid$(Cadena, 4, 2))
               Nombr = Mid$(Cadena, 6, Lng)
               Cadena = Mid$(Cadena, Lng + 6)
 
               Lng = Val(Mid$(Cadena, 4, 3))  ' Dir
               Direc = Mid$(Cadena, 7, Lng)
               Cadena = Mid$(Cadena, Lng + 7)
 
               Lng = Val(Mid$(Cadena, 3, 2))  ' Pa
               Pais = Mid$(Cadena, 5, Lng)
               Cadena = Mid$(Cadena, Lng + 5)
 
               RFC = Mid$(Cadena, 4, 14)
               Cadena = Mid$(Cadena, 18)
            Else
               MsgBox "ERROR: Inicio desconocido"
               Cadena = ""
            End If
            Fila = Fila + 1
            Cells(Fila, 1) = Nombr
            Cells(Fila, 2) = Direc
            Cells(Fila, 3) = Pais
            Cells(Fila, 4) = RFC
        Wend
    Wend
    Close 1
End Sub

Sube un fichero de ejemplo o mejor aun cambia el diseño del fichero porque este diseño es un caos.


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 24/07/2019 17:24:36
Muchas gracias por contestar tan rápido, mira es que el archivo que tengo esta en mi computadora del trabajo y no podemos sacar nada, es un archivo caótico, y si los campos de número por ejemplo al principio son 06 y después depende del nombre serán más grandes ejemplo 012 pero no te pone el 12 solo agrega un cero son cambiantes. y le puse números de más para poner un ejemplo de que todas las lineas serán diferentes. Lo único que tenemos son los identificadores como NOM sería como Leer de NOM hasta otro NOM y separar esa linea de código y meterla en una variable luego esa variable partirla por NOM, DIR, PA, RFC.

Nom06CarlosDir11GuadalajaraPa06MexicoRFC010CAPC830948Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD860443

de NOM a NOM una guardar esa linea en una variable = Nom06CarlosDir11GuadalajaraPa06MexicoRFC010CAPC830948
la segunda = Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD860443

aunque de esta forma esa variable también se debe ir incrementando porque serán muchos registros.
quiza ejemplo A1 = Nom06CarlosDir11GuadalajaraPa06MexicoRFC010CAPC830948
A2 = Nom05DavidDir08VeracruzPa06MexicoRFC010DAVD860443

Es algo... complejo que aún me tiene pensando... y pensando jaja.

Pero muchas gracias por responder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Andres Leonardo (1798 intervenciones) el 24/07/2019 17:29:27
Haber pero entonces definamos para poder ayudarte

1.-En realidad es una sola linea que contiene varios registros donde el separador sera "NOM"

2.-Existe un numero de caracteres o tu los pusiste para ejemplo
viene NOM06ANDRES o viene NOMANDRES

3.- revisast3e lo de .3net
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos César
Val: 12
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Carlos César (6 intervenciones) el 24/07/2019 18:01:01
Hola,

1.- Correcto el separador es NOM.

2.- Si antes del nombre viene el número de caracteres que trae el nombre NOM06ANDRES o NOM05DAVID

3.- Apenas voy a revisar el de .Net

Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Andres Leonardo (1798 intervenciones) el 24/07/2019 18:51:15
te pase un mensaje por interno

otro tema cual es el ultimo campo RFC????

por que lo que hare es dividir la linea ...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer Archivo TXT y Extraer Info,

Publicado por Andres Leonardo (1798 intervenciones) el 24/07/2019 21:11:46
Te adjunto como me diste nueva definicion.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' Apuntador libre a archivo #1 o se puede pedir por freefile
        ' Variable donde guardamos cada línea de texto 
        Dim Cadena As String
        Dim texto As String
        Dim d1, d2, d3, d4, d5, d6, d7 As String
        'FileName = "C:\Users\aguerrero\Documents\Visual Studio 2012\Projects\LeeArchivoNet\Datos.txt"
        'FileOpen(1, FileName, OpenMode.Input)
        'Do While Not EOF(1)     'Lee el archivo mientras no sea fin de archivo
 
        'Cadena = LineInput(1)   'Lee la linea y la pone como cadena
        Cadena = "PN06GARCIA0006FLORES0204JUAN0306CARLOS0408120319900510GAFJ9003120802MX"
        'MsgBox cadena
        texto = "La longitud de la Linea es : " & Len(Cadena) & vbCr
        inicio = 1 ' LE SUMO 2 AL INICIO POR QUE SI ENCUENTRA PN EN LA POS 1 RECIEN EN LA 3 TOMO LONG DE CAMPO
        d1 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CAMPOS
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d1 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d2 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CAMPOS
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d2 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d3 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CA
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d3 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d4 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CA
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d4 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d5 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CA
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d5 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d6 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CA
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d6 & vbCr
        inicio = inicio + 4 + Mid(Cadena, inicio + 2, 2) * 1 ' AQUI LE SUMO AL INICIO 2 LONGITUD DE CAMPOS Y LE SUMO LA LONGITUD + 1
        d7 = Mid(Cadena, inicio + 4, Mid(Cadena, inicio + 2, 2) * 1) ' le SUMO +2 AL INICIO PARA NO CONSIDERAR LA LONGITUD DE LOS CA
        texto = texto & "CampoID: " & Mid(Cadena, inicio, 2) & " Longitud: " & Mid(Cadena, inicio + 2, 2) & " Campo: " & d7
        MsgBox(texto, MsgBoxStyle.Information, "Resultado")
        '  Loop
        ' FileClose(1)
    End Sub
EnPuntonet2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar