/********************************************************************
* Programmname:          OUT                                        *
* Autor:             Maik Jablonski                                 *
*              © Copyright KICKSTART                                *
********************************************************************/

#include <stdio.h>

#define CLS printf("%c",12)
#define MAXLINE 78
#define STANDARD 27 /* Hier den bevorzugten Standard-Wert einsetzen */

main(argc,argv)
int argc;
char *argv[];
{
   FILE *fp,*fopen();
   int zeilen;

   if (argc==1) {                              /* Es wurde vergessen */
     printf("Syntax: out Dateiname [Zeilen]\n"); /* einen Filenamen    */
     exit(1);                                 /* anzugeben.         */
   }
   if ((fp=fopen(*++argv,"r"))==NULL) {        /* Das File kann */
      printf("Datei ' %s ' kann nicht geöffnet werden\n",*argv);
                                               /* nicht geöffnet*/
      exit(1);                                 /* werden        */
   }
   else {
      if (argc==2)          /* Es wurde kein Wert angegeben.Daher */
         zeilen=STANDARD;  /* wird der Standard-Wert benutzt. */
      else
         zeilen=atoi(*++argv);  /* Ahh, ein Wert.Der muß aber noch */
   }                           /* umgewandelt werden.        */
   out(fp,zeilen);      /* Ausgabe-Funktion 'out' aufrufen */
   fclose(fp);          /* File wieder schliessen */
   return(0);
}

out(fp,lines)
int lines;
FILE *fp;
{
   int c,i=0,;
   char line[MAXLINE];

   CLS;           /* Bildschirm-Löschen */
   do {
      fgets(line,MAXLINE,fp);     /* Zeile holen          */
      printf("%s",line);          /* Zeile ausgeben       */
      i++;                        /* Noch eine Zeile mehr */
      if (i==lines) {             /* Wenn die Zeilenanzahl     */
         i=0;                     /* erreicht ist , auf Return */
         waitreturn();            /* warten und nächste Seite  */
         CLS;                     /* vorbereiten .             */
      }
   }  while ((c=strlen(line)));   /* Solange weitermachen bis keine*/
   return(0);
}                                 /* Zeichen mehr eingelesen werden*/
                                  /* können.*/
waitreturn()
{
   int w=0;

   printf("\n*** Weiter mit der Return-Taste ***");
   while(w !='\n')             /* Warte solange bis die Return-Taste*/
      w=getchar();             /* gedrückt wurde.                   */
   return(0);
}

