Visual FoxPro
Visual FoxPro
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Visual FoxPro Downloads
LOCAL loSbSrc
LOCAL lcFilePath
LOCAL loSbIncludeFile
* First build a string that has a preprocessor include
loSbSrc = CreateObject('Chilkat.StringBuilder')
loSbSrc.Append("1" + CHR(13) + CHR(10) + "2" + CHR(13) + CHR(10) + "3" + CHR(13) + CHR(10))
loSbSrc.Append("#include <qa_data/txt/helloWorld.txt>" + CHR(13) + CHR(10))
loSbSrc.Append("4" + CHR(13) + CHR(10) + "5" + CHR(13) + CHR(10))
? loSbSrc.GetAsString()
* sbSrc contains:
* 1
* 2
* 3
* #include <qa_data/txt/helloWorld.txt>
* 4
* 5
* The qa_data/txt/helloWorld.txt file contains "Hello World!"
lcFilePath = loSbSrc.GetAfterBetween("#include","<",">")
IF (loSbSrc.LastMethodSuccess <> 1) THEN
? "No #include's found."
RELEASE loSbSrc
CANCEL
ENDIF
? "filePath: " + lcFilePath
* Load the contents of the filePath
loSbIncludeFile = CreateObject('Chilkat.StringBuilder')
loSbIncludeFile.LoadFile(lcFilePath,"utf-8")
* Replace the first occurrence of #include <...> line with the contents of the include file.
loSbSrc.ReplaceAllBetween("#include",">",loSbIncludeFile.GetAsString(),1)
? loSbSrc.GetAsString()
* sbSrce now contains:
* 1
* 2
* 3
* Hello World!
* 4
* 5
RELEASE loSbSrc
RELEASE loSbIncludeFile