FSIZE( )-Funktion
Gibt die Größe einer bestimmten Datei oder eines bestimmten Feldes in Byte zurück.
FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)
Rückgabewerte
Numerisch
Parameter
cFieldName
Gibt den Namen des Feldes an.nWorkArea
Gibt den Arbeitsbereich der Tabelle an, deren Größe von FSIZE( ) zurückgegeben wird.FSIZE( ) gibt den Wert 0 zurück, wenn im angegebenen Arbeitsbereich keine Tabelle geöffnet ist.
cTableAlias
Gibt den Alias der Tabelle an, deren Größe von FSIZE( ) zurückgegeben wird.Visual FoxPro generiert eine Fehlermeldung, wenn Sie einen nicht vorhandenen Tabellenalias angeben.
cFileName
Gibt die Datei an, deren Größe in Byte von FSIZE( ) zurückgegeben wird.
Hinweise
Ob FSIZE( ) die Größe eines Feldes oder einer Datei zurückgibt, hängt von der aktuellen Einstellung von SET COMPATIBLE ab. Wenn SET COMPATIBLE auf OFF oder auf FOXPLUS (Standardeinstellung) eingestellt ist, gibt FSIZE( ) die Größe eines Feldes zurück. Wenn SET COMPATIBLE auf ON oder DB4 (Standardeinstellung) eingestellt ist, gibt FSIZE( ) die Größe einer Datei zurück.
In der folgenden Tabelle werden die Standardfeldgrößen (in Byte) der einzelnen Feldtypen mit fester Länge aufgelistet.
Feldtyp | Standardfeldgröße (in Byte) |
---|---|
Währung | 8 |
Datum | 8 |
DatumZeit | 8 |
Double | 8 |
Integer (Ganzzahl) | 4 |
Logisch | 1 |
Memo | 4 |
Objektfeld | 4 |
Die Größe eines Feldes kann mit DISPLAY STRUCTURE und LIST STRUCTURE angezeigt werden.
Wenn Sie die optionalen nWorkArea- und cTableAlias-Argumente nicht angeben, gibt FSIZE( ) die Feldgröße für ein Feld zurück, das sich in der aktuellen Tabelle und im aktuellen Arbeitsbereich befindet.
Beispiel
Im folgenden Beispiel wird FSIZE( ) dazu verwendet, um die Größe zweier Felder in der Tabelle customer
zu ermitteln.
SET COMPATIBLE OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Open Customer table
CLEAR
? FSIZE('contact') && Displays 30
? FSIZE('cust_id') && Displays 6