51 lines
885 B
C++
Executable File
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
|
|
|