File:  [Coherent Logic Development] / freem / mlib / %STRING.m
Revision 1.2: download - view: text, annotated - select for diffs
Mon Mar 10 00:38:15 2025 UTC (4 months, 3 weeks ago) by snw
Branches: MAIN
CVS tags: v0-63-1-rc1, v0-63-0-rc1, v0-63-0, v0-62-3, v0-62-2, v0-62-1, v0-62-0, HEAD
Phase 3 of REUSE compliance and header reformatting

    1: %STRING(THIS,INIT) ;VCL/SNW-STRING TYPE DEFINITION; 03/09/25 06:23 PM
    2:     ;0.0;FreeM;****FREEM**;Serena Willis @2025
    3:     ;
    4:     ;   $Id: %STRING.m,v 1.2 2025/03/10 00:38:15 snw Exp $
    5:     ;    String type definition
    6:     ;
    7:     ;  
    8:     ;   Author: Serena Willis <snw@coherent-logic.com>
    9:     ;    Copyright (C) 1998 MUG Deutschland
   10:     ;    Copyright (C) 2023, 2025 Coherent Logic Development LLC
   11:     ;
   12:     ;
   13:     ;   This file is part of FreeM.
   14:     ;
   15:     ;   FreeM is free software: you can redistribute it and/or modify
   16:     ;   it under the terms of the GNU Affero Public License as published by
   17:     ;   the Free Software Foundation, either version 3 of the License, or
   18:     ;   (at your option) any later version.
   19:     ;
   20:     ;   FreeM is distributed in the hope that it will be useful,
   21:     ;   but WITHOUT ANY WARRANTY; without even the implied warranty of
   22:     ;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   23:     ;   GNU Affero Public License for more details.
   24:     ;
   25:     ;   You should have received a copy of the GNU Affero Public License
   26:     ;   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
   27:     ;
   28:     ;   $Log: %STRING.m,v $
   29:     ;   Revision 1.2  2025/03/10 00:38:15  snw
   30:     ;   Phase 3 of REUSE compliance and header reformatting
   31:     ;
   32:     ;
   33:     ; SPDX-FileCopyrightText:  (C) 2025 Coherent Logic Development LLC
   34:     ; SPDX-License-Identifier: AGPL-3.0-or-later
   35:     S THIS=$G(INIT,"")
   36:     QUIT
   37: ASCII(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
   38: ascii(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
   39: Ascii(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
   40: DATA(THIS) Q $D(THIS)
   41: data(THIS) Q $D(THIS)
   42: Data(THIS) Q $D(THIS)
   43: DISTANCE(THIS,COMP) Q $ZLSD(THIS,COMP)
   44: distance(THIS,COMP) Q $ZLSD(THIS,COMP)
   45: Distance(THIS,COMP) Q $ZLSD(THIS,COMP)
   46: EXTRACT(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
   47: extract(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
   48: Extract(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
   49: FIND(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
   50: find(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
   51: Find(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
   52: FNUMBER(THIS,CODES) Q $FN(THIS,CODES)
   53: fnumber(THIS,CODES) Q $FN(THIS,CODES)
   54: Fnumber(THIS,CODES) Q $FN(THIS,CODES)
   55: JUSTIFY(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
   56: justify(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
   57: Justify(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
   58: LENGTH(THIS) Q $L(THIS)
   59: length(THIS) Q $L(THIS)
   60: Length(THIS) Q $L(THIS)
   61: PIECECOUNT(THIS,DELIM) Q $L(THIS,DELIM)
   62: pieceCount(THIS,DELIM) Q $L(THIS,DELIM)
   63: PieceCount(THIS,DELIM) Q $L(THIS,DELIM)
   64: PIECE(THIS,DELIM,FIRST,LAST) N RF S RF=$G(FIRST,1) N RL S RL=$G(LAST,RF) Q $P(THIS,DELIM,RF,RL)
   65: piece(THIS,DELIM,FIRST,LAST) N RF S RF=$G(FIRST,1) N RL S RL=$G(LAST,RF) Q $P(THIS,DELIM,RF,RL)
   66: Piece(THIS,DELIM,FIRST,LAST) N RF S RF=$G(FIRST,1) N RL S RL=$G(LAST,RF) Q $P(THIS,DELIM,RF,RL)
   67: REPLACE(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
   68: replace(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
   69: Replace(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
   70: REVERSE(THIS) Q $RE(THIS)
   71: reverse(THIS) Q $RE(THIS)
   72: Reverse(THIS) Q $RE(THIS)
   73: TOLOWER(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
   74: toLower(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
   75: ToLower(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
   76: TOUPPER(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
   77: toUpper(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
   78: ToUpper(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
   79: TRANSLATE(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)
   80: translate(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)
   81: Translate(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)

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