roReadWriteFile
El objeto abre un archivo y permite operaciones tanto de lectura como de escritura en ese archivo.
Creación de objetos: Crear un objeto roReadWriteFile abre un archivo existente tanto para lectura como para escritura. La creación del objeto falla si el archivo no existe. La posición actual se establece al inicio del archivo.
CreateObject("roReadWriteFile", filename As String)ifReadStream
SetReceiveEol(eol_sequence As String) As Void
Establece la secuencia EOL al leer desde el stream.
ReadByte() As Integer
Lee un solo byte del stream, bloqueando si es necesario. Si se alcanza el EOF o existe una condición de error, entonces se devuelve un valor menor que 0.
ReadByteIfAvailable() As Integer
Lee un solo byte del stream si hay uno disponible. Si no hay bytes disponibles, devuelve inmediatamente. Un valor de retorno menor que 0 indica que se ha alcanzado el EOF o que no hay bytes disponibles.
ReadLine() As String
Lee hasta encontrar una secuencia completa de fin de línea. Si no logra encontrar la secuencia dentro de 4096 bytes, entonces devuelve los 4096 bytes encontrados. En este caso no se descartan datos.
ReadBlock(size As Integer) As String
Lee la cantidad especificada de bytes. El número está limitado a 65536 bytes. En caso de EOF o error, se devolverán menos bytes de los solicitados. Cualquier byte nulo en el archivo ocultará cualquier byte posterior.
AtEof() As Boolean
Devuelve Verdadero si se ha realizado un intento de lectura más allá del final del archivo. Si la posición actual está al final del archivo, pero no se ha realizado ningún intento de leer más allá de este, este método devolverá Falso.
ifStreamSend
SetSendEol(eol_sequence As String) As Void
Establece la secuencia EOL al escribir en el stream. El valor predeterminado es CR+LF. Si necesita establecer este valor en un carácter no imprimible, use la chr() función globalfunción global.
SendByte(byte As Integer) As Void
Escribe el byte especificado en el stream.
SendLine(string As String) As Void
Escribe los caracteres especificados en el stream seguidos de la secuencia EOL actual.
SendBlock(a As Dynamic) As Void
Escribe los caracteres especificados en el stream. Este método puede admitir tanto una cadena como un roByteArray. Si el bloque es una cadena, cualquier byte nulo finalizará el bloque.
Flush() As Void
Escribe el stream en el archivo, bloqueando la ejecución hasta que todos los datos se hayan escrito.
AsyncFlush() As Void
Escribe el stream en el archivo en unos pocos segundos. El sistema no bloqueará la ejecución mientras escribe en el archivo.
El sistema realiza automáticamente un vaciado asíncrono cuando se destruye la instancia del objeto (por ejemplo, cuando se reasigna la variable que lo contiene). El stream se escribe primero en el kernel, que luego lo escribe en el sistema de archivos cuando hay recursos disponibles.
ifStreamSeek
SeekAbsolute(offset As Integer) As Void
Busca el desplazamiento especificado. Si el desplazamiento está más allá del final del archivo, entonces el archivo se extenderá en la siguiente escritura y cualquier espacio previamente desocupado se rellenará con bytes nulos.
SeekRelative(offset As Integer) As Void
Busca el desplazamiento especificado relativo a la posición actual. Si el desplazamiento final está más allá del final del archivo, entonces el archivo se extenderá como se describe en SeekAbsolute().
SeekToEnd() As Void
Busca hasta el final del archivo.
CurrentPosition() As Integer
Recupera la posición actual dentro del archivo.