campo-sirio/include/syscursor.cpp

51 lines
885 B
C++
Executable File

#include <syscursor.h>
#include <extcdecl.h>
///////////////////////////////////////////////////////////
// TSystem_cursor
///////////////////////////////////////////////////////////
void TSystem_cursor::mark_deleted(bool deleted)
{
const TRecnotype nitem = items();
for (operator=(0); pos() < nitem; operator++())
{
const TRecnotype nrec = readrec();
if (deleted && curr().valid())
{
curr().discard();
CWrite(&file()->filehnd()->f, curr().string(), nrec, _nolock);
}
else
if (curr().isdeleted())
{
curr().recall();
CWrite(&file()->filehnd()->f, curr().string(), nrec, _nolock);
}
}
}
TSystem_cursor::~TSystem_cursor()
{
TLocalisamfile* f = file();
const int num = f->num();
f->close();
{
TSystemisamfile s(num);
s.packfile();
}
f->open();
}
// *** EOF syscursor.cpp