These other things don't work because SRPL has NEVER been able to do this.
You must always have at least a one character text to replace with.

I've been doing this workaround ever since SRPL existed, or 23 years, whichever 
is less.

Dennis McGrath

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
Sent: Wednesday, January 14, 2009 11:24 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: SRPL limit?

Dennis

Will do once I get a few hours to work on it.
How did it fail? and how are you testing it?

I wonder why these other things don't work?

Marc


----- Original Message ----- 
From: "Dennis McGrath" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Wednesday, January 14, 2009 10:43 AM
Subject: [RBASE-L] - RE: SRPL limit?


Marc,

My tests indicate this will not work either.
Finish mine and save yourself tons of time.

Dennis

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
Sent: Wednesday, January 14, 2009 10:29 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: SRPL limit?

Jim

By George I think you got it
I only had a time for a quick text but it look OK so far.

I am about 1/2 way through adding Dennis's suggestion
now I may have 2 choices.

Thanks
Marc



----- Original Message ----- 
From: "James Bentley" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Wednesday, January 14, 2009 8:37 AM
Subject: [RBASE-L] - RE: SRPL limit?


> If you want to replace something with null try the following syntax:
> SET VAR vadjdesc4 = +
> (SRPL(.vadjdesc3,'[sx2]',(IFNULL(.vsympt2,NULL ,.vsympt2)) ,1))
>
> use the keyword NULL
>
> Jim Bentley
> American Celiac Society
> [email protected]
> tel: 1-504-737-3293
>
>
>
> ----- Original Message ----
> From: MDRD <[email protected]>
> To: RBASE-L Mailing List <[email protected]>
> Sent: Tuesday, January 13, 2009 7:15:43 AM
> Subject: [RBASE-L] - RE: SRPL limit?
>
> Thanks Dennis, Larry, Karen, Stephen, Bill and all for the help
>
> Not sure why I thought of that.  I just got lucky.
>
>
> Thanks Marc
>
> ----- Original Message ----- From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Monday, January 12, 2009 5:53 PM
> Subject: [RBASE-L] - RE: SRPL limit?
>
>
> oooo, tricky Mark.
>
> but just to avoid confusion over terminology,  use vNoText instead of
> vNull.
> CHAR(0) is not null but actually a ZERO length text.
>
> Dennis
>
> ________________________________________
> From: [email protected] [[email protected]] On Behalf Of MDRD
> [[email protected]]
> Sent: Monday, January 12, 2009 3:52 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
>
> Ok
>
> I think I found the answer.
>
> set var vnull = ''  did not work soo I tried this and it seems to work
>
> SET VAR vnull TEXT = (CHAR(0))
> SET VAR vadjdesc4 = +
> (SRPL(.vadjdesc3,'[sx2]',(IFNULL(.vsympt2,.vnull ,.vsympt2)) ,1))
>
>
> Thanks All
> Marc
>
>
>
> ----- Original Message -----
> From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Monday, January 12, 2009 2:41 PM
> Subject: [RBASE-L] - RE: SRPL limit?
>
>
> Marc,
>
> Well it looks like you need a little stretching!
> It doesn't hurt.
>
> Put my code in a file and run it.
>
> You will see the result = ac, b has been replaced with nothing
>
>
> Try it with vRepl = a or b or c or x
>
> You will see the results.
>
> It is doing the SRPL the hard way, by grabbing the texts before and after
> the Find text and inserting the replace text between them.
>
> Look up the functions I've used in help so you understand them.
>
> Trace it and watch the variables.
>
> I think you will get the idea
>
> Dennis
>
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> Sent: Monday, January 12, 2009 2:25 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
>
> Dennis
>
> Thanks for the code, sad to say you are still stretching me with that
> example.
> SRPL still seems much easier in my mind.
>
> I will have to get a strong cup of coffee and study this some more.
>
> Marc
>
>
>
>
> ----- Original Message -----
> From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Monday, January 12, 2009 2:03 PM
> Subject: [RBASE-L] - RE: SRPL limit?
>
>
> Marc,
>
> You can create your own custom functions for RBase to use.
>
> Not withstanding that, here is some sample code on how work around the
> SRPL
> problem. This method works whether your replacement value is null or not
>
>
>
> SET VAR vTmp = 'abc' -- original text
> SET VAR vFind = 'b' -- Text to find
> SET VAR vRepl TEXT = NULL -- text to substitute
>
> SET VAR vPos INTEGER
> SET VAR vLen INTEGER
> SET VAR vPre TEXT
> SET VAR vPost TEXT
>
> SET VAR vPos = (SLOC(.vTmp,.vFind))
> IF vPos > 0 THEN
> SET VAR vLen = (SLEN(.vFind))
> SET VAR vPre = (SGET(.vTmp,(.vPos-1),1))
> SET VAR vPost = (SGET(.vTmp,(SLEN(.vTmp)),(.vPos+.vLen)))
> SET VAR vTmp = (.vPre+.vRepl+.vPost)
> ENDIF
>
>
> SHOW V vTmp
> RETURN
>
> Dennis McGRath
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> Sent: Monday, January 12, 2009 1:37 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
>
> Dennis
>
> You and Larry are talking over my head and give me too much credit.
>
> Marc
>
> ----- Original Message -----
> From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Monday, January 12, 2009 1:15 PM
> Subject: [RBASE-L] - RE: SRPL limit?
>
>
> I think one of your best bets is to do as Larry suggested and make you own
> function (stored procedure) that you can call.
>
> I suspect someone on this list already has such a function written.
>
> Dennis
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> Sent: Monday, January 12, 2009 12:27 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
>
> Dennis
>
> I thought of that but extra spaces would look bad in the paragraph.
>
> It seems I can come up with some strange needs in my APP.
>
> Marc
>
>
> ----- Original Message -----
> From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Monday, January 12, 2009 12:16 PM
> Subject: [RBASE-L] - RE: SRPL limit?
>
>
> Bummer,
>
> As far as I can tell, it has worked that way for some time.
> It does limit the usefulness of this function quite a lot.
>
> You could change himer to a space but that may not be what you want.
>
> Dennis McGrath
>
>
>
>
>


Reply via email to