⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 block.h

📁 有计算机图形学、图像处理、dbms、sniffer、中游俄罗斯外挂、othello、遗传算法、舌苔分析等程序。
💻 H
字号:
// Block.h: interface for the CBlock class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BLOCK_H__FFBDA8AC_79D4_4609_A6DF_8B608415ED94__INCLUDED_)
#define AFX_BLOCK_H__FFBDA8AC_79D4_4609_A6DF_8B608415ED94__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "DEF.h"
#include "afx.h"
#include "Relationship.h"
#include "Record.h"
#include "DatabaseFile.h"
#include "Update.h"
//溢出块没有表项,record_num==-1

class Record;
/*typedef struct OffsetTerm
{
	//写入文件的偏移量表项有7个字节
	WORD offset;
	BYTE isexist;
	int time;//记录时间戳
	////////////////////////////////////
	Record *r;
    OffsetTerm *next;
	OffsetTerm *prior;
	OffsetTerm(WORD o,BYTE i,int t,Record *rcd,OffsetTerm *n,OffsetTerm *p)
		:offset(o),isexist(i),time(t),r(rcd),next(n),prior(p)
	{}

}*OffsetTable;//写入文件的偏移量表项有7个字节,不包括指针*/

/*typedef struct Space
{
	WORD offset;
	WORD large;
	Space *prior;
	Space *next;
	//Space(WORD o,WORD l):offset(o),large(l)
	{
		prior=next=NULL;
	}
}*SpaceTable;*/

class CBlock : public CMemFile  
{
public:
	//void DeleteRecordNoRet(UINT uOffset,Relatioship *R);
    //Record UpdateRecord(UINT uOffset,CUpdate up,Relationship *R);
	Record *DeleteRecord(UINT uOffset,Relationship *R);
	Record * ReadRecord(UINT offset,Relationship *R);
	BOOL WriteBack();
	PDB ID;
	

	BYTE rtag:4,wtag:4;
	bool view;
    BYTE *Buffer;

    

	BOOL WriteRecord(Record *rcd,UINT uOffset,PDB addr1=0,PDB addr2=0);

	CBlock(UINT nGrowBytes = 1024 );
	CBlock(BYTE* lpBuffer, UINT nBufferSize,PDB db_addr,bool vew,UINT nGrowBytes = 0);
	void ReWrite(WORD offset,Record *r,WORD StartNo
		,WORD EndNo,UINT length,UINT occupy,WORD forward_addr);
	//CBlock *CreateFloodBlock();
	//CBlock *GetFloodBlock(UINT index);
	//int AddOffsetTerm(UINT pri,OffsetTerm *o,bool read_committed);//pri为0表示"插"在最后
    void Attach( BYTE* lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0 );
	//int WriteRecord(Space *s,Record *r);//以外返回UNSUCCESS
	
	int GetTime();

	virtual ~CBlock();
};

#endif // !defined(AFX_BLOCK_H__FFBDA8AC_79D4_4609_A6DF_8B608415ED94__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -