fis-gtm/sr_port/lcase.mpt

35 lines
1.2 KiB
Plaintext

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
; Copyright 1989, 2006 Fidelity Information Services, Inc ;
; ;
; This source code contains the intellectual property ;
; of its copyright holder(s), and is made available ;
; under a license. If you do not know the terms of ;
; the license, please stop and do not read further. ;
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
%LCASE ;GT.M %UCASE utility - convert a string to all lower case
;invoke with string in %S to return lower case string in %S
;invoke at INT to execute interactively
;invoke at FUNC as an extrinsic function
;if you make heavy use of this routine, consider $ZCALL
;
s %S=$$FUNC(%S)
q
INT n %S
r !,"String: ",%S w !,"Lower: ",$$FUNC(%S),!
q
FUNC(s)
new returnM,returnUTF8,ret,index
i ($zver["VMS")!($ZCHSET="M") do quit ret
. s returnM="set ret=$tr(s,""ABCDEFGHIJKLMNOPQRSTUVWXYZ"
. for index=192:1:207,209:1:221 s returnM=returnM_$char(index)
. s returnM=returnM_""","
. s returnM=returnM_"""abcdefghijklmnopqrstuvwxyz"
. for index=224:1:239,241:1:253 s returnM=returnM_$char(index)
. s returnM=returnM_""")"
. xecute returnM
s returnUTF8="set ret=$zconvert(s,""L"")"
xecute returnUTF8
q ret