Referenz - LOCK
Syntax: LOCK Dateinummer, { Satznummer | Start TO Ende }
Typ: Anweisung
Kategorie: Dateien
Achtung: LOCK arbeitet zur Zeit noch nicht wie vorgesehen. Siehe dazu auch den Diskussionsbeitrag im englischen Forum.
LOCK sperrt den Zugriff auf eine Datei. Dieser Befehl ist nützlich, wenn mehrere Programme, Benutzer oder Prozesse auf dieselbe Datei zuzugreifen versuchen.
- 'Dateinummer' ist die Nummer, die beim Öffnen der Datei mit OPEN zugewiesen wurde.
- Im Dateimodus RANDOM ist 'Satznummer' die Nummer eines Datensatzes, auf den der Zugriff gesperrt werden soll. Im BINARY-Modus gibt 'Start' und 'Ende' den zu sperrenden Datenbereich an.
Achtung: Durch LOCK wird zur Zeit immer die gesamte Datei gesperrt; trotzdem ist die Angabe von 'Satznummer' bzw. von 'Start' und 'Ende' verbindlich!
Eine Datei kann auch bereits beim Öffnen für Lese- und/oder Schreibzugriffe gesperrt werden; siehe dazu OPEN (Anweisung)
UNLOCK entsperrt eine Datei wieder. Für UNLOCK gilt dieselbe Syntax wie für LOCK.
Dateien, die noch nicht mit UNLOCK freigegeben wurden, sollten nicht ein zweites Mal mit LOCK gesperrt werden!
Beispiel:
Eine Datei sperren, 100 Bytes lesen, und anschließend wieder entsperren. Um dieses Programm ausführen zu können, sollten Sie sicherstellen, dass die Datei 'file.ext' existiert, sich im aktuellen Arbeitsverzeichnis befindet und mindestens 100 Bytes lang ist.
DIM AS UBYTE array(1 to 100), f = FREEFILE
OPEN "file.ext" FOR BINARY AS #f
LOCK #f, 1 TO 100
FOR i AS INTEGER = 1 TO 100
GET #f, i, array(i)
NEXT
UNLOCK #f, 1 TO 100
CLOSE #f
Plattformbedingte Unterschiede:
Das Sperren von Dateien mit FreeBASIC wird nicht unter allen Plattformen unterstützt!
Siehe auch:
UNLOCK, OPEN, Dateien (Files)
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|