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
Check_Refinements
(Type Structure)


Vytvořeno: 12-11-1995 13:01:29
Poslední změna: 12-10-2002 13:47:49

Outputs a list of all elements whose refinements are formally incorrect. The list is grouped by element types field, conditions, and structure elements.

Modul

Module: Type Structure

Zdrojový kód:

PROCEDURE Check_Refinements FOR TYPESTRUCTURE
BEGIN
/*
  check refinements; print name of elements with only one child element
*/

  PRINT {"ARIAL",12,BOLD} "Test větvení typové struktury ";
  PRINT {"ARIAL",12,BOLD,ITALIC} CONV$(Typestructure.Boxname),NL(2);

  first%=0;
  found%=0;
  // Fields
  FOREACH Tfield WHERE Tfield.Typestructure=Typestructure.Name DO
    children%=0;
    FOREACH Tfield AS F WHERE F.Pfieldno=Tfield.Fieldno
                        AND F.Ppage=Tfield.Page
                        AND F.Typestructure=Tfield.Typestructure DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Tpart AS P WHERE P.Pfieldno=Tfield.Fieldno
                        AND P.Ppage=Tfield.Page
                        AND P.Typestructure=Tfield.Typestructure DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Relationpart AS E WHERE E.Pfieldno=Tfield.Fieldno
                        AND E.Ppage=Tfield.Page
                        AND E.Typestructure=Tfield.Typestructure DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Tcond AS C WHERE C.Pfieldno=Tfield.Fieldno
                        AND C.Ppage=Tfield.Page
                        AND C.Typestructure=Tfield.Typestructure DO
      children%=children%+count();
      IF Condition="lo" OR Condition="st" THEN
        children%=children%+1;
      END
      BREAK;
    END
    IF children% = 1 THEN
      found%=1;
      IF first%=0 THEN
        PRINT {BOLD,"ARIAL",10} "Neúplná větvení:",NL;
        first%=1;
      END
      PRINT {"ARIAL",10} TAB(4),CONV$(Tfield.Boxname),NL;
    END
  END
  
  // no children
  first%=0;
  FOREACH Tcond AS C1 WHERE C1.Typestructure=Typestructure.Name
                      AND C1.Condition = "em" DO
    children%=0;
    FOREACH Relationpart WHERE Relationpart.Pcondno=C1.Tcondno
                         AND Relationpart.Typestructure=C1.Typestructure
                         AND Relationpart.Ppage=C1.Page DO
      children%=children%+COUNT();
      BREAK;
    END
    FOREACH Tpart WHERE Tpart.Pcondno=C1.Tcondno AND
                        Tpart.Typestructure=C1.Typestructure AND
                        Tpart.Ppage=C1.Page DO
      children%=children%+COUNT();
      BREAK;
    END
    FOREACH Tfield WHERE Tfield.Pcondno=C1.Tcondno AND
                        Tfield.Typestructure=C1.Typestructure AND
                        Tfield.Ppage=C1.Page DO
      children%=children%+COUNT();
      BREAK;
    END
    FOREACH Tcond WHERE Tcond.Pcondno=C1.Tcondno AND
                        Tcond.Typestructure=C1.Typestructure AND
                        Tcond.Ppage=C1.Page DO
      children%=children%+COUNT();
      BREAK;
    END
    
    IF children%=0 THEN
      PRINT {BOLD,"ARIAL",10} "Strukturní prvky bez pod ně připojených prvků.",NL;
      first%=1;
      found%=1;
    END
    BREAK;
  END

  IF found%=0 THEN
    PRINT {"ARIAL",10} TAB(4),"Bez formálních chyb větvení.",NL;
  END

  PRINT NL(2);

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