Put# Statement

Виконує запис у файл з довільним доступом або записує послідовність байтів у бінарний файл.

tip

Use Print# statement to print data to a sequential text file. Use Write# statement to write data to a sequential text file with delimiting characters.


Синтаксис:

Put Statement diagram


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

Параметри:

fileNum: Any integer expression that defines the file that you want to write to.

recordNum, filePos: For relative files (random access files), the number of the record that you want to write.

Для бінарних файлів (бінарний доступ) - байт, з якого необхідно почати запис.

variable: Name of the variable that you want to write to the file.

Для файлів з довільним доступом: якщо вміст цієї змінної не збігається з довжиною запису, зазначеної у параметрі 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

Будь ласка, підтримайте нас!