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
GenIFDTextOpt
(OLE Functions for MS Word)


Vytvořeno: 04-15-1998 17:21:17
Poslední změna: 11-27-2002 14:10:08

Outputs the texts describing the specified information flow and its selected elements.

Modul

Module: OLE Functions for MS Word

Zdrojový kód:

PROCEDURE GenIFDTextOpt(name$, opt$)
BEGIN
    FOR Informationflow WHERE Name = name$ DO
        FOR Function WHERE Name = name$ DO
            DiagName$= Boxname;
            IF Text <> "" THEN
                CALL GenIFDTitle(DiagName$);
                PRINT Text, NL;
            END
        END

        /* Functions */
        IF INSTR(opt$, "f") > 0 THEN
            FOREACH Ifunc WHERE Ifd = Name ORDER BY Function DO
                FOR Function WHERE Name = Ifunc.Function DO
                    IF Reusable <> 0 THEN
                        done%= 0;
                        FOREACH Part WHERE Name = Function AND Text <> "" DO
                            IF Pfuncno <> 0 THEN
                                CALL GenRecurrentStructureFunc (Fsd, Informationflow.Name, Pfuncno, Ppage, done%);
                            ELSIF Pblockno <> 0 THEN
                                CALL GenRecurrentStructureBlock(Fsd, Informationflow.Name, Pblockno, Ppage, done%);
                            ELSIF Pcondno <> 0 THEN
                                CALL GenRecurrentStructureCond (Fsd, Informationflow.Name, Pcondno, Ppage, done%);
                            END
                            IF done% <> 0 THEN
                                FOR Function WHERE Name = Part.Name DO
                                    CALL GenIFDTitle(DiagName$);
                                    CALL GenDiagHeader("Opakující se struktura", CONV$(Boxname));
                                    PRINT Part.Text;
                                END
                                BREAK;
                            END
                        END
                    ELSE
                        done%= 0;
                        FOREACH Part WHERE Name = Function DO
                            IF Text <> "" THEN
                                CALL GenIFDTitle(DiagName$);
                                CALL GenDiagHeader("Part", CONV$(Boxname));
                                PRINT Text;
                            END
                            done%= 1;
                            BREAK;
                        END
                        IF done% = 0 AND Text <> "" THEN
                            CALL GenIFDTitle(DiagName$);
                            CALL GenDiagHeader("Funkce", CONV$(Boxname));
                            PRINT Text;
                        END
                    END
                END
            END
        END
        
        /* Internal Interfaces */
        IF INSTR(opt$, "i") > 0 THEN
            last$= "";
            FOREACH Iface WHERE Ifd = Name ORDER BY Function DO
                IF last$ <> Function THEN
                    FOR Function WHERE Name = Iface.Function DO
                        IF Text <> "" THEN
                            CALL GenIFDTitle(DiagName$);
                            CALL GenDiagHeader("Interní rozhraní", CONV$(Boxname));
                            PRINT Text;
                        END
                    END
                    last$= Function;
                END
            END
        END

        /* External Interface */
        IF INSTR(opt$, "x") > 0 THEN
            last$= "";
            FOREACH Efaceref WHERE Ifd = Name ORDER BY Eface DO
                IF last$ <> Eface THEN
                    FOR Eface WHERE Name = Efaceref.Eface DO
                        IF Text <> "" THEN
                            CALL GenIFDTitle(DiagName$);
                            CALL GenDiagHeader("Externí rozhraní", CONV$(Boxname));
                            PRINT Text;
                        END
                    END
                    last$= Eface;
                END
            END
        END
        
        /* Stores */
        IF INSTR(opt$, "s") > 0 THEN
            last$= "";
            FOREACH Store WHERE Ifd = Name ORDER BY Datastructure DO
                IF last$ <> Datastructure THEN
                    FOR Field WHERE Datastructure = Store.Datastructure AND
                                    Page = 1 AND
                                    X = 286 AND
                                    Y = 15 AND
                                    Text <> "" DO
                        IF Text <> "" THEN
                            CALL GenIFDTitle(DiagName$);
                            CALL GenDiagHeader("Paměť", CONV$(Boxname));
                            PRINT Text;
                        END
                    END
                    last$= Datastructure;
                END
            END
        END

        /* Entities */
        IF INSTR(opt$, "e") > 0 THEN
            last$= "";
            FOREACH Entityref WHERE Ifd = Name ORDER BY Entity DO
                IF last$ <> Entity THEN
                    FOR Entity WHERE Name = Entityref.Entity DO
                        IF Semantic <> "" THEN
                            CALL GenIFDTitle(DiagName$);
                            CALL GenDiagHeader("Reference na entitu", CONV$(Boxname));
                            PRINT Semantic,NL;
                        END
                    END
                    last$= Entity;
                END
            END
        END
        
        /* Ports */
        IF INSTR(opt$, "p") > 0 THEN
            FOREACH Port WHERE Function = Name DO
                IF Text <> "" THEN
                    CALL GenIFDTitle(DiagName$);
                    CALL GenIFDPortname(Function, Portno, name$);
                    CALL GenDiagHeader("Port", name$);
                    PRINT Text;
                END
            END
        END
        
        /* Flows */
        IF INSTR(opt$, "l") > 0 THEN
            CALL GenFlowText(Name, DiagName$);
        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\4603.htm (C) microTOOL GmbH 2002