T2-BoL/scripts/modscripts/shared/fileProcessing.cs

81 lines
1.8 KiB
PHP
Raw Permalink Normal View History

2012-07-27 21:22:05 +00:00
// -----------------------------------------------------
// fileProcessing.cs
2012-07-27 21:22:05 +00:00
// Basic file functions
// Copyright (c) 2012 The DarkDragonDX
2012-07-27 21:22:05 +00:00
// -----------------------------------------------------
function getFileBuffer(%file)
{
if (!IsFile(%file))
2012-08-18 00:48:47 +00:00
return -1;
2012-07-27 21:22:05 +00:00
new FileObject(FileBuffer);
FileBuffer.openForRead(%file);
2012-07-27 21:22:05 +00:00
while (!FileBuffer.isEOF())
2012-08-18 00:48:47 +00:00
%buffer = %buffer @ FileBuffer.readLine() @ "\n";
FileBuffer.detach();
return %buffer; //Long string. >.>
2012-07-27 21:22:05 +00:00
}
function getLine(%file, %line)
{
if (!IsFile(%file))
2012-08-18 00:48:47 +00:00
return -1;
2012-07-27 21:22:05 +00:00
new FileObject(FileLine);
FileLine.openForRead(%file);
2012-07-27 21:22:05 +00:00
for (%i = 0; %i < %line; %i++)
%line = FileLine.readLine();
FileLine.detach();
return %line;
2012-07-27 21:22:05 +00:00
}
function getLine(%file, %line)
{
if (!IsFile(%file))
2012-08-18 00:48:47 +00:00
return -1;
2012-07-27 21:22:05 +00:00
new FileObject(FileLine);
FileLine.openForRead(%file);
2012-07-27 21:22:05 +00:00
for (%i = 0; %i < %line; %i++)
%line = FileLine.readLine();
FileLine.detach();
return %line;
2012-07-27 21:22:05 +00:00
}
2012-08-18 00:48:47 +00:00
// Returns an unsorted list of the contents of %dir (including folders)
function getDirectory(%dir)
{
%array = Array.create();
%fileCount = 0;
for( %file = findFirstFile( %dir @ "*.*" ); %file !$= ""; %file = findNextFile( %dir @ "*.*" ) )
{
%file = strReplace(%file, %socket.request, "");
if (strStr(%file, "/") != -1)
{
%dir = getSubStr(%file, 0, strStr(%file, "/")) @ "/";
if (!%dirAdded[%dir])
{
%data = %data @ "<a href=\"" @ strReplace(%dir, " ","%20") @ "\">" @ %dir @ "</a><br>\n";
%dirAdded[%dir] = true;
}
}
else
%data = %data @ "<a href=\"" @ strReplace(%file, " ", "%20") @ "\">" @ %file @ "</a><br>\n";
}
return %array;
}
2012-07-27 21:22:05 +00:00
// -----------------------------------------------------
// Bound Functions
// -----------------------------------------------------
function fileObject::Detach(%this) //Detaches fileObject from file & deletes
{
%this.close();
%this.delete();
return %this;
2012-07-27 21:22:05 +00:00
}