Съдържание
Индекс 🔎︎

# Оператор Put#

Записва запис във файл с произволен достъп или последователност от байтове в двоичен файл.

Операторът Print# служи за отпечатване на данни в текстов файл с последователен достъп. Операторът Write# служи за записване на данни в текстов файл с последователен достъп със знаци разделители.

### Синтаксис:

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

### Параметри:

fileNum: целочислен израз, задаващ файла, в който искате да записвате.

recordNum, filePos: за файлове с произволен достъп – номерът на записа, който желаете да запишете.

За двоични файлове – позицията на байта, от който трябва да започне записването.

variable: името на променливата, чиято стойност да бъде записана във файла.

Забележка за файлове с произволен достъп: ако съдържанието на тази променлива не отговаря на дължината на записа, зададена в клаузата Len на оператора Open, пространството между новозаписания и следващия го запис се запълва със съществуващи данни от файла, в който записвате.

Забележка за двоични файлове: съдържанието на променливите се записва в зададената позиция и файловият указател се поставя точно след последния байт. Между записите не се оставя място.

### Пример:

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Трябва да бъде от тип Variant
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber, 1 ' Позиционираме в началото
          Put #iNumber, , "Това е първият ред с текст" ' Запълваме ред с текст
          Put #iNumber, , "Това е вторият ред с текст"
          Put #iNumber, , "Това е третият ред с текст"
          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, , "Това е нов текст"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Това е текстът в запис 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Трябва да бъде от тип Variant
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber, 1 ' Позиционираме в началото
          Put #iNumber, , "Това е първият ред с текст" ' Запълваме ред с текст
          Put #iNumber, , "Това е вторият ред с текст"
          Put #iNumber, , "Това е третият ред с текст"
          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, , "Това е нов текст"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Това е текстът в запис 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Теми, свързани с показаната

Оператор Close

Оператор Get

Оператор Open