utiles_v2017/b_file.cpp

66 lines
1.4 KiB
C++

#include "StdAfx.h"
#include "b_file.h"
//******************************************************************************************************************
Cb_file::Cb_file(void)
{
hfile=INVALID_HANDLE_VALUE;
er=NULL;
}
//******************************************************************************************************************
Cb_file::~Cb_file(void)
{
cierra();
}
//******************************************************************************************************************
BOOL Cb_file::abre( char* path,int modo,BOOL sobre_escri , BOOL shared)
{
int fl;
int fl1;
int fl2=0;
if(shared)
fl2=FILE_SHARE_READ;
if (modo==1)
{
fl=GENERIC_READ;
fl1=OPEN_EXISTING;
}
else if (modo==2)
{
fl=GENERIC_WRITE;
if (sobre_escri)
fl1=CREATE_ALWAYS;
else
fl1=OPEN_ALWAYS;
}
else
{
fl=GENERIC_READ | GENERIC_WRITE;
fl1=OPEN_ALWAYS;
if (sobre_escri)
fl1=CREATE_ALWAYS;
else
fl1=OPEN_ALWAYS;
}
hfile = CreateFile(path, fl, fl2, NULL,
fl1, FILE_ATTRIBUTE_NORMAL, 0);
if (hfile == INVALID_HANDLE_VALUE)
{
if (er)
er->pon_win("Cb_file");
return FALSE;
}
return TRUE;
}
//******************************************************************************************************************
QWORD Cb_file::size()
{
if (!irAini())
return 0;
if (!irAfin())
return 0;
return dw;
}
//******************************************************************************************************************