Instrukcja Put
Zapisuje rekord do pliku względnego lub sekwencję bajtów do pliku binarnego.
Zobacz także: Instrukcja Get
Składnia:
Put [#] FileNumber As Integer, [position], zmienna
Parametry:
Numer_pliku: Dowolne wyrażenie w postaci liczby całkowitej definiujące plik, do którego należy zapisać dane.
Pozycja: W przypadku plików względnych (otwartych w trybie Random) pozycja jest numerem rekordu, do którego należy zapisać dane.
W przypadku plików binarnych (otwartych w trybie Binary) pozycja stanowi pozycję bajtu w pliku, od której należy rozpocząć zapis.
Zmienna: Nazwa zmiennej, którą należy zapisać do pliku.
Uwaga dotycząca plików względnych: Jeśli zawartość tej zmiennej ma inną długość niż długość rekordu określona w klauzuli Len instrukcji Open, miejsce pomiędzy końcem aktualnie dopisanego rekordu i następnym rekordem pozostaje wypełnione danymi już istniejącym w tym pliku.
Uwaga dotycząca plików binarnych: Zawartość zmiennej jest zapisywana w określonej pozycji, a wskaźnik pliku jest ustawiany bezpośrednio za ostatnim zapisanym bajtem. Pomiędzy rekordami nie jest pozostawiane wolne miejsce.
Przykład:
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Musi być typu variant
Dim aFile As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Pozycja, z której rozpoczynamy pisać
Put #iNumber,, "To jest pierwsza linia tekstu" ' Wypełnia linię tekstem
Put #iNumber,, "To jest druga linia tekstu"
Put #iNumber,, "To jest trzecia linia tekstu"
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,,"To jest nowy tekst"
Get #iNumber,1,sText
Get #iNumber,2,sText
Put #iNumber,20,"To jest tekst w rekordzie 20"
Print Lof(#iNumber)
Close #iNumber
End Sub