Sample code for 30+ languages & platforms
Visual FoxPro

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSb
LOCAL lnRemoveFlag
LOCAL lcMarker
LOCAL lcSubstr

lnSuccess = 0

loSb = CreateObject('Chilkat.StringBuilder')
lnSuccess = loSb.Append("www.chilkatsoft.com")

* The GetBefore method returns the contents of the string up to but not including
* the marker string.  If the remove flag is 1, then both the returned string AND
* the marker are removed.
lnRemoveFlag = 0
lcMarker = "."
lcSubstr = loSb.GetBefore(lcMarker,lnRemoveFlag)
? "substr = " + lcSubstr
? "sb contains: " + loSb.GetAsString()

* Output:
* substr = www
* sb contains: www.chilkatsoft.com

lnRemoveFlag = 1
lcSubstr = loSb.GetBefore(lcMarker,lnRemoveFlag)
? "substr = " + lcSubstr
? "sb contains: " + loSb.GetAsString()

* Output:
* substr = www
* sb contains: chilkatsoft.com

* If the marker is not found, and the removeFlag is 1,
* then the entire string is returned and the sb is cleared.
* For example:
loSb.Clear()
loSb.Append("111--222--333--444")
lcMarker = "--"
lnRemoveFlag = 1
DO WHILE (loSb.Length > 0)
    lcSubstr = loSb.GetBefore(lcMarker,lnRemoveFlag)
    ? "substr = " + lcSubstr + ", sb contains: " + loSb.GetAsString()
ENDDO

* Output is:
* substr = 111, sb contains: 222--333--444
* substr = 222, sb contains: 333--444
* substr = 333, sb contains: 444
* substr = 444, sb contains: 

RELEASE loSb