📄 databasefile.h
字号:
// DatabaseFile.h: interface for the CDatabaseFile class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DATABASEFILE_H__79D14798_F1CA_49FB_8516_40B766248D4E__INCLUDED_)
#define AFX_DATABASEFILE_H__79D14798_F1CA_49FB_8516_40B766248D4E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Block.h"
#include "Record.h"
#include "Memory.h"
#include "Relationship.h"
#include "Update.h"
struct Space
{
UINT uOffset;//偏移
UINT uLarge;
Space *next;
Space()
{
}
Space(UINT uo,UINT ul):uOffset(uo),uLarge(ul)
{
next=NULL;
}
};//写入文件八个字节
class Record;
class Relationship;
class CDatabaseFile
{
//魔数4字节
WORD wBlockNum;
UINT end;
UINT start;
UINT NextFile;
public:
UINT ID;
//第一个空闲区偏移UINT
//第一个空闲区大小UINT
//以上占4096字节
Space *sfirst;
Space *slast;
public:
//Record UpdateRecord(PDB db_addr,CUpdate up,Relationship *R);
virtual void Close();
Record *DeleteRecord(PDB db_addr,Relationship *R ,bool bRet);//只能由CBlock负责通知CMemory删除记录号
int GetTime();
//void AddSpace(Space *s);
void InsertSpace(Space *s);
void DeleteSpace(Space *s);
BOOL InsertRecord(Space *s,Record *r/*,Relationship *R*/);//可能要改变文件尾
PDB Allocate(Record *rcd,Relationship *R);
CDatabaseFile();
CDatabaseFile(LPCTSTR lpszFileName, UINT nOpenFlags,UINT id=0);//throw( CFileException );
virtual ~CDatabaseFile();
};
#endif // !defined(AFX_DATABASEFILE_H__79D14798_F1CA_49FB_8516_40B766248D4E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -