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
List_Referenced_Modules_in_Detail
(Module Structure)


Vytvořeno: 12-11-1995 11:51:05
Poslední změna: 12-05-2002 12:52:33

Outputs a list of all modules referenced, or imported, by the specified module structure with information about which functions and data the module structure makes use of.

Modul

Module: Module Structure

Zdrojový kód:

PROCEDURE List_Referenced_Modules_in_Detail FOR MODULE
BEGIN
/*
  list modules used by current module with detailed information
  about used data/functions
*/
  PRINT {BOLD,"ARIAL",12} "Modulové struktury využívané v modulu ";
  PRINT {BOLD,"ARIAL",ITALIC,12} CONV$(Module.Boxname),NL(2);

  first%=0;
  FOREACH Usage WHERE Usage.Module=Module.Name ORDER BY Usedmodule DO
    IF first%=0 THEN
      PRINT {"ARIAL",10} "Modulová struktura ";
      PRINT {"ARIAL",ITALIC,10} CONV$(Module.Boxname);
      PRINT {"ARIAL",10} " využívá následující modulové struktury:",NL(2);
      first%=1;
    END
    FOREACH Module AS Mod WHERE Mod.Name=Usage.Usedmodule DO
      PRINT {BOLD,"ARIAL",10} Mod.Id,":",TAB(24);
      PRINT {"ARIAL",10,ITALIC} CONV$(Mod.Boxname);
      // Funktionen
      functions%=0;
      FOREACH Usagefunc WHERE Usagefunc.Module=Module.Name
                          AND Usagefunc.Usedmodule=Mod.Name DO
        IF functions%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívaná funkce/procedura:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívané funkce/procedury:";
          END
          functions%=1;
        END
        FOREACH Funcdef WHERE Funcdef.Funcdefno=Usagefunc.Usedfuncdefno
                          AND Funcdef.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Funcdef.Boxname),NL;
        END
      END
      
      // type structures
      data%=0;
      FOREACH Usagedata WHERE Usagedata.Module=Module.Name
                          AND Usagedata.Usedmodule=Mod.Name DO
        IF data%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívaná reference na typovou strukturu:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívané reference na typové struktury:";
          END
          data%=1;
        END
        FOREACH Typeref WHERE Typeref.Typerefno=Usagedata.Usedtyperefno
                          AND Typeref.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Typeref.Boxname),NL;
        END
      END
      
      // type definitions/Variables
      data%=0;
      FOREACH Usagedecl WHERE Usagedecl.Module=Module.Name
                          AND Usagedecl.Usedmodule=Mod.Name DO
        IF data%=0 THEN
          IF count() = 1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívaná definice typu/proměnná:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívané definice typu/proměnné:";
          END
          data%=1;
        END
        FOREACH Declare WHERE Declare.Declareno=Usagedecl.Useddeclno
                          AND Declare.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Declare.Boxname),NL;
        END
      END

      // Relations
      data%=0;
      FOREACH Usagerelation WHERE Usagerelation.Module=Module.Name
                              AND Usagerelation.Usedmodule=Mod.Name DO
        IF data%=0 THEN
          IF COUNT()=1 THEN
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívaná reference ne relaci:";
          ELSE
            PRINT {BOLD,"ARIAL",8} NL,TAB(4),"Využívané reference ne relace:";
          END
          data%=1;
        END
        FOREACH Relationref WHERE Relationref.Relationrefno=Usagerelation.Usedrelrefno
                              AND Relationref.Module=Usage.Usedmodule DO
          PRINT {"ARIAL",8} TAB(28),CONV$(Relationref.Boxname),NL;
        END
      END
      
      PRINT NL;
    END
  END
  IF first%=0 THEN
    PRINT {BOLD,"ARIAL",10} "Modulová struktura ";
    PRINT {BOLD,"ARIAL",ITALIC,10} CONV$(Module.Boxname);
    PRINT {BOLD,"ARIAL",10} " nevyužívá žádné jiné modulové struktury.",NL(2);
  END
  PRINT NL;

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\20661.htm (C) microTOOL GmbH 2002