Sample code for 30+ languages & platforms
AutoIt

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat AutoIt Downloads

AutoIt
;  First build a string that has a preprocessor include
$oSbSrc = ObjCreate("Chilkat.StringBuilder")
$oSbSrc.Append("1" & @CRLF & "2" & @CRLF & "3" & @CRLF)
$oSbSrc.Append("#include <qa_data/txt/helloWorld.txt>" & @CRLF)
$oSbSrc.Append("4" & @CRLF & "5" & @CRLF)

ConsoleWrite($oSbSrc.GetAsString() & @CRLF)

;  sbSrc contains:
;  	1
;  	2
;  	3
;  	#include <qa_data/txt/helloWorld.txt>
;  	4
;  	5

;  The qa_data/txt/helloWorld.txt file contains "Hello World!"

Local $sFilePath = $oSbSrc.GetAfterBetween("#include","<",">")
If ($oSbSrc.LastMethodSuccess <> True) Then
    ConsoleWrite("No #include's found." & @CRLF)
    Exit
EndIf

ConsoleWrite("filePath: " & $sFilePath & @CRLF)

;  Load the contents of the filePath
$oSbIncludeFile = ObjCreate("Chilkat.StringBuilder")
$oSbIncludeFile.LoadFile($sFilePath,"utf-8")

;  Replace the first occurrence of #include <...> line with the contents of the include file.
$oSbSrc.ReplaceAllBetween("#include",">",$oSbIncludeFile.GetAsString(),True)

ConsoleWrite($oSbSrc.GetAsString() & @CRLF)

;  sbSrce now contains:
;  	1
;  	2
;  	3
;  	Hello World!
;  	4
;  	5