66 lines
1.4 KiB
C++
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;
|
|
|
|
}
|
|
//******************************************************************************************************************
|