| [613] | 1 | SCCVEGU0 ;ALB/JRP - UTILS FOR ENCNTR CNVRSN GLBL ESTMTR;11-JAN-1996
 | 
|---|
 | 2 |  ;;5.3;Scheduling;**211**;Aug 13, 1993
 | 
|---|
 | 3 | INSERT(INSTR,OUTSTR,COLUMN,LENGTH) ;INSERT A STRING INTO ANOTHER
 | 
|---|
 | 4 |  ;INPUT  : INSTR - String to insert
 | 
|---|
 | 5 |  ;         OUTSTR - String to insert into
 | 
|---|
 | 6 |  ;         COLUMN - Where to begin insertion (defaults to end of OUTSTR)
 | 
|---|
 | 7 |  ;         LENGTH - Number of characters to clear from OUTSTR
 | 
|---|
 | 8 |  ;                  (defaults to length of INSTR)
 | 
|---|
 | 9 |  ;OUTPUT : s - INSTR will be placed into OUTSTR starting at COLUMN
 | 
|---|
 | 10 |  ;             using LENGTH characters
 | 
|---|
 | 11 |  ;         "" - Error (bad input)
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ;NOTE : This module is based on $$SETSTR^VALM1
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 |  N STRING
 | 
|---|
 | 16 |  Q:'$D(INSTR)!'$D(OUTSTR) ""
 | 
|---|
 | 17 |  I '$G(COLUMN) N COLUMN S COLUMN=$L(OUTSTR)+1
 | 
|---|
 | 18 |  I '$G(LENGTH) N LENGTH S LENGTH=$L(INSTR)
 | 
|---|
 | 19 |  S INSTR=$S($L(INSTR)<LENGTH:INSTR_$J("",LENGTH-$L(INSTR)),1:INSTR)
 | 
|---|
 | 20 |  S $E(OUTSTR,COLUMN,COLUMN+LENGTH-1)=INSTR
 | 
|---|
 | 21 |  Q OUTSTR
 | 
|---|
 | 22 |  ;
 | 
|---|
 | 23 | CENTER(CNTRSTR,MARGIN) ;CENTER A STRING
 | 
|---|
 | 24 |  ;INPUT  : CNTRSTR - String to center
 | 
|---|
 | 25 |  ;         MARGIN - Margin width to center within (defaults to 80)
 | 
|---|
 | 26 |  ;OUTPUT : s - INSTR will be centered in a margin width of MARGIN
 | 
|---|
 | 27 |  ;         "" - Error (bad input)
 | 
|---|
 | 28 |  ;NOTES  : A margin width of 80 will be used when MARGIN<1
 | 
|---|
 | 29 |  ;       : CNTRSTR will be returned when $L(CNTRSTR)>MARGIN
 | 
|---|
 | 30 |  ;
 | 
|---|
 | 31 |  N STRING,FROM
 | 
|---|
 | 32 |  ;Check input
 | 
|---|
 | 33 |  Q:($G(CNTRSTR)="") ""
 | 
|---|
 | 34 |  I $G(MARGIN)<1 N MARGIN S MARGIN=80
 | 
|---|
 | 35 |  Q:($L(CNTRSTR)>MARGIN) CNTRSTR
 | 
|---|
 | 36 |  S STRING="",$P(STRING," ",MARGIN+1)="",FROM=(MARGIN\2)-($L(CNTRSTR)\2)+1
 | 
|---|
 | 37 |  S $E(STRING,FROM,FROM+$L(CNTRSTR)-1)=CNTRSTR
 | 
|---|
 | 38 |  Q STRING
 | 
|---|
 | 39 |  ;
 | 
|---|