Syntax
|
Unlock [#]
filenumber [,{record | [start]
To
end}]
|
Description
|
Unlocks a section of the specified file, allowing other processes access to that section of the file.
|
Comments
|
The
Unlock
statement requires the following parameters:
|
|
Parameter
|
Description
|
|
filenumber
|
Integer used by the Basic Control Script to refer to the open file—the number passed to the
Open
statement.
|
|
record
|
Long specifying which record to unlock.
|
|
start
|
Long
specifying the first record within a range to be unlocked.
|
|
end
|
Long
specifying the last record within a range to be unlocked.
|
|
For sequential files, the record, start, and end parameters are ignored: the entire file is unlocked.
The section of the file is specified using one of the following:
|
|
Syntax
|
Description
|
|
No record specification
|
Unlock the entire file.
|
|
record
|
Unlock the specified record number (for
Random
files) or byte (for
Binary
files).
|
|
to
end
|
Unlock from the beginning of the file to the specified record (for
Random
files) or byte (for
Binary
files).
|
|
start
to
end
|
Unlock the specified range of records (for
Random
files) or bytes (for
Binary
files).
|
|
The unlock range must be the same as that used by the
Lock
statement.
|
Example
|
This example creates a file named test.dat and fills it with ten string variable records. These are displayed in a dialog box. The file is then reopened for read/write, and each record is locked, modified, rewritten, and unlocked. The new records are then displayed in a dialog box.
Const crlf = Chr$(13) + Chr$(10)
Sub Main()
a$ = "This is record number: "
b$ = "0"
rec$ = ""
msg1 = ""
Open "test.dat" For Random Access Write Shared As #1
For x = 1 To 10
rec$ = a$ & x
Lock #1,x
Put #1,,rec$
Unlock #1,x
msg1 = msg1 & rec$ & crlf
Next x
Close
MsgBox "The records are: " & crlf & msg1
msg1 = ""
Open "test.dat" For Random Access Read Write Shared As #1
For x = 1 to 10
rec$ = Mid(rec$,1,23) & (11 - x)
Lock #1,x 'Lock it for our use.
Put #1,x,rec$ 'Nobody's changed it.
UnLock #1,x
msg1 = msg1 & rec$ & crlf
Next x
MsgBox "The records are: " & crlf & msg1
Close
Kill "test.dat"
End Sub
|
See Also
|
Lock (statement); Open (statement).
|
|
|
|
|