Lianja
Lianja
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Lianja Downloads
// First build a string that has a preprocessor include
loSbSrc = createobject("CkStringBuilder")
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 <> .T.) then
? "No #include's found."
release loSbSrc
return
endif
? "filePath: " + lcFilePath
// Load the contents of the filePath
loSbIncludeFile = createobject("CkStringBuilder")
loSbIncludeFile.LoadFile(lcFilePath,"utf-8")
// Replace the first occurrence of #include <...> line with the contents of the include file.
loSbSrc.ReplaceAllBetween("#include",">",loSbIncludeFile.GetAsString(),.T.)
? loSbSrc.GetAsString()
// sbSrce now contains:
// 1
// 2
// 3
// Hello World!
// 4
// 5
release loSbSrc
release loSbIncludeFile