Referenz - LOC
Syntax: LOC (Dateinummer)
Typ: Funktion
Kategorie: Datei
LOC gibt die Position des Zeigers innerhalb einer mit
OPEN geöffneten Datei zurück.
- Wurde die Datei im Dateimodus
BINARY geöffnet, dann wird die Position des Bytes zurückgegeben, das zuletzt gelesen wurde. Zu Beginn steht LOC also auf Position 0, nach dem Lesen eines Bytes auf Position 1 usw. LOC gibt damit immer einen Wert zurück, der um 1 kleiner ist als
SEEK. - Im Dateimodus
RANDOM wird die Nummer des zuletzt gelesenen Datensatzes zurückgegeben. - Bei den sequentiellen Dateimodi
INPUT,
OUTPUT und
APPEND wird eine Datensatzlänge von 128 Byte angenommen. LOC(Dateinummer) verhält sich damit wie (SEEK(Dateinummer) - 1) \ 128.
Beispiel:
Dim As UByte dummy, nr=FreeFile
DIM AS INTEGER firstPos
OPEN "mydata.ext" FOR BINARY AS #nr
DO
GET #nr, , dummy
IF dummy = ASC("A") THEN EXIT DO
LOOP UNTIL LOC(nr) = LOF(nr)
firstPos = LOC(nr)
If firstPos = LOF(nr) THEN firstPos = 0
CLOSE #nr
IF firstPos THEN
PRINT "In dieser Datei kommt 'A' zum ersten ";
PRINT "Mal an Byte " & firstPos &" vor."
ELSE
PRINT "In dieser Datei kommt 'A' nie vor."
END IFUnterschiede zu QB:
Die Berechnung bei sequentiellen Dateimodi unterscheidet sich in QB etwas.
Siehe auch:
OPEN,
LOF,
EOF,
SEEK (Funktion),
SEEK (Anweisung),
Dateien (Files)
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
|
||||





FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
Versionen