More

Application Kata „More“

Schreibe eine Konsolenanwendung, die den Inhalt einer Textdatei seitenweise ausgibt. Die Anwendung wird wie folgt aufgerufen:

c:\> more <dateiname>

Sie zeigt die erste Seite der Textdatei an (Seitenlänge = 20 Zeilen) und wartet auf einen Tastendruck, um die nächste Seite anzuzeigen usw. Mit der Taste [Esc] kann die Anzeige abgebrochen werden.

Beispiel [1]:

c:\> more advent.txt
Es blaut die Nacht, die Sternlein blinken, 
Schneefloecklein leis herniedersinken. 

Auf Edeltaennleins gruenem Wipfel 
haeuft sich ein kleiner weisser Zipfel. 
... 
So kam sie mit sich ueberein: 
am Niklasabend muss es sein. 
--- Weiter mit jeder Taste. Abbruch mit [Esc]. --- 

Nach Drücken von z.B. [Leertaste] ginge es so weiter:

Und als das Rehlein ging zur Ruh', 
das Haeslein tat die Augen zu, 
... 
Voll Sorgfalt legt sie Glied auf Glied 
(was der Gemahl bisher vermied)-, 
--- Weiter mit jeder Taste. Abbruch mit [Esc]. ---

usw.

Variation #1

Erlaube die optionale Angabe einer Seitenlänge auf der Kommandozeile, z.B.
c:\> more advent.txt 15

Variation #2

Zeige die aktuelle Seitennummer und die Gesamtzeitenzahl vor dem Text der Seite, z.B.
c:\> more advent.txt