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


Vytvořeno: 04-29-1998 16:14:31
Poslední změna: 01-07-2003 13:32:23

Determines the super data element(s) for the given data element, and the property values inherited from these.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE FindInheritedDataAttribs(name$, BYREF type$, BYREF condition$, BYREF message$,
                                    BYREF defaultval$, BYREF picture$, BYREF datavals%,
                                    BYREF widgettype%, BYREF delem_type$,
                                    BYREF delem_condition$, BYREF delem_message$,
                                    BYREF delem_defaultval$, BYREF delem_picture$,
                                    BYREF delem_datavals$, BYREF delem_widgettype$)
BEGIN

  //moves inheritance tree upwards as long as there is any "empty" parameter
  //left and there exists a super data element
  FOR Data WHERE Name = Name$ DO

    IF Super <> "" AND Inheritance <> 0 THEN
      CALL FindInheritedDataAttribs( Super, type$, condition$, message$,
                                     defaultval$, picture$, datavals%, widgettype%,
                                     delem_type$, delem_condition$, delem_message$,
                                     delem_defaultval$, delem_picture$,
                                     delem_datavals$, delem_widgettype$);

      //now let's move down, do specialization as required and this way assign
      //actual values to passed in parameters (note: place is not reached if root)
      //=> general rule: If there's no inheritance for the attrib, assign current value
      orig% = Inheritance;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        type$ = Type;
        delem_type$ = Name;
      END
     
      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        condition$ = Condition;
        delem_condition$ = Name;
      END
      
      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        message$ = Message;
        delem_message$ = Name;
      END

      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        defaultval$ = Defaultvalue;
        delem_defaultval$ = Name;
      END

      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        picture$ = Picture;
        delem_picture$ = Name;
      END

      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        datavals% = Valuetype;
        delem_datavals$ = Name;
      END
      
      orig% = orig% / 2;
      temp% = orig% / 2;
      IF temp% * 2 = orig% THEN
        widgettype% = Widgettypeno;
        delem_widgettype$ = Name;
      END
    ELSE
      //ok, but that's root
      type$ = Type;
      condition$ = Condition;
      message$ = Message;
      defaultval$ = Defaultvalue;
      picture$ = Picture;
      datavals% = Valuetype;
      widgettype% = Widgettypeno;
      delem_type$ = Name;
      delem_condition$ = Name;
      delem_message$ = Name;
      delem_defaultval$ = Name;
      delem_picture$ = Name;
      delem_datavals$ = Name;
      delem_widgettype$ = Name;
    END
  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\14949.htm (C) microTOOL GmbH 2002