Contenido

# Instrucción Put#

Escribe un registro en un archivo relativo o una secuencia de bytes en un archivo binario.

Utilice la instrucción Print# para imprimir datos en un archivo de texto secuencial. Utilice la instrucción Write# para escribir datos en un archivo de texto secuencial con caracteres delimitadores.

### Sintaxis:

    Put [#]fileNum, [recordNum|filePos], variable

### Parámetros:

fileNum: Entero que define el archivo en el que desea escribir.

recordNum, filePos: Para archivos relativos (archivos de acceso aleatorio), el número del registro que desea escribir.

En archivos binarios (acceso binario), la posición del byte del archivo en que se desee empezar a escribir.

variable: Nombre de la variable que desea escribir en el archivo.

Nota para 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 escrito recientemente y el siguiente se rellena con los datos existentes del archivo al que está escribiendo.

Nota para archivos binarios: El contenido de las variables se escribe en la posición especificada y el puntero del archivo se inserta directamente después del último byte. No se deja espacio entre los registros.

### Ejemplo:

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Debe ser un variant
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumero,1 ' Posición al principio
          Put #iNumber, "Esta es la primera línea de texto" 'Rellena la línea con texto
          Put #iNumber, , "Esta es la segunda línea de texto"
          Put #iNumber, , "Esta es la tercera línea de texto"
          Seek #iNumber,2
          Get #iNumber, , sText
          Print sText
          Close #iNumber
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Get #iNumber, 2, sText
          Put #iNumber, , "Este es un texto nuevo"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Este es el texto del registro 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Debe ser una variante
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 ' Posición al principio
          Put #iNumber, , "Esta es la primera línea de texto" 'Rellena la línea con texto
          Put #iNumber, , "Esta es la segunda línea de texto"
          Put #iNumber, , "Esta es la tercera línea de texto"
          Seek #iNumber,2
          Get #iNumber, , sText
          Print sText
          Close #iNumber
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Get #iNumber, 2, sText
          Put #iNumber, , "Este es un texto nuevo"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Este es el texto del registro 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Temas relacionados

Instrucción Close

Instrucción Get

Instrucción Open

¡Necesitamos su ayuda!