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