Author Topic: Deleting a line in a file  (Read 447 times)

Title, I'm trying to delete a line using a script, like

function delete()
{
   %file.deleteLine()
}

Or something like that, but I've seen there is no DeleteLine function, can anyone help?

You'd have to rewrite the file and just not write the line you're trying to delete.

I typed of some functions for files a while back:
Code: [Select]
function deleteline(%File,%lineNum)
{
if(!isFile(%File))
{
echo("Could not find file, " @ %file @ ".");
}
else
{
%Fo = new fileobject();
%Fo.OpenForRead(%File);
%i = 0;
while(!%Fo.isEOF())
{

%LN = %i;
%i++;
%Line = %Fo.Readline();
if(%LN != %LineNum)
{
%LineChar[%LN] = %Line;
}
}
%Fo.close();
%Fo.OpenforWrite(%File);
%A = 0;
while(%A < %i)
{
%AN = %A;
if(%AN $= %LineNum)
{
%A++;
%Fo.WriteLine(%LineChar[%A]);
}
else
{
%Fo.WriteLine(%LineChar[%A]);
}
%A++;
}
%Fo.close();
%Fo.delete();
}
}
function GetLineByNum(%File,%Line)
{
%FoG = new fileobject();
%FoG.OpenForRead(%File);
%i = 0;
while(!%FoG.isEof())
{
%Text = %fog.readline();
if(%i $= %Line)
{
%LN = %Text;
}
%i++;
}
return(%LN);
}
function Editline(%File,%Replace,%lineNum)
{
if(!isFile(%File))
{
echo("Could not find file, " @ %file @ ".");
}
else
{
%Fo = new fileobject();
%Fo.OpenForRead(%File);
%i = 0;
while(!%Fo.isEOF())
{
%LN = %i;
%i++;
%Line = %Fo.Readline();
if(%LN != %LineNum)
{
%LineChar[%LN] = %Line;
}
}
%Fo.close();
%Fo.OpenforWrite(%File);
%A = 0;
while(%A < %i)
{
echo("A: " @ %A);
if(%A != %LineNum)
{
%Fo.WriteLine(%LineChar[%A]);
}
else
{
%fo.Writeline(%Replace);
}

%A++;
}
%Fo.close();
%Fo.delete();
}
}
function Dumpfile(%File)
{
if(isFile(%file))
{
%F = new fileobject();
%F.OpenForRead(%File);
while(!%F.isEOF())
{
%Line = %F.Readline();
%LineC = %Line @ " " @ %LineC;
echo(%LineC);
}
%F.Close();
%F.delete();
return(%LineC);
}
else
{
return("-1");
}
}