%STRING(THIS,INIT) ;VCL/SNW-STRING TYPE DEFINITION; 03/09/25 06:23 PM
;0.0;FreeM;****FREEM**;Serena Willis @2025
;
; $Id: %STRING.m,v 1.2 2025/03/10 00:38:15 snw Exp $
; String type definition
;
;
; Author: Serena Willis <snw@coherent-logic.com>
; Copyright (C) 1998 MUG Deutschland
; Copyright (C) 2023, 2025 Coherent Logic Development LLC
;
;
; This file is part of FreeM.
;
; FreeM is free software: you can redistribute it and/or modify
; it under the terms of the GNU Affero Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
;
; FreeM is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU Affero Public License for more details.
;
; You should have received a copy of the GNU Affero Public License
; along with FreeM. If not, see <https://www.gnu.org/licenses/>.
;
; $Log: %STRING.m,v $
; Revision 1.2 2025/03/10 00:38:15 snw
; Phase 3 of REUSE compliance and header reformatting
;
;
; SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC
; SPDX-License-Identifier: AGPL-3.0-or-later
S THIS=$G(INIT,"")
QUIT
ASCII(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
ascii(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
Ascii(THIS,POS) N RP S RP=$G(POS,1) Q $A(THIS,RP)
DATA(THIS) Q $D(THIS)
data(THIS) Q $D(THIS)
Data(THIS) Q $D(THIS)
DISTANCE(THIS,COMP) Q $ZLSD(THIS,COMP)
distance(THIS,COMP) Q $ZLSD(THIS,COMP)
Distance(THIS,COMP) Q $ZLSD(THIS,COMP)
EXTRACT(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
extract(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
Extract(THIS,START,END) Q $E(THIS,$G(START,1),$G(END,$G(START,1)))
FIND(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
find(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
Find(THIS,SUBSTR,START) N RS S RS=$GET(START,1) Q $F(THIS,SUBSTR,RS)
FNUMBER(THIS,CODES) Q $FN(THIS,CODES)
fnumber(THIS,CODES) Q $FN(THIS,CODES)
Fnumber(THIS,CODES) Q $FN(THIS,CODES)
JUSTIFY(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
justify(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
Justify(THIS,COUNT,DIG) Q $J(THIS,COUNT,$GET(DIG,$L(THIS)))
LENGTH(THIS) Q $L(THIS)
length(THIS) Q $L(THIS)
Length(THIS) Q $L(THIS)
PIECECOUNT(THIS,DELIM) Q $L(THIS,DELIM)
pieceCount(THIS,DELIM) Q $L(THIS,DELIM)
PieceCount(THIS,DELIM) Q $L(THIS,DELIM)
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)
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)
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)
REPLACE(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
replace(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
Replace(THIS,SEARCH,REPLACE) Q $ZREPLACE(THIS,SEARCH,REPLACE)
REVERSE(THIS) Q $RE(THIS)
reverse(THIS) Q $RE(THIS)
Reverse(THIS) Q $RE(THIS)
TOLOWER(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
toLower(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
ToLower(THIS) Q $TR(THIS,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
TOUPPER(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
toUpper(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
ToUpper(THIS) Q $TR(THIS,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
TRANSLATE(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)
translate(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)
Translate(THIS,SEARCH,REPLACE) N RR S RR=$G(REPLACE,"") Q $TR(THIS,SEARCH,RR)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>