|
0001 D EnQuote PI 2048A VARYING
0002 D InString 2048A VALUE VARYING
D nPos S 5I 0
0003 D OneQ C Const('''')
0004 D TwoQ C Const('''''')
0005 C Eval nPos = %scan(OneQ:InString)
0006 C Dow nPos > 0
0007 C Eval InString =
%replace(TwoQ:InString:nPos:1)
0008 C Eval nPos = nPos + 2
0009 C Eval nPos = %scan(OneQ : InString : nPos )
0010 C enddo
0011 C Return InString
-----Original Message-----
From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com]
On Behalf Of Jason
Sent: Friday, November 08, 2002 2:08 PM
To: rpg400-l@midrange.com
Subject: Re: procedure/subroutine to quote a string with quotes
Heres one I came up with:
/If Not Defined(EscapeQuote_D)
/Define EscapeQuote_D
DEscapeQuote Pr 1000a
D InString 1000a Value
/EndIf
/If Not Defined(EscapeQuote_P)
/Define EscapeQuote_P
PEscapeQuote B
DEscapeQuote Pi 1000a
D InString 1000a Value
DWorkStr S 1000a Inz
DPos S 5s 0 Inz
C
C Eval Pos = %scan(X'7D':InString)
C If Pos <> *Zero
-----\
C Dow Pos <> *Zero
---\ I
C Eval WorkStr = %replace('''''': InString: POS:
1) I I
C Eval Pos = Pos + 2
I I
C Eval Pos = %scan(X'7D':WorkStr:Pos )
I I
C If Pos = *Zero
-\ I I
C Leave
I I I
C EndIf
-/ I I
C Eval InString = WorkStr
I I
C EndDo
---/ I
C Else
----<I
C Eval WorkStr = InString
I
C EndIf
-----/
C
C
C Return WorkStr
P E
/EndIf
Will return the quoted sting.
11/8/2002 1:43:46 PM, Dan <dbcerpg@yahoo.com> wrote:
>The archives are down... I have an urgent need... <g>
>
>I've got to take a string from a user input and surround it in quotes.
>The problem arises when the string itself has a quote or multiple
>quotes in it. So if a user keys in:
> Don's in deep doo-doo with deleting Dave's files.
>
>then I gotta put into a variable:
> 'Don''s in deep doo-doo with deleting Dave''s files.'
>
>Can someone help me from having to reinvent the wheel? I will need
>solutions for both CL and RPG-IV (at v4r5), but will gladly take one or
>the other for now.
>
>TIA, Dan
>
>__________________________________________________
>Do you Yahoo!?
>U2 on LAUNCH - Exclusive greatest hits videos
>http://launch.yahoo.com/u2
>_______________________________________________
>This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
>To post a message email: RPG400-L@midrange.com
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
>or email: RPG400-L-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/rpg400-l.
>
>
>
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
To post a message email: RPG400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
or email: RPG400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.