Read
Read(n, delimiter), Read(, delimiter)
Parameter: Anzahl der Sätze n (Standardwert n=1), Liste der Satzendezeichen
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | - | |
Stack(Out) | Top | Zeichenkette n |
Top-1 | Zeichenkette n-1 | |
. . . | . . . | |
Stack(Out) | Rückgabewert |
Es werden n Zeichenketten (getrennt nach dem übergebenen Trennzeichen=delimiter) gelesen.
Eine Zeichenkette endet mit einem der im ersten Parameter angegeben Trennzeichen.
Jede Zeichenkette bis zum Trennzeichen erscheint also nach dem Aufruf als ein Eintrag auf dem Stack.
Soll also aus einer Datei immer eine Zeile gelesen werden, so kann innerhalb eines Loops folgende Zeile benutzt werden:
Read(1, "\n")
Es wird also immer eine Zeile ausgelesen. Das nächste Mal, wenn diese Zeile ausgeführt wird, nimmt das System automatisch die nächste Zeile.
Achtung: Das Beenden des Loops muss man natürlich selbst programmieren! (Siehe Beispiel)
Read(n), Read
Parameter: maximale Satzlänge n (Standardwert n=200)
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | - |
Stack(Out) | Top | Zeichenkette |
Es werden (einmal) n Zeichen eingelesen.
Hinweis: Mit Open muss vorher eine Eingabedatei (Modus "r") geöffnet werden.
Beispiel:
// Open the text file in mode "r"=read
"C:\\Temp.log" Open(, "r")
"" -> data
FALSE -> valid
// Create the loop for getting one line after another
do
// Read all characters until the first \n will be found!
Read(1, "\n")
// If nothing is found, break the loop!
Dup if
{
// Check something...
Dup "Zeile" StringFind if
{
TRUE -> valid
}
// Add the read data to the string
"\n" + data + -> data
}
else
{
// Break the loop if nothing returned by "Read"
Drop break
}
loop
// Close the file again
Close