Referenz - LOC
Syntax: LOC (Dateinummer)
Typ: Funktion
Kategorie: Dateien
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 UNTIL LOC(nr) = LOF(nr)
GET #nr, , dummy
IF dummy = ASC("A") THEN EXIT DO
LOOP
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 IF
SLEEP
Unterschiede 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 | ||||
---|---|---|---|---|
|