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
Function
(Web Publishing)


Vytvořeno: 03-07-1997 09:44:03
Poslední změna: 01-07-2003 14:00:28

Outputs detailed information about the given function.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE Function(name$)
BEGIN

/* ************************************************************************
    Generate all functions from system analysis into a HTML-site
    
    
    IN
            name$ Name der Funktion
            
    ************************************************************************
    Created 2002-02-21 mT/DK
    ************************************************************************
    Modified 2002-07-19 mT/DK
    Ersetzung von Sonderzeichen durch Ziffern bei Resource.Name
    ************************************************************************
    Last modified 2002-07-19 mT
    *************************************************************************/

  foundsomething! = FALSE;
  FOR Function WHERE Name = Name$ DO
    foundsomething! = TRUE;
    CALL Header("Funkce - " + Conv$(Boxname));
    CALL Title ("Funkce", Conv$(Boxname));
  END

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

  IF foundsomething! THEN
    FOR Function WHERE Name = Name$ DO
    
      //general object data
      CALL GenObjectData(Object, FALSE, FALSE);
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;

      //description of the object, if available
      IF hasText THEN
          CALL GetSystemProperty("WebPubDescriptionPage", sepPage$);
          IF sepPage$ = "TRUE" THEN
                PRINT {HTML} Anchor$("<B>Popis</B>", "", "desc" + Str$(Object) + ".htm");
                PRINT {HTML} "<BR>",NL;
                PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
          ELSE
              IF Text <> "" THEN
                dummy$ = Text;
                PRINT dummy$;
                PRINT {HTML} "<BR>",NL;
                PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
              END
          END
      END

      //two row table with all the data - one line per attribute
      CALL H2_TopSpaceless("Vlastnosti");
      PRINT {HTML} "<TABLE NOWRAP VALIGN=BASELINE>",NL;
      
      //type
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Typ:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      IF Type = "" THEN
        //normal processing function
        PRINT {HTML} "<I>výkonná funkce</I></FONT></TD>",NL;
      ELSIF Type = "cp" THEN
        //control function
        PRINT {HTML} "<I>řídicí funkce</I></FONT></TD>",NL;
      ELSE
        //dialog function
        PRINT {HTML} "<I>dialogová funkce</I></FONT></TD>",NL;
      END
      PRINT {HTML} " </TR>",NL;
      
      //manually
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Manuální:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      IF Manually <> 0 THEN
        PRINT {HTML} "<I>ano</I></FONT></TD>",NL;
      ELSE
        PRINT {HTML} "<I>ne</I></FONT></TD>",NL;
      END
      PRINT {HTML} " </TR>",NL;
      
      //multiple instances
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Vícenásobná instance:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      IF Multipleinstances <> 0 THEN
        PRINT {HTML} "<I>ano</I></FONT></TD>",NL;
      ELSE
        PRINT {HTML} "<I>ne</I></FONT></TD>",NL;
      END
      PRINT {HTML} " </TR>",NL;
      
      PRINT {HTML} " <TR>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      PRINT {HTML} "<B>Funkční struktura:</B></FONT></TD>",NL;
      PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
      FOR Func WHERE Func.Function = Name$ DO
          FOR Functionstructure WHERE Functionstructure.Name=Func.Fsd DO
              PRINT {HTML} Anchor$(Conv$(BoxName), "" , Str$(Object)+ ".htm"+"#FsdPage" + Str$(Page));
          END
      END
      PRINT {HTML} "</FONT></TD>", NL;
      PRINT {HTML} " </TR>", NL;

      /*
      //duration (for scenarios) - only valid for processing functions
      IF Type = "" THEN
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
        PRINT {HTML} "<B>Dauer:</B></FONT></TD>",NL;
        PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
        PRINT {HTML} "<I>Duration</I></FONT></TD>",NL;
        PRINT {HTML} " </TR>",NL;
      END
      
      //shiftmode (aka transmission behavior)
      //reuseable
      */
      
      //end of table
      PRINT {HTML} "</TABLE>",NL;
      PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
      
      //two column table with userdefined properties of the element - one line per property
      CALL GenUserdefinedProperties(Object);
            
      //information flow? (table is used to align the text as those in the table above)
      IF Type = "" THEN
        foundiflow! = FALSE;
        FOR Informationflow WHERE Name = Function.Name DO
          foundiflow! = TRUE;
        END
        PRINT {HTML} "<TABLE>",NL;
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
        IF foundiflow! THEN
          FOR Informationflow WHERE Name = Function.Name DO
            linkdescr$ = "Reprezentována diagramem infornmačních toků";
            PRINT {HTML} Anchor$(linkdescr$, "", Str$(Object) + ".htm");
          END
        ELSE
          PRINT {HTML} "Funkcet není reprezentována žádným diagramem informačních toků.";
        END
        PRINT {HTML} "</FONT></TD>",NL;
        PRINT {HTML} " </TR>",NL;
        PRINT {HTML} "</TABLE>",NL;
        PRINT {HTML} "<BR>",NL;
      END
      
     // control function: state diagram
     IF Type = "cp" THEN
        PRINT {HTML} "<TABLE>",NL;
        PRINT {HTML} " <TR>",NL;
        PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
        foundstatearea!=FALSE;
        FOR Statearea WHERE Function = Function.Name DO
           foundstatearea!=TRUE;
           PRINT {HTML} Anchor$("Reprezentována stavovým diagramem", "", Str$(Object) + ".htm");
        END
        IF NOT foundstatearea! THEN
          PRINT {HTML} "Funkce není reprezentována žádným stavovým diagramem.";
        END
        PRINT {HTML} "</FONT></TD>",NL;
        PRINT {HTML} " </TR>",NL;
        PRINT {HTML} "</TABLE>",NL;
        PRINT {HTML} "<BR>",NL;
     END
     
     
     // dialog function: dialog description
     
   IF Type = "dg" THEN
        PRINT {HTML} "<P ALIGN=CENTER><IMG SRC=""DLG" + Str$(Function.Object) + ".png""" + "BORDER=0></P>", NL;
        CALL H2("Dialogové prvky");
        foundresource!=FALSE;
        FOREACH Widgettype DO
            FOREACH Resource WHERE Resource.Function = Function.Name
                            AND Widgettype.Widgettypeno = Resource.Resourcetype ORDER BY Name DO
                IF foundresource! THEN
                    PRINT {HTML} "<BR>", NL;
                END
                foundresource!=TRUE;
                
                IF foundresource! = TRUE THEN
                    CALL GetResourceProperty ("WebPubGenerateResourceInfo", sepPage$);
                   IF UCASE$(SepPage$) = "TRUE" THEN
                        // replace from special sign
                        Resname$ = Resource.Name;
                        ResultA$ = SUBST$(Resname$, "\", "01");
                        ResultB$= SUBST$(ResultA$, "/", "02");
                        ResultC$= SUBST$(ResultB$, ":", "03");
                        ResultD$= SUBST$(ResultC$, "*", "04");
                        ResultE$= SUBST$(ResultD$, "?", "05");
                        ResultF$= SUBST$(ResultE$, """", "06");
                        ResultG$= SUBST$(ResultF$, "<", "07");
                        ResultH$= SUBST$(ResultG$, ">", "08");
                        ResultI$= SUBST$(ResultH$, "|", "09");
                        CALL SADialogelements(Function.Name, Resource.Name) INTO Str$(Function.Object) + "_" + ResultI$ + ".htm";
                        PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=TOP> ";
                        PRINT {HTML} Anchor$(Conv$(Resource.Name), "", Str$(Function.Object) + "_" + ResultI$ + ".htm"), NL;
                        PRINT {HTML} "<I>(" + Widgettype.Name + ")</I>", "";
                        PRINT {HTML} "<BR>",NL;
                    ELSE
                        PRINT {HTML} "<B>" + Conv$(Resource.Name) + "</B>", NL;
                        PRINT {HTML} "<I>(" + Widgettype.Name + ")</I>", "";
                        PRINT {HTML} "<BR>",NL;
                    END
                END
            END
        END
        IF NOT foundresource! THEN
            PRINT {HTML} "<TABLE>",NL;
            PRINT {HTML} " <TR>",NL;
            PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
            PRINT {HTML} "Funkce nemá dialog.";
            PRINT {HTML} "</FONT></TD>",NL;
            PRINT {HTML} " </TR>",NL;
            PRINT {HTML} "</TABLE>",NL;
            PRINT {HTML} "<BR>",NL;
        END
     END
    END //function

    // internal interfaces
    PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
    CALL H2_TopSpaceless("Použita jako interní rozhraní");
    foundintp! = FALSE;
    FOREACH Iface WHERE Function = Name$ DO
      FOREACH Function WHERE Name = Iface.IfaceIfd DO
        foundintp! = TRUE;
        BREAK;
      END
    END
    PRINT {HTML} "<TABLE>",NL;
    PRINT {HTML} " <TR>",NL;
    PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
    IF foundintp! THEN
      FOREACH Iface WHERE Function = Name$ DO
        FOREACH Function WHERE Name = Iface.IfaceIfd DO
          PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=""top"">";
          PRINT {HTML} " ", Anchor$("<B>" + Conv$(Boxname) + "</B>", "", Str$(Object) + ".htm");
          PRINT {HTML} "<BR>";
        END
      END
    ELSE
      PRINT {HTML} "Funkce není použita jako interní rozhraní.";
      PRINT {HTML} "<BR>";
    END
    PRINT {HTML} " </FONT></TD>",NL;
    PRINT {HTML} " </TR>",NL;
    PRINT {HTML} "</TABLE>",NL;
  
    // List of design references
    PRINT {HTML} "<HR SIZE=""1"" COLOR=""#3366CC"">", NL;
    CALL H2_TopSpaceless("Odpovídající funkce v modulové struktuře");
    foundimpl! = FALSE;
    PRINT {HTML} "<TABLE>",NL;
    PRINT {HTML} " <TR>",NL;
    PRINT {HTML} " <TD ALIGN=LEFT VALIGN=TOP><FONT SIZE=2 FACE=""Verdana, Arial"">";
    FOR Implementation WHERE Function = Name$ DO
       PRINT {HTML} "Funkce je implementována ",NL;
       FOR Funcdef WHERE Module=Implementation.Module AND Funcdefno=Implementation.Funcdefno DO
         // PRINT {HTML} "<IMG SRC=""bullet.gif"" ALIGN=""top"">";
          PRINT {HTML} " ", Anchor$("<B>" +Conv$(Boxname)+"</B>" , "", Str$(Object) + ".htm");
          FOR Module WHERE Name = Funcdef.Module DO
             PRINT {HTML} " v modulu ",Anchor$("<B>"+Conv$(Boxname)+"</B>" , "", Str$(Object) + ".htm");
          END
       END
       foundimpl!=TRUE;
    END
    IF NOT foundimpl! THEN
        PRINT {HTML} "Funkce není implementována.";
    END
    PRINT {HTML} "<BR>";
    PRINT {HTML} " </FONT></TD>",NL;
    PRINT {HTML} " </TR>",NL;
    PRINT {HTML} "</TABLE>",NL;

  
  ELSE
    CALL H2_Spaceless("Projekt neobsahuje funkci 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\8611.htm (C) microTOOL GmbH 2002