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
TestDSDCond
(Data Structure/Event/Material)


Vytvořeno: 12-08-1995 18:46:50
Poslední změna: 12-03-2002 13:26:53

Auxiliary function: Determines whether condition elements of the specified data structure are arranged in a formally correct way.

Modul

Module: Data Structure/Event/Material

Zdrojový kód:

PROCEDURE TestDSDCond(DS$,CD$,PG%,FD%,CN%,DN%,xpos%,BYREF erg%)
BEGIN

  ergr%=1;
  ergl%=1;
  diffr%=9999;
  diffl%=9999;
  // determine distance
  FOREACH Dcond AS C2 WHERE C2.Datastructure=DS$ AND
                            C2.Condition=CD$ AND
                            C2.Ppage=PG% AND
                           ((C2.Pfieldno=FD% AND
                             C2.Pfieldno<>0) OR
                            (C2.Pcondno=CN% AND
                             C2.Pcondno<>0)) AND
                            c2.Dcondno<>DN% DO
    IF xpos%-X>0 AND xpos%-X<diffr% THEN
      diffr%=xpos%-X;
      ergr%=0;
    ELSE
      IF X-xpos%>0 AND X-xpos%<diffl% THEN
        diffl%=X-xpos%;
        ergl%=0;
      END
    END
  END
  // anything inbetween?
  FOREACH Dpart AS C2 WHERE C2.Datastructure=DS$ AND
                            C2.Ppage=PG% AND
                           ((C2.Pfieldno=FD% AND
                             C2.Pfieldno<>0) OR
                            (C2.Pcondno=CN% AND
                             C2.Pcondno<>0)) DO
    IF xpos%-X>0 AND xpos%-X<diffr% THEN
      ergr%=1;
    ELSE
      IF X-xpos%>0 AND X-xpos%<diffl% THEN
        ergl%=1;
      END
    END
  END
  FOREACH Field AS C2 WHERE C2.Datastructure=DS$ AND
                            C2.Ppage=PG% AND
                           ((C2.Pfieldno=FD% AND
                             C2.Pfieldno<>0) OR
                            (C2.Pcondno=CN% AND
                             C2.Pcondno<>0)) DO
    IF xpos%-X>0 AND xpos%-X<diffr% THEN
      ergr%=1;
    ELSE
      IF X-xpos%>0 AND X-xpos%<diffl% THEN
        ergl%=1;
      END
    END
  END
  FOREACH Dcond AS C2 WHERE C2.Datastructure=DS$ AND
                            C2.Condition<>CD$ AND
                            C2.Ppage=PG% AND
                           ((C2.Pfieldno=FD% AND
                             C2.Pfieldno<>0) OR
                            (C2.Pcondno=CN% AND
                             C2.Pcondno<>0)) DO
    IF xpos%-X>0 AND xpos%-X<diffr% THEN
      ergr%=1;
    ELSE
      IF X-xpos%>0 AND X-xpos%<diffl% THEN
        ergl%=1;
      END
    END
  END
  FOREACH Entitypart AS C2 WHERE C2.Datastructure=DS$ AND
                            C2.Ppage=PG% AND
                           ((C2.Pfieldno=FD% AND
                             C2.Pfieldno<>0) OR
                            (C2.Pcondno=CN% AND
                             C2.Pcondno<>0)) DO
    IF xpos%-X>0 AND xpos%-X<diffr% THEN
      ergr%=1;
    ELSE
      IF X-xpos%>0 AND X-xpos%<diffl% THEN
        ergl%=1;
      END
    END
  END
  erg%=0;
  IF ergr%=1 AND ergl%=1 THEN
    erg%=1;
  END

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