📄 csibase.h
字号:
/***********************************************************************
CSDB Library, Free Evaluation Version 2.2.0
Release: June 9th 1997
Header file of the IBASE class.
Database class for fixed length records.
Copyright(c) 1994-1997
ComBits
The Netherlands
***********************************************************************/
#ifndef __CSIBASE_H
#define __CSIBASE_H
#include <csdir.h>
#include <stdio.h>
#include <string.h>
#include "csdlay.h"
#include "cscopton.h"
class IBASE: public DLAY
{
protected:
U16 lenrec;
U16 recpage;
U16 rec_foot;
U16 len_rec_plus_foot;
S32 NUMREC;
S32 lrco;
S32 wrco;
S32 rrco;
S32 cur_rec;
protected:
void check_rec(S32 l);
S32 r2p(S32 rec) { return (1+(rec-1)*len_rec_plus_foot); }
virtual int check_id(U32 id);
virtual void set_id(void);
void init_defaults(void);
void init_vars(void);
void vars2head(void);
void head2vars(void);
////////////////////////////////////////////////////////////////////////
////////////////////// PUBLIC FUNCTIONS ////////////////////////////////
////////////////////////////////////////////////////////////////////////
public:
IBASE(void);
virtual
~IBASE(void);
//////////////////////// Compatibility functions ////////////////////////
void speed_option_121(void) { smallest_page(); }
void smallest_page(void) {}
U16 lengthrec(void) { return length_rec(); }
//////////////////////// Definition //////////////////////////////////////////
int define(csCHAR *name,U16 reclen);
//////////////////////// Open & Close ////////////////////////////////////////
int open(csCHAR *name,S16 kb=32);
int open(void) { return already_open(); }
int close(void);
int save(void);
//////////////////////// Read & Writes records //////////////////////////////
void read_rec( S32 rec, void *d);
void write_rec( S32 rec, void *d);
//////////////////////// Add Records /////////////////////////////////////////
S32 append_rec(void *data);
S32 append_rec(void);
////////////////////////// Inserting ///////////////////////////////////////////
int insert_rec_b(S32 r,void *p); // Before 'r'
int insert_rec_a(S32 r,void *p); // After 'r'
////////////////////////// Deleting ////////////////////////////////////////////
void delet(S32 r);
//////////////////////// Number of Records ///////////////////////////////////
S32 numrec(void) { return NUMREC; }
////////////////////////// Record Length ///////////////////////////////////////
U16 length_rec(void) { return lenrec; }
//////////////////////// Report Writing //////////////////////////////////////
int report(csCHAR *name,int sub=1);
void report(FILE *fipo,int sub);
////////////////////////// Miscellaneous ///////////////////////////////////////
/* Inherited
int background(void)
*/
int pack(void);
int zap(void);
void info(void);
int empty(void);
virtual int class_ID(void) { return CS_CLID_IBASE; }
};
#include "cscoptof.h"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -