Help Center›FreeBASIC
Lockkeyword
Restricts read/write access to a file or portion of a file
Syntax
Lock #filenum, record
Lock #filenum, start To end
Parameters
| Name | Description | |
|---|---|---|
filenum | The file number used to Open the file. | |
record | The record (Random files) to lock. | |
start | The first byte position (Binary files) to lock from. | |
end | The 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
Randommode, 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