SYNOPSIS
        string read_file(string file, int start, int anzahl)

BESCHREIBUNG
        Liest Zeilen aus einem File <file>. Wenn <start> angegeben ist und
        nicht 0, wird von Beginn der Zeile <start> an gelesen; ist <start> 0
        oder nicht angegeben, wird vom Beginn des Files gelesen.

        Wenn <anzahl> nicht angegeben oder 0 ist, wird das gesamte File
        gelesen, sonst nur <anzahl> Zeilen.

        Wenn <start> ausserhalb der Groesse des Files liegt, liefert
        read_file() anstelle eines Strings 0 zurueck.

        Die max. Anzahl einzulesender Bytes (nicht Zeilen!) pro Aufruf dieser
        Funktion betraegt LIMIT_FILE (s. query_limits()).

SIEHE AUCH
        read_bytes(E), write_file(E)
