Оператор Put#

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

tip

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


Синтаксис:

Диаграма на оператора Put


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:\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