IBM Lotus Symphony
|
Escribe un registro en un archivo relativo o una secuencia de bytes en un archivo binario.
Consulte también: Sentencia Get
Put [#] NúmeroArchivo As Integer, [posición], Variable
FileNumber: cualquier expresión de entero que defina el archivo en el que desee escribir datos.
Posición: en el caso de archivos relativos (archivos de acceso aleatorio), el número del registro que desee escribir.
En el caso de archivos binarios (acceso binario), la posición del byte en el archivo donde desee empezar a escribir.
Variable: nombre de la variable que desee escribir en el archivo.
Nota para los archivos relativos: si el contenido de esta variable no coincide con la longitud del registro que se especifica en la cláusula Len de la instrucción Open, el espacio entre el final del registro que se acaba de escribir y el siguiente registro se rellena con los datos existentes del archivo en el que va a escribir.
Nota para archivos binarios: el contenido de las variables se escribe en la posición especificada y el puntero del archivo se inserta directamente tras el último byte. No se deja ningún espacio entre los registros.
Sub ExampleRandomAccess
Dim iNumero As Integer
Dim sTexto As Variant REM Debe ser un tipo de variante
Dim aArchivo As String
aArchivo = "c:\data.txt"
iNumero = Freefile
Open aFile For Random As #iNumero Len=32
Seek #iNumero,1 REM Posición para empezar a escribir
Put #iNumero,, "Es la primera línea de texto" REM Rellenar línea con texto
Put #iNumero,, "Es la segunda línea de texto"
Put #iNumero,, "Es la tercera línea de texto"
Seek #iNumero,2
Get #iNumero,,sTexto
Print sTexto
Close #iNumero
iNumero = Freefile
Open aFile For Random As #iNumero Len=32
Get #iNumero,2,sTexto
Put #iNumero,,"Es texto nuevo"
Get #iNumero,1,sTexto
Get #iNumero,2,sTexto
Put #iNumero,20,"Es el texto del registro 20"
Print Lof(#iNumero)
Close #iNumero
end sub