loadFile: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Added SEEALSO)
m (Text replacement - "{{Feature|Warning|" to "{{Feature|warning|")
 
(54 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofpr |= Game name
|game1= ofp
|version1= 1.90


|1.90|= Game version
|game2= ofpe
|version2= 1.00


|eff= local |= Effects in MP
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| Return content of given filename. |= Description
|game4= arma2
____________________________________________________________________________________________
|version4= 1.00


| [[String]] <nowiki>=</nowiki> '''loadFile''' filename |= Syntax
|game5= arma2oa
|version5= 1.50


|p1= filename: [[String]] |= Parameter 1
|game6= tkoh
|version6= 1.00


| [[String]] |= Return value
|game7= arma3
____________________________________________________________________________________________
|version7= 0.50
 
|x1= <pre>_contents = loadFile "myFunction.sqf"</pre> |= Example 1
____________________________________________________________________________________________


| [[preprocessFileLineNumbers]], [[preprocessFile]] |= See also
|gr1= Program Flow


|descr= Returns the content of given files. If you plan to [[compile]] said string, be aware that the file should not contain comments or [[compile]] will throw an error. If there are comments, use [[preprocessFile]]/[[preprocessFileLineNumbers]] instead.
{{Feature|warning|If the file is not prepared using UTF-8 encoding and contains some characters [[toArray|with codes]] > 127, they might convert incorrectly.}}
|s1= [[loadFile]] fileName
|p1= fileName: [[String]]
|r1= [[String]]
|x1= <sqf>_contents = loadFile "wantedString.txt";</sqf>
|x2= <sqf>_contents = compile loadFile "myFunction.sqf"; // will compile string into code</sqf>
|seealso= [[fileExists]] [[preprocessFile]] [[preprocessFileLineNumbers]]
}}
}}


<h3 style="display:none">Notes</h3>
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
 
<dd class="notedate">Unknown</dd>
<dt></dt>
<dt class="note">'''Unknown'''</dt><dd class="note">In Armed Assault, the 'loadfile' command must be preceded by the 'compile' command to work.
<dd class="notedate">Posted on 25 January 2016 - 12:13</dd>
<br>
<dt class="note">[[User:James|James]]</dt>
Ex OFP 1.96:  _falarmEvent = loadfile ("syswarn\falarmEvent.sqf")
<dd class="note">Notice that you will have to activate file patching via [[Arma 3: Startup Parameters#Developer Options|-filePatching]]. Otherwise [[execVM]] and [[loadFile]] will '''not''' load any files outside your mission folder (like the global scripts).
<br>
Ex ArmA 1.0:  _falarmEvent = compile loadfile ("syswarn\falarmEvent.sqf")
</dd>
<dd class="notedate">[[User:Tactii|Tactii]] 01:10, 11 July 2007 (CEST)</dd>
<dt class="note">'''[[User:Tactii|Tactii]]'''</dt><dd class="note">This is not entirely accurate. [[loadFile]] only needs to be preceded with [[compile]] when loading [[Code|code]] (for example, a [[Function|function]] contained in an [[Script (File)|.sqf file]]). Using [[loadFile]] without [[compile]] will return a [[String|string]], which, in some cases, is exactly what you want.</dd>
<!-- Note Section END -->
</dl>
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|LOADFILE]]
[[Category:Scripting Commands OFP 1.96|LOADFILE]]
[[Category:Scripting Commands ArmA|LOADFILE]]
[[Category:Command_Group:_System_Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]

Latest revision as of 00:26, 2 February 2024

Hover & click on the images for description

Description

Description:
Returns the content of given files. If you plan to compile said string, be aware that the file should not contain comments or compile will throw an error. If there are comments, use preprocessFile/preprocessFileLineNumbers instead.
If the file is not prepared using UTF-8 encoding and contains some characters with codes > 127, they might convert incorrectly.
Groups:
Program Flow

Syntax

Syntax:
loadFile fileName
Parameters:
fileName: String
Return Value:
String

Examples

Example 1:
_contents = loadFile "wantedString.txt";
Example 2:
_contents = compile loadFile "myFunction.sqf"; // will compile string into code

Additional Information

See also:
fileExists preprocessFile preprocessFileLineNumbers

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on 25 January 2016 - 12:13
James
Notice that you will have to activate file patching via -filePatching. Otherwise execVM and loadFile will not load any files outside your mission folder (like the global scripts).