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