EOF( )-Funktion
Bestimmt, ob der Datensatzzeiger hinter den letzten Datensatz in der aktuellen oder angegebenen Tabelle gesetzt wird.
EOF([nWorkArea | cTableAlias])
Rückgabewerte
Logisch
Parameter
nWorkArea
Gibt die Nummer des Arbeitsbereichs der Tabelle an.cTableAlias
Gibt den Alias der Tabelle an.EOF( ) gibt den Wert Falsch (.F.) zurück, wenn im angegebenen Arbeitsbereich keine Tabelle geöffnet ist.
Wenn Sie keinen Arbeitsbereich oder Alias angeben, wird die im aktuellen Arbeitsbereich geöffnete Tabelle auf die Tabellenendebedingung überprüft.
Hinweise
EOF( ) gibt den Wert Wahr (.T.) zurück, wenn der Datensatzzeiger das Ende der Tabellendatei (EOF-End of File) erreicht. Das Ende der Tabelle ist erreicht, wenn der Datensatzzeiger den letzten Datensatz in der Tabelle durchläuft. Wenn z. B. FIND, LOCATE oder SEEK ergebnislos bleiben, verschiebt Visual FoxPro den Datensatzzeiger hinter den letzten Datensatz. Dann gibt EOF( ) den Wert Wahr (.T.) zurück. EOF( ) gibt den Wert Falsch (.F.) zurück, wenn sich der Datensatzzeiger nicht am Ende der Tabelle befindet.
Beispiel
Im folgenden Beispiel wird die Tabelle customer
geöffnet. Der Firmenname wird auf jeder Seite aufgelistet, bis das Dateiende erreicht ist oder Sie den Befehl Abbrechen wählen.
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME() + "samples\data\testdata")
USE customer
GO TOP
local recCtr, btnValue
recCtr = 0
btnValue = 1
DO WHILE btnValue = 1 AND NOT EOF()
? "Company : " + company
recCtr = recCtr + 1
if (recCtr % 20) = 0 then
btnValue =MESSAGEBOX ("Click OK to continue, ;
Cancel to quit.",33)
clear
endif
Skip 1 && Move down one record
ENDDO
=MESSAGEBOX("Listing complete.",48)