mirror of
https://github.com/akaAgar/the-universal-mission-for-dcs-world.git
synced 2025-11-25 19:31:01 +00:00
57 lines
1.9 KiB
Lua
57 lines
1.9 KiB
Lua
-- ====================================================================================
|
|
-- DCSEX.IO - HANDLES READING/WRITING FILES
|
|
-- ====================================================================================
|
|
-- DCSEx.io.canReadAndWrite()
|
|
-- DCSEx.io.load(fileName)
|
|
-- DCSEx.io.save(fileName, str)
|
|
-- ====================================================================================
|
|
|
|
DCSEx.io = {}
|
|
|
|
-------------------------------------
|
|
-- Returns true if the IO table has been unsanitized (allowing IO operations) and false if it hasn't been
|
|
-------------------------------------
|
|
-- @return A boolean
|
|
-------------------------------------
|
|
function DCSEx.io.canReadAndWrite()
|
|
return io ~= nil
|
|
end
|
|
|
|
-------------------------------------
|
|
-- Loads a string from a text file
|
|
-------------------------------------
|
|
-- @param fileName Name of the file to read
|
|
-- @return A string, or nil if something went wrong
|
|
-------------------------------------
|
|
function DCSEx.io.load(fileName)
|
|
-- IO table is sanitized, cannot read/write to disk
|
|
if not DCSEx.io.canReadAndWrite() then return nil end
|
|
|
|
local saveFile = io.open(fileName, "r")
|
|
if not saveFile then return nil end
|
|
local str = saveFile:read("*all")
|
|
saveFile:close()
|
|
|
|
return str
|
|
end
|
|
|
|
-------------------------------------
|
|
-- Writes a string to a text file
|
|
-------------------------------------
|
|
-- @param fileName Name of the file to write to. It will be overwritten if it exists.
|
|
-- @param values Key/value table containing the values to save
|
|
-- @param str String to write
|
|
-- @return True if everything went right, false otherwise
|
|
-------------------------------------
|
|
function DCSEx.io.save(fileName, str)
|
|
-- IO table is sanitized, cannot read/write to disk
|
|
if not DCSEx.io.canReadAndWrite() then return false end
|
|
|
|
local saveFile = io.open(fileName, "w")
|
|
if not saveFile then return false end
|
|
saveFile:write(str)
|
|
saveFile:close()
|
|
|
|
return true
|
|
end
|