Lade...
 

Lesen

Read

Read(n, delimiter), Read(, delimiter)

Parameter:  Anzahl der Sätze n (Standardwert n=1), Liste der Satzendezeichen

Stack
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
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:

Var(data, valid)

// 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