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


Vytvořeno: 12-08-1995 18:47:29
Poslední změna: 12-10-2002 13:55:16

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

Modul

Module: Type Structure

Zdrojový kód:

PROCEDURE TestTSDCond(TS$,CD$,PG%,FD%,CN%,TN%,xpos%,BYREF erg%)
BEGIN
  // auxiliary function used to detect solitary conditions

  ergr%=1;
  ergl%=1;
  diffr%=9999;
  diffl%=9999;
  // determine distance
  FOREACH Tcond AS C2 WHERE C2.Typestructure=TS$ 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.Tcondno<>TN% 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 Tpart AS C2 WHERE C2.Typestructure=TS$ 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 Tfield AS C2 WHERE C2.Typestructure=TS$ 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 Tcond AS C2 WHERE C2.Typestructure=TS$ 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 Relationpart AS C2 WHERE C2.Typestructure=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\8001.htm (C) microTOOL GmbH 2002