PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
FileIO API

Typedefs

typedef int[] ParseHandle
 
typedef int[] FileHandle
 
typedef int[] FindFileHandle
 

Enumerations

enum  FileMode { READ , WRITE , APPEND }
 
enum  FileAttr { DIRECTORY , HIDDEN , READONLY , INVALID }
 
enum  FindFileFlags
 

Functions

proto native ParseHandle BeginParse (string filename)
 
proto int ParseLine (ParseHandle tp, int num, string tokens[])
 
proto native void EndParse (ParseHandle file)
 
proto bool FileExist (string name)
 Check existence of file.
 
proto FileHandle OpenFile (string name, FileMode mode)
 Opens File.
 
proto int ReadFile (FileHandle file, void param_array, int length)
 
proto void CloseFile (FileHandle file)
 Close the File.
 
proto void FPrint (FileHandle file, void var)
 Write to file.
 
proto void FPrintln (FileHandle file, void var)
 Write to file and add new line.
 
proto int FGets (FileHandle file, string var)
 Get line from file, every next call of this function returns next line.
 
enum FindFileFlags FindFile (string pattern, out string fileName, out FileAttr fileAttributes, FindFileFlags flags)
 
proto bool FindNextFile (FindFileHandle handle, out string fileName, out FileAttr fileAttributes)
 
proto native void CloseFindFile (FindFileHandle handle)
 
proto native bool MakeDirectory (string name)
 Makes a directory.
 
proto native bool DeleteFile (string name)
 delete file. Works only on "$profile:" and "$saves:" locations
 
proto native bool CopyFile (string sourceName, string destName)
 copy file. destName must be "$profile:" or "$saves:" location
 

Detailed Description

Typedef Documentation

◆ FileHandle

typedef int [] FileHandle

◆ FindFileHandle

typedef int [] FindFileHandle

◆ ParseHandle

typedef int [] ParseHandle

Enumeration Type Documentation

◆ FileAttr

enum FileAttr
Enumerator
DIRECTORY 

File is directory.

HIDDEN 

File is hidden.

READONLY 

File is read-only.

INVALID 

Invalid file.

◆ FileMode

enum FileMode
Enumerator
READ 
WRITE 
APPEND 

◆ FindFileFlags

Function Documentation

◆ BeginParse()

proto native ParseHandle BeginParse ( string  filename)

◆ CloseFile()

proto void CloseFile ( FileHandle  file)

Close the File.

Parameters
fileFile handle ID of a opened file
Returns
void
usage :
FileHandle file = OpenFile("$profile:testiik.txt", FileMode.WRITE);
if (file != 0)
{
FPrintln(file, "line1");
FPrintln(file, "line2");
FPrintln(file, "line3");
CloseFile(file);
}
FileMode
Definition EnSystem.c:383
proto void CloseFile(FileHandle file)
Close the File.
proto FileHandle OpenFile(string name, FileMode mode)
Opens File.
int[] FileHandle
Definition EnSystem.c:390
proto void FPrintln(FileHandle file, void var)
Write to file and add new line.

