B4X
B4X
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat B4X Downloads
' First build a string that has a preprocessor include
Dim sbSrc As ChilkatStringBuilder
sbSrc.Initialize
sbSrc.Append("1" & Chr(13) & Chr(10) & "2" & Chr(13) & Chr(10) & "3" & Chr(13) & Chr(10))
sbSrc.Append("#include <qa_data/txt/helloWorld.txt>" & Chr(13) & Chr(10))
sbSrc.Append("4" & Chr(13) & Chr(10) & "5" & Chr(13) & Chr(10))
Log(sbSrc.GetAsString)
' sbSrc contains:
' 1
' 2
' 3
' #include <qa_data/txt/helloWorld.txt>
' 4
' 5
' The qa_data/txt/helloWorld.txt file contains "Hello World!"
Dim filePath As String = sbSrc.GetAfterBetween("#include", "<", ">")
If sbSrc.LastMethodSuccess <> True Then
Log("No #include's found.")
Return
End If
Log("filePath: " & filePath)
' Load the contents of the filePath
Dim sbIncludeFile As ChilkatStringBuilder
sbIncludeFile.Initialize
sbIncludeFile.LoadFile(filePath, "utf-8")
' Replace the first occurrence of #include <...> line with the contents of the include file.
sbSrc.ReplaceAllBetween("#include", ">", sbIncludeFile.GetAsString, True)
Log(sbSrc.GetAsString)
' sbSrce now contains:
' 1
' 2
' 3
' Hello World!
' 4
' 5