Hola José, On Saturday 20 March 2010, 18:15:58, José Jesús Palacios wrote: > > > Estoy buscando como importar un archivo de texto a Calc leyendo > > > carácter por carácter (o string), algo como "fgets". > > > Tengo un archivo de texto en el cual se han dispuesto registros de 500 > > > caracteres, sin carácter de separación alguno. El primer carácter > > > siempre indica el tipo de registro. Según el tipo de registro los > > > campos (dentro de ese registro) tienen una longitud determinada, pero > > > los campos no tienen porque tener la misma longitud. > > > > > > ¿Cual sería el código para apuntar hacia el archivo? y luego ir leyendo > > > cadenas de 500 en 500 caracteres? > > > > ¿en qué lenguaje de programación piensas implementarlo? Si es en OOo > > Basic, hay instrucciones para manejar archivos (mira la Ayuda que viene > > con OOo), o se puede emplear la API de OOo directamente. > > > > > > Saludos > > He intentado implementarlo en OOo Basic (me parece que no presentará > problemas en diferentes plataformas) para colocar la información leída > en una hoja de cálculo. La API de OOo implementa interfaces como > TextInputStream que dispone de los métodos readLine() y > readString(sDelimiters(), bRemoveDelimiter) pero no me vale ninguno ya > que el fichero no está dividido en líneas y tampoco existe un > delimitador que se pueda emplear. El método readString hubiera sido > ideal si permitiese pasarle el número de caracteres que quieres leer. > Hasta ahora lo que he encontrado es que entre las macros que proporciona > OOo dentro de "Tools" existe la función "LoadDataFromFile" pero esta > emplea "readLine()".
una solución algo feliz sería emplear css.io.TextInputStream para leer todo el archivo de texto hasta EOF, como una cadena. Esto es imposible tal vez en OOo Basic, donde las cadenas tienen una extensión límite (q ahora no recuerdo) y si excede dicha extensión la cadena retornada quedará truncada, pero sí es posible en Java; y luego trabaja con esa cadena (la API de Java tiene más facilidades que OOo Basic para eso también, con los métodos de java.lang.String sería muy fácil recorrer la cadena buscando los registros y sus campos). Como último recurso queda tratar al archivo como un simple archivo binario e ir leyendo bytes... no muy feliz, a no ser q te gusten estas tareas. Saludos -- Ariel Constenla-Haile La Plata, Argentina --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
