In einer bestehenden Socket-Verbindung kann mit diesem Kommando ein Datenblock bis zu einer bestimmten Markierung gelesen werden. Dabei wird das Lesetimeout Parameter der Verbindung beachtet. Es handelt sich um ein Schleifenkommando, es wird also so lange gelesen, bis die Schleife abgebrochen wird.
Werden z.B. vom Server Daten mit Separatoren geschickt : "Daten1|Daten2|Daten3|"
Als "Bis Zeichenkette" das | Zeichen angegeben, dann wird die Schleife 3 mal durchlaufen und liefert jeweils die Zeichenkette "Daten1", "Daten2" und "Daten3".
Nützlich in diesem Zusammenhang sind die DLE Basis-Variablen BASE:NL, BASE:CR, BASE:TAB und BASE:CRNL, die die entsprechenden Sonderzeichen enthalten (Carriage Return, Newline und Tab).
Parameter:
- Bis Zeichenkette: Es wird versucht, so lange zu lesen (Timeout parameter beachten!), bis eine bestimmte Zeichenkette erreicht wurde. Wurde die Zeichenkette gelsen (Kann auch ein einzelnes Zeichen sein), wird die Zielvariable mit den gelesenen Zeichen (exklusive Markierung) befüllt und
- Zielvariable Daten: Feldname der Variablen, in der die gelesenen Daten geschrieben werden sollen.
- Zielvariable Bytes: Es kann optional ein Feld ausgewählt werden, in der nach dem Lesen die Azahl der gelesenen Bytes (nicht Zeichen!) gespeichert wird.
- Zeichensatz: Optional kann ein spezieller Zeichensatz angegeben werden. Dieser wird verwendet, um die gelesenen Bytes in Zeichen einer Zeichenkette zu wandeln. Je nach Zeichensatz können dabei mehr als ein Byte zu einem Zeichen werden, so dass die Länge der gelesenen Bytes nicht zwingend der Länge der retournierten Zeichenkette entspricht.