home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 1998 October / STC_CD_10_1998.iso / BASE / AVPROTO / STG2TXT.SIC < prev   
Text File  |  1998-09-26  |  2KB  |  72 lines

  1. //ACE-SICPAR 4 0017 
  2. /*
  3.  * Dieser Script stellt aus dem Quelltext zum AV-Hypertext eine
  4.  * Dokumentation in Form eines reinen ASCII-Textes her
  5.  */
  6.  
  7. infile = "av.stg";
  8. outfile = "av.txt";
  9.  
  10. first = 1;
  11.  
  12. /*
  13.  * Ein paar einführende Hinweise in die Ausgabe schreiben
  14.  */
  15. putline(outfile,
  16.  "\nHinweis:\n"
  17.  "Dieser Text wurde automatisch aus dem beiliegenden Hypertext\n"
  18.  "generiert; letztgenannte Form ist daher vorzuziehen, weil einige\n"
  19.  "Passagen vom Vorhandensein von Verweisen deutlich profitieren.\n");
  20.  
  21.  
  22. /*
  23.  * kompletten Text lesen
  24.  */
  25. while (getline(infile, line)) {
  26.     if (substr(line, 0, 5) == "@node") {
  27.         /*
  28.          * Aus einer @node Zeile basteln wir einen Absatz und eine
  29.          * unterstrichene Überschrift für die .txt Fassung;
  30.          * die Zeilen zwischen @node und dem nächsten @line Kommando
  31.          * sind für die .txt Fassung unbrauchbar, also werden sie
  32.          * einfach überlesen.
  33.          */
  34.         line = substr(line, 6);
  35.         if (first == 0)
  36.             putline(outfile, "\n\n\n");
  37.         else {
  38.             line = "Das AV Protokoll";
  39.             first = 0;
  40.         }
  41.  
  42.         putline(outfile, line);
  43.         putline(outfile, substr("---------------------", 0, line.length));
  44.     }
  45.     else if (substr(line, 0, 5) == "@line") {
  46.         /*
  47.          * Wenn das @line Kommando gefunden ist, dann beginnen wir mit
  48.          * der Ausgabe in die .txt Datei (out=1), und zwar ab der darauf-
  49.          * folgenden Zeile (getline())
  50.          */
  51.         out = 1;
  52.         getline(infile, line);
  53.     }
  54.     else if (substr(line, 0, 8) == "@endnode") {
  55.         /*
  56.          * Mit dem Erreichen des Seitenendes wird auch die Ausgabe
  57.          * vorläufig unterbunden
  58.          */
  59.         out = 0;
  60.     }
  61.  
  62.     if (out) putline(outfile, line);
  63. }
  64.  
  65. /*
  66.  * Zur Kontrolle in einen Editor laden
  67.  */
  68. progstart("d:\\msgcheck\\doku\\av.txt", "");
  69.  
  70.  
  71.  
  72.