Hola José, On Sunday 21 March 2010, 05:46:29, José Jesús Palacios wrote: > Efectivamente el fichero es mayor de 65535 (desconocía este dato, como > ya apunto Ariel).
jeje entonces el código de Mauricio no te sirve en OOo Basic, pero es básicamente lo que te estaba sugiriendo salvo que lo intentes en Java. En Java tal vez sí puedas tratar todo el archivo como una cadena (ya lo he intentado antes con archivos relativamente grandes y me ha funcionado) y tiene métodos más potentes para manipularla. > Esta fue mi primera apuesta, pero el archivo es algo > mayor, puede contener entre 300 y 600 registros de 500 caracteres. > También estuve haciendo pruebas con este ejemplo de la ayuda: > Sub EjemploAccesoAleatorio > Dim iNumero As Integer > Dim sTexto As Variant REM Debe ser una variante > Dim aArchivo As String > aArchivo = "/home/jj/prueba.txt" > iNumero = Freefile > Open aArchivo For Random As #iNumero Len=32 > Seek #iNumero,1 REM Posición al principio > Put #iNumero,, "Esta es la primera línea de texto" REM Rellenar > línea con texto > Print #iNumero, "Esta es la segunda línea de texto" > Print #iNumero, "Esta es la tercera línea de texto" > Seek #iNumero,2 > Get #iNumero,,sTexto > Print sTexto > Close #iNumero > iNumero = Freefile > Open aArchivo For Random As #iNumero Len=500 > Get #iNumero,2,sTexto > Put #iNumero,,"Esto es un texto nuevo" > Get #iNumero,1,sTexto > Get #iNumero,2,sTexto > Put #iNumero,20,"Este es el texto del registro 20" > Print Lof(#iNumero) > Close #iNumero > end sub > No guarda datos en formato texto (o al menos no en UTF-8, > ISO-8859-1, ...) y en el primer "Get" da error. > esto parece la segunda opción que te sugerí (directamente leer bytes). Te conviene probar con la API de OOo, no con esos procedimientos de OOo Basic (nunca me ha gustado mucho el IO de OOo Basic). Desde luego, debes saber qué codificación tiene el documento, para saber cuántos bytes tiene cada carácter, luego multiplica eso x 500, y ve leyendo de a esa cantidad... cf http://api.openoffice.org/docs/common/ref/com/sun/star/io/XInputStream.html Saludos -- Ariel Constenla-Haile La Plata, Argentina --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
