FRead()

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen

Allgemeines

Die Funktion fRead() erlaubt es, aus einer mittels fOpen() geöffneten, bzw. mittels fCreate() erstellten Datei eine bestimmte Anzahl Zeichen zu lesen.


Syntax

fRead(<nHandle>, @<cBuffer>, <nBytes>) => nBytesRead


Parameter

<nHandle> ist der Datei-Handle, der durch fOpen() bzw. fCreate() für die Datei bereitgestellt wurde.

<cBuffer> ist eine Zeichenvariable, die by reference übergeben werden muss und mindestens die durch <nBytes> definierte Grösse besitzt.

<nBytes> gibt an, wieviele Bytes aus der Datei ab der aktuellen Position gelesen werden sollen.


Rückgabewert

<nBytesRead> gibt an, wieviele Bytes gelesen werden konnten. Wenn nBytesRead kleiner ist als nBytes, wurde das Dateiende erreicht, ehe nBytes gelesen werden konnten.


Besonderheiten

Normalerweise liegt das Hauptinteresse bei Verwendung dieser Funktion darauf, eine Zeichenfolge aus einer Datei zu lesen. Der Rückgabewert bei fRead() ist jedoch die Anzahl der Zeichen, die gelesen werden konnten.

Um die Zeichenfolge zu erhalten, muss der zweite Parameter by reference übergeben werden und in der entsprechendnen Grösse initialisiert worden sein.


Abweichend davon liefert die Funktion fReadStr() den gelesenen String zurück, so dass eine Initialisierung nicht erforderlich ist. fRead() liest (sofern vorhanden) die durch nBytes vorgegebene Anzahl Zeichen und endet nicht, wenn ein Chr(0) gefunden wird.


Beispiel

nHandle := fOpen("geheimeInformationen.txt")
IF nHandle > 0
  nSize := fSize(nHandle)
  cBuffer := Space(nSize)
  nBytes := fRead(nHandle, @cBuffer, nSize)
  ...
  fClose(nHandle)
ENDIF



Querverweise

fReadStr()


benötigte DLLs bzw. Include-Dateien

XppRT1.dll


Zuordnung

Low Level Dateifunktionen