• Martes 14 de Mayo de 2024, 21:56

Autor Tema:  Registros Dentro De Un Txt.  (Leído 2580 veces)

IAO

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Registros Dentro De Un Txt.
« en: Martes 2 de Octubre de 2007, 15:49 »
0
Hola para todos.
Amigos estoy atrapado en una tontería que no consigo la solución.

Tengo un archivo.dat (es un .TXT) que tiene varios números de 8 caracteres de longitud. En el pueden haber 20, 40, 100 ó XX registros de números guardados.
La pregunta es:
¿Como hago para saber la cantidad de registros guardados en ese archivo.dat?
Esa cantidad de registros es para colocarla en una Variable y luego poder hacer un: FOR 1 to Variable
He intentado varias formas pero no doy con la solución.
Si alguno me pudiera ayudar a resolver esto, le estaría muy agradecido.

Este es uno de mis fallidos intentos. Está un poco confuso como yo.
'''Aquí debo hacer un Get y un For para leer datos en el .Dat
Dim MiCar As String
Open "RS232.dat" For Random As #1 'Len = Len(MiCar)  'Len("RS232.dat")

MiCar = String(41, " ")
 Do While Not EOF(1)               '''Repite hasta el final del archivo.
    Get #1, 8, MiCar      
   'MiCar = Left(Input(1, #1), 8)    '''Lee el siguiente carácter de datos.
   For iCol = 1 To 41 'Asc(MiCar) '41
   Input #1, varLinea
   Next iCol
Loop
Close #1   ' Cierra el archivo.

El programa me funciona, pero debo abrir el archivo.dat contar manualmente cuantos numeros hay,
luego voy al programa y en el "For iCol = 1 To 41" <--Cambio este último número y así trabaja
sin problemas. Como pueden ver es un fastidio, abrir y contar, cambiar y ejecutar.

Este es el original sin cambios.
    Open "RS232.dat" For Input As #2                    '''Abre el archivo para lectura.
    For iCol = 1 To 41  '2 '50 '24 '52         '''armo un contador
      Input #2, varLinea                            '''meto en la variable varLinea cada dato
      aTemp(iCol) = varLinea                        '''paso al ARRAY el valor leído
    Next iCol                                       '''incremento el contador y sigo
    Close #2


Por favor si alguien sabe como hacerlo, les agradecería el auxilio que pudieran darme.
Si gustan, al finalizarlo les paso el programita completo, es bien ponqueto, simpático pués.

Bye('_').

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Registros Dentro De Un Txt.
« Respuesta #1 en: Martes 2 de Octubre de 2007, 19:12 »
0
Te adjunto un pequeño proyecto llamado CuentaLineas.
Cuenta las líneas que tiene un archivo. El ejemplo que adjunto te muestra el número de líneas que tiene un listado de palabras, que están separadas por Cr y LF. Pero pueden ser números como los que usas.
Para este ejemplo debes de tomar en cuenta que usa Option Base 1 para que los arrays inicien en 1 y no en 0.

Espero te sirva

 :comp:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

IAO

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: Registros Dentro De Un Txt.
« Respuesta #2 en: Martes 2 de Octubre de 2007, 20:43 »
0
Holaaaaaa:

Sr. cpmario:
Muchas gracias por responder y por su zip.

Hice una prueba con mi archivo RS232.dat que tiene unos espacios en blanco y me tomó solo las líneas que tenían contenido. Esta mejor de lo que pensaba.

En realidad le digo, que nunca pensé fuera tan complicado como esta en su ejemplo. Me imaginaba algo más sencillo.
Voy a tratar de hacer la combinación de lo suyo más lo mio, para ver que tal me vá.

Lo que tengo es un programa que toma unos valores del RS232.dat y lo lleva a una hoja de Excel para graficarlo. Es bien simpático  el programa. Voy a terminarlo y se los paso para compartir y aprender.

No encuentro palabras para tantos agradecimientos.
Gracias = Millón^Millón*Millón^Millón. :)


Bye('_').

IAO

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: Registros Dentro De Un Txt.
« Respuesta #3 en: Miércoles 3 de Octubre de 2007, 15:29 »
0
Holaaaaaaaa:

Sr. cpmario:
Felicitaciones, usted es lo máximo. La ayuda fue fantástica, mejor de lo que pensaba.  Usted es un cerebro o mejor dicho 2 cerebros. ;)

Okey.
Aquí les paso el codigo del programa que escribe un archivo de texto de unos datos que recibió por RS232 y luego lo grafica en una hoja de cálculo Excel.
Solo es un ejemplo para guiarse, no soy un graaaan programador.
Esto funciona y se puede adaptar a sus conveniencias.

Originalmente fue hecho para recibir unos datos de una calculadora HP48/50g, se que puede adaptarse a otros objetivos.
Lea un txt dentro del .ZIP para entender un poco más.

Bye('_').
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.