Help Center
Help CenterFreeBASIC

Lockkeyword

Restricts read/write access to a file or portion of a file

File I/O Functionskeyworddocumented

Syntax

Lock #filenum, record
Lock #filenum, start To end

Parameters

NameDescription
filenumThe file number used to Open the file.
recordThe record (Random files) to lock.
startThe first byte position (Binary files) to lock from.
endThe last byte position (Binary files) to lock to.

Description


Lock temporarily restricts access by other threads or programs to a file, or portion of a file, usually to allow safe writing to it.

After modifying the data, an Unlock with the same parameters as the Lock should be issued.

Note: This command does not always work, neither as documented nor as expected. It appears to be broken at the moment.

Remarks

Differences from QB


  • Currently, FB cannot implicitly lock the entire file
  • In Random mode, FB cannot lock a range of records

See also



Example


'' e.g. locking a file, reading 100 bytes, and unlocking it. 

'' To run, make sure there exists a file called 'file.ext' 

'' in the current directory that is at least 100 bytes.



Dim array(1 To 100) As Integer

Dim f As Integer, i As Integer

f = FreeFile

Open "file.ext" For Binary As #f

Lock #f, 1 To 100

For i = 1 To 100

    Get #f, i, array(i)

Next

Unlock #f, 1 To 100

Close #f


Reference

  • Documented in KeyPgLock.html