Informační tok Funkční structura Datová struktura ER model Modulová struktura Typová struktura Relační model Dokumentace


[Celkový datový model] [Funkce] [Externí rohraní] [Stavové diagramy] [Datové elementy] [Entity] [Relace]
[Databáze] [Události] [Materiály] [Generovací funkce] [Vyhodnocovací funkce] [Konfigurace] [Uživatelé] [Projekt] [Home]



Vyhodnocovací funkce
Report
(Web Publishing)


Vytvořeno: 04-07-1998 23:13:34
Poslední změna: 01-10-2003 13:33:16

Outputs detailed information about the given report structure.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE Report(Name$)
BEGIN

  //IMPORTANT NOTE: It is NOT possible to generate linked Word document pages
  //at this place. This is done from outside by the Web Publishing add-in.
  
  foundsomething! = FALSE;
  FOR Report WHERE Name = Name$ DO
    foundsomething! = TRUE;
    CALL Header("Dokumentace - " + Conv$(Boxname));
    CALL Title ("Dokumentace", Conv$(Boxname));
  END

  //display a dummy title if the element does not exist
  IF NOT foundsomething! THEN
    CALL Header("Dokumentace - " + name$);
    CALL Title ("Dokumentace", name$);
  END

  IF foundsomething! THEN
    FOR Report WHERE Name = Name$ DO
    
      //display image(s) along with their image maps
      CALL ReportMap(Name, 1, PageWasGenerated!);
      CALL Long2IDString( Object, id$ );
      PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=1-" + id$ + ".png BORDER=0 USEMAP=""#map_page1""></P>", NL;
      firstPage! = TRUE;
      FOREACH Reppage WHERE Report = Report.Name ORDER BY Page DO
        IF firstPage! THEN // generate page numbers only for more than one page
          PRINT {HTML} "<P ALIGN=CENTER><I>Stránka diagramu 1</I></P>", NL;
          firstPage! = FALSE;
        END
        CALL ReportMap(Report, Page, PageWasGenerated!);
        CALL Long2IDString( Report.Object, id$ );
        CALL PageNo2IDString( Page, pageid$ );
        PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=" + pageid$ + "-" + id$ + ".png BORDER=0";
        IF PageWasGenerated! THEN
          PRINT {HTML} " USEMAP=""#map_page", Page ,"""";
        END
        PRINT {HTML} "></P>",NL;
        PRINT {HTML} "<P ALIGN=CENTER><I>Stránka diagramu "+ Str$(Page) + "</I></P>", NL;
      END
      
      //general object data
      CALL GenObjectData(Object, TRUE, TRUE);
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;


      //two column table with userdefined properties of the element - one line per property
      CALL GenUserdefinedProperties(Object);
      
      //list of all rep units
      CALL H2_TopSpaceless("Textové kapitoly");
      foundelem! = FALSE;
      FOREACH Repunit WHERE Report = Report.Name DO
        IF NOT Emptyflag AND hasText THEN
          foundelem! = TRUE;
          BREAK;
        END
      END
      IF foundelem! THEN
        FOREACH Repunit WHERE Report = Report.Name ORDER BY Boxname DO
          IF NOT Emptyflag AND hasText THEN
            PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=""top"">";
            CALL PageNo2IDString( Page, id1$ );
            CALL Long2IDString( Unitno, id2$ );
            PRINT {HTML} " ", Anchor$("<B>" + Conv$(Boxname) + "</B>", "",
                                      "r" + id1$ + id2$ + Str$(Report.Object) + ".htm");
            PRINT {HTML} "<BR>",NL;
          END
        END
        PRINT {HTML} "<BR>",NL;
      ELSE
        PRINT {HTML} "Dokumentace neobsahuje žádné kapitoly.";
        PRINT {HTML} "<BR><BR>",NL;
      END

      //referenced reports
      CALL H2_TopSpaceless("Reference na dokumentace");
      foundpart! = FALSE;
      FOREACH Reppart WHERE Report = Report.Name DO
        foundpart! = TRUE;
        BREAK;
      END
      IF foundpart! THEN
        lastreport$ = "";
        FOREACH Reppart WHERE Report = Report.Name ORDER BY Refrepname DO
          IF lastreport$ <> Refrepname THEN
            PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=""top"">";
            FOR Report WHERE Name = Refrepname DO
              PRINT {HTML} " ", Anchor$("<B>" + Conv$(Boxname) + "</B>", "", Str$(Object) + ".htm");
            END
            PRINT {HTML} "<BR>",NL;
          END
          lastreport$ = Refrepname;
        END
        PRINT {HTML} "<BR>",NL;
      ELSE
        PRINT {HTML} "Nemá reference na další dokumentace.";
        PRINT {HTML} "<BR><BR>",NL;
      END

      //referenced in other reports?
      CALL H2_TopSpaceless("Referencující dokumentace ");
      foundref! = FALSE;
      FOREACH Reppart WHERE Refrepname = Report.Name DO
        foundref! = TRUE;
        BREAK;
      END
      IF foundref! THEN
        lastref$ = "";
        FOREACH Reppart WHERE Refrepname = Report.Name ORDER BY Report DO
          IF lastref$ <> Report THEN
            PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=""top"">";
            FOR Report WHERE Name = Report DO
              PRINT {HTML} " ", Anchor$("<B>" + Conv$(Boxname) + "</B>", "", Str$(Object) + ".htm");
            END
            PRINT {HTML} "<BR>",NL;
          END
          lastref$ = Report;
        END
      ELSE
        PRINT {HTML} "Dokumentace není referencována z žádné další relace.";
      END
      
    END
  ELSE
    CALL H2_Spaceless("V projektu není dokumentace daného jména.");
    PRINT {HTML} "<BR>",NL;
  END
  CALL footer("");
END


Generováno: 16.10.2003 7:41 Systém: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\Projekt03.csf Generováno systémem case/4/0
Vygeneroval: Administrator Soubor: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\html\7832.htm (C) microTOOL GmbH 2002