AutoIt
AutoIt
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat AutoIt Downloads
; 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