![]() |
Leer archivo txt letra por letra
hola:
soy nuevo en delphi y quisiera saber como puedo leer un archivo de texto .txt letra por letra en un ciclo. entre mas explicitos sean mejor, les agradezco mucho! |
Cita:
Saludos |
Con un archivo de tipo. Concretamente Char. Sería algo así.
Pero aviso, esto ya lo he hecho, y para archivos considerablemente granes es muy lento. Incluso si haces Memo1.Lines.BeginUpdate antes de empezar, y Memo1.Lines.EndUpdate después de acabar, sigue siendo lento para archivos de varios Megabytes. Por cierto, intercubo, bienvenido al club. Haz caso de lo que dice juanelo la próxima vez. Salu2. |
He editado mi post porque no era instructivo.
El anterior código de ixMike funciona a la perfeccioón, sin embargo no es necesario hacer el Seek antes de cada lectura si es que el resultado esperado debe es secuencial y no aleatorio. Las funciones de lectura en la mayoria de los casos (si no es en todos), se encargan de realizar dicha opertación internamente. Saludos |
hola:
me marca un error I/O 103 en el siguiente codigo:
estuve leyendo que el problema es que no se use el Reset(F) pero yo si lo tengo, de un momento a otro comenzo a fallar no se que hice mal. gracias! |
Me parece que ese error se produce cuando el archivo no existe. Es decir, el archivo escrito en Edit1.Text tiene que existir. Prueba con esto:
|
el archivo si existe y tiene caracteres, he tratado cambiando el nombre de archivo pero sigue pasando lo mismo. cambio de nombre en edit1.text y en el archivo. y como dije antes si existe y la ruta es correcta.
agradeceria que me dijeran otras opciones porfavor. mil gracias! |
¿En que parte del código te da error?
¿Seguro que es ese el error? Saludos, |
Porque no pruebas creando un StringList en el que cargues tu archivo y de alli intentas asignar a cada linea se texto como un String; que en resumidas cuentas es un vector, con lo que podrias mediante una sentencia for recorrer caracter por caracter del texto...
|
Cita:
|
Otro ejemplo totalmente funcional.
un saludo |
Cita:
|
Cita:
|
Cita:
|
Hola:
aki ando de nuevo, lo que pasa ahora esque quiero que cuando suceda un cierto evento el ciclo for no se incremente, y asi vuelva a leer el ultimo caracter que leyo. hay alguna funcion para hacer eso, que desde cierto punto del ciclo for, por ejemplo desde dentro de un If le puedas mandar una orden al ciclo para que repita el ultimo giro, y no incremente la variable?
gracias! |
La franja horaria es GMT +2. Ahora son las 04:39:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi