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>