Referenced by Debug::ClearLogs(), PluginRecipesManagerBase::GenerateHumanReadableRecipeList(), GetControlMappingInfo(), UIScriptedMenu::GetControlMappingInfo(), JsonFileLoader< Class T >::JsonLoadFile(), JsonFileLoader< Class T >::JsonSaveFile(), PluginBase::LoadFile(), JsonFileLoader< Class T >::LoadFile(), MissionBenchmark::OnBenchmarkEnd(), ScriptConsoleOutputTab::ReloadOutput(), PluginBase::SaveFile(), JsonFileLoader< Class T >::SaveFile(), Debug::SaveLog(), AutoTestFixture::SaveXMLReport(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ CloseFindFile()

proto native void CloseFindFile ( FindFileHandle  handle)

◆ CopyFile()

proto native bool CopyFile ( string  sourceName,
string  destName 
)

copy file. destName must be "$profile:" or "$saves:" location

Referenced by PluginBase::FileDuplicate().

◆ DeleteFile()

proto native bool DeleteFile ( string  name)

delete file. Works only on "$profile:" and "$saves:" locations

Referenced by PluginBase::FileDelete().

◆ EndParse()

proto native void EndParse ( ParseHandle  file)

◆ FGets()

proto int FGets ( FileHandle  file,
string  var 
)

Get line from file, every next call of this function returns next line.

Parameters
fileFile handle ID of a opened file
varValue to write
Returns
int Count of chars or -1 if is not any for read (end of file is EMPTY line)
usage :
FileHandle file_handle = OpenFile("$profile:testiik.txt", FileMode.READ);
string line_content;
while ( FGets( file_handle, line_content ) > 0 )
{
Print(line_content);
}
CloseFile(file_handle);
proto void Print(void var)
Prints content of variable to console/log.
proto int FGets(FileHandle file, string var)
Get line from file, every next call of this function returns next line.

Referenced by GetControlMappingInfo(), UIScriptedMenu::GetControlMappingInfo(), JsonFileLoader< Class T >::JsonLoadFile(), PluginBase::LoadFile(), and ScriptConsoleOutputTab::ReloadOutput().

◆ FileExist()

◆ FindFile()

◆ FindNextFile()

proto bool FindNextFile ( FindFileHandle  handle,
out string  fileName,
out FileAttr  fileAttributes 
)

◆ FPrint()

proto void FPrint ( FileHandle  file,
void  var 
)

Write to file.

Parameters
fileFile handle ID of a opened file
varValue to write
Returns
void
usage :
FileHandle file = OpenFile("$profile:testiik.txt", FileMode.WRITE);
if (file != 0)
{
FPrint(file, "A");
FPrint(file, "B");
FPrint(file, "C");
CloseFile(file);
}
proto void FPrint(FileHandle file, void var)
Write to file.

Referenced by JsonFileLoader< Class T >::JsonSaveFile(), JsonFileLoader< Class T >::SaveFile(), and AutoTestFixture::SaveXMLReport().

◆ FPrintln()

proto void FPrintln ( FileHandle  file,
void  var 
)

Write to file and add new line.

Parameters
fileFile handle ID of a opened file
varValue to write
Returns
void
usage :
FileHandle file = OpenFile("$profile:testiik.txt", FileMode.WRITE);
if (file != 0)
{
FPrintln(file, "line1");
FPrintln(file, "line2");
FPrintln(file, "line3");
CloseFile(file);
}

Referenced by Debug::ClearLogs(), MissionBenchmark::CreateCSVLog(), MissionBenchmark::FPSLog(), PluginRecipesManagerBase::GenerateHumanReadableRecipeList(), PluginBase::SaveFile(), Debug::SaveLog(), Canvas::SaveToFile(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ MakeDirectory()

◆ OpenFile()

proto FileHandle OpenFile ( string  name,
FileMode  mode 
)

Opens File.

Parameters
nameof a file to open, (you can use filesystem prefixes ('$profile','$saves','$mission'). For accessing profile dir use '$profile', e.g. '$profile:myfilename.txt')
modeconstants FileMode.WRITE, FileMode.READ or FileMode.APPEND flag can be used
Returns
file handle ID or 0 if fails
usage :
FileHandle file = OpenFile("$profile:testiik.txt", FileMode.WRITE);
//FileHandle file = OpenFile("$profile:testiik.txt", FileMode.APPEND);
if (file != 0)
{
FPrintln(file, "line1");
FPrintln(file, "line2");
FPrintln(file, "line3");
CloseFile(file);
}

Referenced by Debug::ClearLogs(), MissionBenchmark::CreateCSVLog(), PluginRecipesManagerBase::GenerateHumanReadableRecipeList(), GetControlMappingInfo(), UIScriptedMenu::GetControlMappingInfo(), JsonFileLoader< Class T >::JsonLoadFile(), JsonFileLoader< Class T >::JsonSaveFile(), PluginBase::LoadFile(), JsonFileLoader< Class T >::LoadFile(), ScriptConsoleOutputTab::ReloadOutput(), PluginBase::SaveFile(), JsonFileLoader< Class T >::SaveFile(), Debug::SaveLog(), Canvas::SaveToFile(), AutoTestFixture::SaveXMLReport(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ ParseLine()

proto int ParseLine ( ParseHandle  tp,
int  num,
string  tokens[] 
)

◆ ReadFile()

proto int ReadFile ( FileHandle  file,
void  param_array,
int  length 
)

Reads raw data from file.

Parameters
param_arrayReceiving array for the data. Valid types are int[] or string
lengthLength of data
Returns
number of read bytes

Referenced by JsonFileLoader< Class T >::LoadFile().