Ver Mensaje Individual
  #1  
Antiguo 28-12-2006
morodo morodo is offline
Registrado
 
Registrado: dic 2006
Posts: 4
Reputación: 0
morodo Va por buen camino
Problema con archivos de texto.

Hola buenas noches a todos!!
Soy nuevo en este foro y me he registrado para consultaros por que ya me e servido de muchas respuestas aqui dadas para otros casos pero para ésta no encuentro solución.
Resulta que tengo serios problemas con el ENTER, la Ñ y nuestras coleguitas á,é,í,ó,ú al manipular un file of text.
El programa es un compresor de texto que lo que intenta es analizar un fichero de texto ordenando las distintas letras por la frecuencia en que estas aparezcan y creando un arbol binario con las distintas letras, adjudicandole un codigo binario de menor numero de bits a las letras con mayor frecuencia para despues guardar en un archivo "comprimido" la ristra de bits que es el texto en si y la tabla con los distintos codigos binarios de cada letra para despues poder "descomprimirlo" (Es un algoritmo que alguno conocereis por que es de estos que tiene nombre y todo )
Ahora bien, he conseguido que el programa me comprima un texto larguisimo siempre y cuando no haya ningun retorno de carro pues éste con readln(f,c) hay veces que se detiene y no sigue con los caracteres que le siguen, veces que lee las filas impares, y veces que lo cuenta como dos caracteres al igual que "ñáéíóú" que lo toma como un 195(a veces 196) seguido de otro valor ASCII.Es decir, como si uno de esos caracteres fuera la marca de ke es un caracter especial y el siguiente el ke le diferencia de los demas.

Estos problemas me traen por la calle de la amargura por que parece algo muy simple pero que llego meses con el y ni el profesor de la universidad me lo ha sabido dejar bien claro dejandome con el "tu prueba" tirado como una colilla

Si alguien pudiera decirme cual es la manera correcta de ir leyendo uno a uno todos los caracteres de un fichero de texto hasta llegar al eof(o utilizando otro while con eoln ) y que no me dieran problemas los caracteres especiales le estaria eternamente agradecido.Algo he leido por ahi de leer el enter como #10+#13 o algo asi pero no saco nada en claro.

Muchas gracias de anticipado fenómenos
Responder Con Cita