Annotation of freem_fileman/DIALOGU.m, revision 1.1

1.1     ! snw         1: DIALOGU        ;SFISC/MMW - FUNCTIONS FOR DIALOGS ;11/21/94  13:26
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        Q  ;not for interactive use
        !             5: OUT(Y,DIALF,%F)        ;convert FileMan Data to language dependant output format
        !             6:        ;Y is the value to transform, DIALF is the type of data
        !             7:        ;%F Only for "FMTE" node. Passed from FMTE^DILIBF, indicates date format.
        !             8:        ;DIALF must correspond to at least a subscript in the language file
        !             9:        ;for the english language (entry #1) but may also have corresponding
        !            10:        ;entries for other languages
        !            11:        I $D(Y)[0!($G(DIALF)="") Q ""
        !            12:        N DINAKED,DIY S DINAKED=$$LGR^%ZOSV
        !            13:        N DILANG S DILANG=+$G(DUZ("LANG")) S:DILANG<1 DILANG=1
        !            14:        S DIY=$G(^DI(.85,DILANG,DIALF)) I DIY="" S:DILANG'=1 DIY=$G(^DI(.85,1,DIALF)) I DIY="" S Y="" G Q
        !            15:        X DIY
        !            16: Q      D:DINAKED]""
        !            17:        . I DINAKED["(" Q:$O(@(DINAKED))  Q
        !            18:        . I $D(@(DINAKED))
        !            19:        . Q
        !            20:        Q Y
        !            21:        ;
        !            22: PRS(D0,X)      ;parse language dependant user input
        !            23:        ;D0 is an entry in the DIALOG file
        !            24:        ;X is the user input
        !            25:        ;the function returns the number of the matching command word
        !            26:        ;plus the corresponding english text. If no match was found -1 will
        !            27:        ;be returned. If there is no user input the function returns the
        !            28:        ;null string.
        !            29:        N DINAKED,Y S DINAKED=$$LGR^%ZOSV
        !            30:        I '$D(^DI(.84,+$G(D0)))!($G(X)']"") S Y=0 G Q
        !            31:        N R,I,I1,IL,T,W,%,DILANG
        !            32:        S DILANG=+$G(DUZ("LANG")) S:DILANG<1 DILANG=1
        !            33:        I DILANG>1,'$O(^DI(.84,D0,4,DILANG,1,0)) S DILANG=1
        !            34:        S X=$$OUT(X,"UC"),U="^"
        !            35:        S R=$S(DILANG=1:"^DI(.84,"_D0_",2)",1:"^DI(.84,"_D0_",4,"_DILANG_",1)")
        !            36:        S (I,I1,%)=0 F  S I=$O(@R@(I)) Q:'I!%  S T=$$OUT(@R@(I,0),"UC") D
        !            37:        .F IL=1:1 S W=$P(T,U,IL) Q:W=""!%  S I1=I1+1 S:$E(W,1,$L(X))=X %=I1_U_$P(@R@(I,0),U,IL)
        !            38:        I '% S Y=-1 G Q
        !            39:        I DILANG=1 S Y=% G Q
        !            40:        S (I,I1)=0,%=+% F  S I=$O(^DI(.84,D0,2,I)) Q:'I!(I1=%)  S T=^(I,0) D
        !            41:        .F IL=1:1 Q:$P(T,U,IL)=""!(I1=%)  S I1=I1+1,W=$P(T,U,IL)
        !            42:        S Y=%_U_$G(W) G Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>