Put#-uttrykket

Skriv ein post til ei relativ fil eller til ein bytesekvens i ei binærfil

tip

Bruk uttrykket Print# for å skriva data til ei sekvensiell datafil. Bruk uttrykket Write# for å skriva data til ei sekvensiell datafil med avgrensa teikn.


Syntaks:

Diagram over uttrykket Put


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

Parametrar:

fileNum: Eit heiltalsuttrykk som definerer fila du vil skriva til.

recordNum, filePos: For relative filer (dvs. filer med tilfeldig tilgang) er dette nummeret på den dataposten du vil skriva.

For binære filer (binær tilgang) er dette plasseringa av den byte i filen der skrivinga skal byrja.

variable: Namnet på variabelen som du vil skriva til fila.

Merknad for relative filer: Viss innhaldet i denne variabelen ikkje svarar til den lengda på dataposten som er oppgjeve i Len-delen av utsegna Open, vert rommet mellom slutten av den nettopp innskrivne dataposten og den neste dataposten fylt ut med data frå fila du skriv til.

Merknad for binære filer: Innhaldet av variablane vert skriv til den oppgjevne plassen og filpeikaren vert sett inn like etter siste byte. Det vert ingen mellomrom mellom postane.

Eksempel:

Eksempel:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' MÃ¥ vera ein variant
    Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Startposisjonen
    Put #iNumber,, "Dette er den første tekstlinja" ' Fyll linja med tekst
    Put #iNumber,, "Dette er den andre tekstlinja"
    Put #iNumber,, "Dette er den tredje tekstlinja"
    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,,"Dette er ein ny tekst"
    Get #iNumber,1,sText
    Get #iNumber,2,sText
    Put #iNumber,20,"Dette er teksten i datapost 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub