Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: TIUCOPSU

TIUCOPSU.m

Go to the documentation of this file.
  1. TIUCOPSU ;SLC/TDP - Pasted Text Search Utilities ;03/12/19 13:26
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**290**;JUN 20,1997;Build 548
  1. ;
  1. ; DBIA 10104 $$UP^XLFSTR
  1. ; DBIA 10018 ^DIE
  1. ;
  1. EN ;
  1. Q
  1. ;
  1. SUB(SARY,PS) ;Determine next subscript in array
  1. N X
  1. ;I SARY'="F",SARY'="S",SARY'="P",SARY'="T" Q "ERR"
  1. I SARY'="T" Q "ERR"
  1. S X=""
  1. ;I SARY="F" S X=$O(F(PS,X),-1)+1 Q X
  1. ;I SARY="S" S X=$O(S(X),-1)+1 Q X
  1. ;I SARY="P" S X=$O(P(X),-1)+1 Q X
  1. I SARY="T" S X=$O(TMPARY(PS,X),-1)+1 Q $S(+X>0:X,1:1)
  1. Q X
  1. TRIM(T,PUNC) ;Trim leading and trailing spaces and leading punctuation from input
  1. N BSPC,ESPC,TSPC
  1. S T=$G(T)
  1. I T="" Q T
  1. S PUNC=+PUNC
  1. I PUNC'=1 S PUNC=0
  1. N X,DN,EX
  1. S (BSPC,ESPC,TSPC,DN)=0
  1. F X=$L(T):-1:1 D Q:DN=1
  1. . S EX=$E(T,X)
  1. . I EX=" " D Q:DN=1
  1. .. S ESPC=ESPC+1
  1. .. I X=1 S T="",DN=1 Q
  1. .. I X>1 S T=$E(T,1,(X-1))
  1. . I EX'=" " S DN=1
  1. S DN=0
  1. I PUNC=1 D
  1. . F X=1:1:$L(T) D Q:DN=1
  1. .. S EX=$E(T,1)
  1. .. I (EX=" ")!("!.?"[EX) D Q:DN=1
  1. ... S BSPC=BSPC+1
  1. ... I 1=$L(T) S T="",DN=1 Q
  1. ... I 1<$L(T) S T=$E(T,2,$L(T))
  1. .. I EX'=" ","!.?"'[EX S DN=1
  1. I PUNC=0 D
  1. . F X=1:1:$L(T) D Q:DN=1
  1. .. S EX=$E(T,1)
  1. .. I (EX=" ") D Q:DN=1
  1. ... S BSPC=BSPC+1
  1. ... I 1=$L(T) S T="",DN=1 Q
  1. ... I 1<$L(T) S T=$E(T,2,$L(T))
  1. .. I EX'=" " S DN=1
  1. S TSPC=BSPC+ESPC
  1. Q T